Примеры программ на языке QBASIC

DECLARE SUB GD (jd!, y%, m%, DT!)
REM  Преобразование юлианской даты JD в дату григорианского
REM  календаря - Y (год), M (месяц),
REM  DT (день и часть времени, прошедшую от начала суток
CLS
INPUT "Задайте юлианскую дату : ", jd
GD jd, y%, m%, DT
PRINT USING "год = ##### месяц = ## день и время = ###.#"; y%; m%; DT
END

SUB GD (jd, y%, m%, DT)
' Восстановление даты григорианского календаря
' по юлианской дате jd. Результаты заносятся в
' y% - год
' m% - месяц
' dt - день (целая часть) и время дня (дробная часть)
DIM A AS LONG, B AS LONG, C AS LONG, D AS LONG, Z AS LONG
DIM aa AS LONG, E AS INTEGER, F AS DOUBLE
  Z = INT(jd + .5)
  F = jd + .5 - Z
  A = Z
  IF Z >= 2299161 THEN
     aa = INT((Z - 1867216.25#) / 36524.25)
     A = A + 1 + aa - (aa \ 4)
  END IF
  B = A + 1524
  C = INT((B - 122.1) / 365.25)
  D = INT(365.25 * C)
  E = INT((B - D) / 30.6001)
  DT = B - D - INT(30.6001 * E) + F
  IF E < 13.5 THEN m% = E - 1 ELSE m% = E - 13
  IF m% > 2.5 THEN y% = C - 4716 ELSE y% = C - 4715
END SUB