RosettaCodeData/Task/Map-range/Prolog/map-range.pro

11 lines
286 B
Prolog
Raw Permalink Normal View History

2026-04-30 12:34:36 -04:00
% map_range(+S, +A1, +A2, +B1, +B2, -R)
map_range(S, A1, A2, B1, B2, R) :-
R is B1 + (S - A1) * (B2 - B1) / (A2 - A1).
% bucle principal
run :-
forall(between(0, 10, I),
( map_range(I, 0, 10, -1, 0, R),
format("~w maps to ~1f~n", [I, R])
)).