Procedure.f getDifference (b1.f, b2.f) r.f = Mod((b2 - b1), 360) If r >= 180: r - 360 EndIf PrintN(StrF(b1) + #TAB$ + StrF(b2) + #TAB$ + StrF(r)); EndProcedure If OpenConsole() PrintN("Input in -180 to +180 range:") getDifference(20.0, 45.0) getDifference(-45.0, 45.0) getDifference(-85.0, 90.0) getDifference(-95.0, 90.0) getDifference(-45.0, 125.0) getDifference(-45.0, 145.0) getDifference(-45.0, 125.0) getDifference(-45.0, 145.0) getDifference(29.4803, -88.6381) getDifference(-78.3251, -159.036) PrintN(#CRLF$ + "Input in wider range:") getDifference(-70099.74233810938, 29840.67437876723) getDifference(-165313.6666297357, 33693.9894517456) getDifference(1174.8380510598456, -154146.66490124757) getDifference(60175.77306795546, 42213.07192354373) Repeat: Until Inkey() <> "" EndIf