59 lines
1.4 KiB
Text
59 lines
1.4 KiB
Text
FUNCTION pricefraction(price)
|
|
!returns price unchanged if invalid value
|
|
SELECT CASE price
|
|
CASE IS < 0
|
|
LET pricefraction = price
|
|
CASE IS < .06
|
|
LET pricefraction = .1
|
|
CASE IS < .11
|
|
LET pricefraction = .18
|
|
CASE IS < .16
|
|
LET pricefraction = .26
|
|
CASE IS < .21
|
|
LET pricefraction = .32
|
|
CASE IS < .26
|
|
LET pricefraction = .38
|
|
CASE IS < .31
|
|
LET pricefraction = .44
|
|
CASE IS < .36
|
|
LET pricefraction = .5
|
|
CASE IS < .41
|
|
LET pricefraction = .54
|
|
CASE IS < .46
|
|
LET pricefraction = .58
|
|
CASE IS < .51
|
|
LET pricefraction = .62
|
|
CASE IS < .56
|
|
LET pricefraction = .66
|
|
CASE IS < .61
|
|
LET pricefraction = .7
|
|
CASE IS < .66
|
|
LET pricefraction = .74
|
|
CASE IS < .71
|
|
LET pricefraction = .78
|
|
CASE IS < .76
|
|
LET pricefraction = .82
|
|
CASE IS < .81
|
|
LET pricefraction = .86
|
|
CASE IS < .86
|
|
LET pricefraction = .9
|
|
CASE IS < .91
|
|
LET pricefraction = .94
|
|
CASE IS < .96
|
|
LET pricefraction = .98
|
|
CASE IS < 1.01
|
|
LET pricefraction = 1
|
|
CASE ELSE
|
|
LET pricefraction = price
|
|
END SELECT
|
|
END FUNCTION
|
|
|
|
RANDOMIZE
|
|
FOR i = 1 TO 100
|
|
LET d = RND
|
|
PRINT USING "#.##": d;
|
|
PRINT " -> ";
|
|
PRINT USING "#.## ": pricefraction(d);
|
|
IF REMAINDER(i,5) = 0 THEN PRINT
|
|
NEXT i
|
|
END
|