RosettaCodeData/Task/Map-range/Free-Pascal-Lazarus/map-range-1.pas

14 lines
360 B
ObjectPascal

Program Map(output);
function MapRange(fromRange, toRange: array of real; value: real): real;
begin
MapRange := (value - fromRange[0]) * (toRange[1] - toRange[0]) /
(fromRange[1] - fromRange[0]) + toRange[0];
end;
var
i: integer;
begin
for i := 0 to 10 do
writeln(i: 2, ' maps to: ', MapRange([0.0, 10.0], [-1.0, 0.0], i): 5: 2);
end.