27 lines
853 B
Plaintext
27 lines
853 B
Plaintext
# Rosetta Code problem: http://rosettacode.org/wiki/Angle_difference_between_two_bearings
|
|
# by Jjuanhdez, 06/2022
|
|
|
|
print "Input in -180 to +180 range:"
|
|
call getDifference(20.0, 45.0)
|
|
call getDifference(-45.0, 45.0)
|
|
call getDifference(-85.0, 90.0)
|
|
call getDifference(-95.0, 90.0)
|
|
call getDifference(-45.0, 125.0)
|
|
call getDifference(-45.0, 145.0)
|
|
call getDifference(-45.0, 125.0)
|
|
call getDifference(-45.0, 145.0)
|
|
call getDifference(29.4803, -88.6381)
|
|
call getDifference(-78.3251, -159.036)
|
|
print
|
|
print "Input in wider range:"
|
|
call getDifference(-70099.74233810938, 29840.67437876723)
|
|
call getDifference(-165313.6666297357, 33693.9894517456)
|
|
call getDifference(1174.8380510598456, -154146.66490124757)
|
|
end
|
|
|
|
subroutine getDifference(b1, b2)
|
|
r = (b2 - b1) mod 360
|
|
if r >= 180.0 then r -= 360.0
|
|
print ljust(b1,16); ljust(b2,16); ljust(r,12)
|
|
end subroutine
|