Price fraction: Difference between revisions

Content added Content deleted
(Added solution for Action!)
Line 64: Line 64:
0.90 0.94
0.90 0.94
1.00 1.00
1.00 1.00
</pre>

=={{header|Action!}}==
<lang Action!>DEFINE COUNT="20"
BYTE ARRAY levels=[6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101]
BYTE ARRAY values=[10 18 26 32 38 44 50 54 58 62 66 70 74 78 82 86 90 94 98 100]

PROC PrintValue(BYTE v)
PrintB(v/100) Put('.)
v=v MOD 100
PrintB(v/10)
v=v MOD 10
PrintB(v)
RETURN

BYTE FUNC Map(BYTE v)
BYTE i

FOR i=0 TO COUNT-1
DO
IF v<levels(i) THEN
RETURN (values(i))
FI
OD
RETURN (v)

PROC Main()
BYTE i,v

FOR i=0 TO 100
DO
v=Map(i)
PrintValue(v)
IF i MOD 5=4 THEN
PutE()
ELSE
Put(' )
FI
OD
RETURN</lang>
{{out}}
[https://gitlab.com/amarok8bit/action-rosetta-code/-/raw/master/images/Price_fraction.png Screenshot from Atari 8-bit computer]
<pre>
0.10 0.10 0.10 0.10 0.10
0.10 0.18 0.18 0.18 0.18
0.18 0.26 0.26 0.26 0.26
0.26 0.32 0.32 0.32 0.32
0.32 0.38 0.38 0.38 0.38
0.38 0.44 0.44 0.44 0.44
0.44 0.50 0.50 0.50 0.50
0.50 0.54 0.54 0.54 0.54
0.54 0.58 0.58 0.58 0.58
0.58 0.62 0.62 0.62 0.62
0.62 0.66 0.66 0.66 0.66
0.66 0.70 0.70 0.70 0.70
0.70 0.74 0.74 0.74 0.74
0.74 0.78 0.78 0.78 0.78
0.78 0.82 0.82 0.82 0.82
0.82 0.86 0.86 0.86 0.86
0.86 0.90 0.90 0.90 0.90
0.90 0.94 0.94 0.94 0.94
0.94 0.98 0.98 0.98 0.98
0.98 1.00 1.00 1.00 1.00
1.00
</pre>
</pre>