Price fraction: Difference between revisions

Content added Content deleted
(Nimrod -> Nim)
Line 774: Line 774:
0.9
0.9
0.5</pre>
0.5</pre>
=={{header|Eiffel}}==
<lang Eiffel>
note
description: "additional_Rosetta_2 application root class"
date: "$Date$"
revision: "$Revision$"

class
APPLICATION

inherit

ARGUMENTS

create
make

feature

make
--Tests the price_adjusted feature.
local
i: REAL
do
initialize
from
i := 5
until
i = 100
loop
io.put_string ("Given: ")
io.put_real (i / 100)
io.put_string ("%TAdjusted:")
io.put_real (price_adjusted (i / 100))
io.new_line
i := i + 5
end
end

price_adjusted (n: REAL): REAL
-- Adjusted price according to the given price values.
local
i: INTEGER
found: BOOLEAN
do
from
i := 1
until
i > limit.count or found = TRUE
loop
if n <= limit [i] then
RESULT := (price [i])
found := TRUE
end
i := i + 1
end
end

initialize
-- Initializes limit and price to the given values.
do
limit := <<0.06, 0.11, 0.16, 0.21, 0.26, 0.31, 0.36, 0.41, 0.46, 0.51, 0.56, 0.61, 0.66, 0.71, 0.76, 0.81, 0.86, 0.91, 0.96, 1.01>>
price := <<0.10, 0.18, 0.26, 0.32, 0.38, 0.44, 0.50, 0.54, 0.58, 0.62, 0.66, 0.70, 0.74, 0.78, 0.81, 0.86, 0.90, 0.94, 0.98, 1.00>>
end

limit: ARRAY [REAL]

price: ARRAY [REAL]

end
</lang>
{{out}}
<pre>
Given: 0.05 Adjusted:0.1
Given: 0.1 Adjusted:0.18
Given: 0.15 Adjusted:0.26
Given: 0.2 Adjusted:0.32
Given: 0.25 Adjusted:0.38
Given: 0.3 Adjusted:0.44
Given: 0.35 Adjusted:0.5
Given: 0.4 Adjusted:0.54
Given: 0.45 Adjusted:0.58
Given: 0.5 Adjusted:0.62
Given: 0.55 Adjusted:0.66
Given: 0.6 Adjusted:0.7
Given: 0.65 Adjusted:0.74
Given: 0.7 Adjusted:0.78
Given: 0.75 Adjusted:0.81
Given: 0.8 Adjusted:0.86
Given: 0.85 Adjusted:0.9
Given: 0.9 Adjusted:0.94
Given: 0.95 Adjusted:0.98
</pre>


=={{header|Erlang}}==
=={{header|Erlang}}==