32 lines
1.1 KiB
Text
32 lines
1.1 KiB
Text
$ include "seed7_05.s7i";
|
|
include "float.s7i";
|
|
|
|
const func float: getDifference (in float: b1, in float: b2) is func
|
|
result
|
|
var float: difference is 0.0;
|
|
begin
|
|
difference := (b2 - b1) mod 360.0;
|
|
if difference > 180.0 then
|
|
difference -:= 360.0;
|
|
end if;
|
|
end func;
|
|
|
|
const proc: main is func
|
|
begin
|
|
writeln("Input in -180 to +180 range");
|
|
writeln(getDifference(20.0, 45.0));
|
|
writeln(getDifference(-45.0, 45.0));
|
|
writeln(getDifference(-85.0, 90.0));
|
|
writeln(getDifference(-95.0, 90.0));
|
|
writeln(getDifference(-45.0, 125.0));
|
|
writeln(getDifference(-45.0, 145.0));
|
|
writeln(getDifference(-45.0, 125.0));
|
|
writeln(getDifference(-45.0, 145.0));
|
|
writeln(getDifference(29.4803, -88.6381));
|
|
writeln(getDifference(-78.3251, -159.036));
|
|
writeln("Input in wider range");
|
|
writeln(getDifference(-70099.74233810938, 29840.67437876723));
|
|
writeln(getDifference(-165313.6666297357, 33693.9894517456));
|
|
writeln(getDifference(1174.8380510598456, -154146.66490124757));
|
|
writeln(getDifference(60175.77306795546, 42213.07192354373));
|
|
end func;
|