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}}== |