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.