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

DECLARE FUNCTION JD! (Y%, M%, DT!)
DECLARE FUNCTION WeekDay! (Y%, M%, D%)
REM Определение дня недели
CLS
INPUT "Задайте год григорианского календаря : ", Y%
INPUT "Задайте месяц григорианского календаря : ", M%
INPUT "Задайте день : ", D%
PRINT "день недели = "; WeekDay(Y%, M%, D%)
END

FUNCTION JD (Y%, M%, DT)
  DIM a AS INTEGER, b AS INTEGER, mm AS INTEGER, yy AS INTEGER
  DIM c AS LONG
  b = 0
  yy = Y%
  mm = M%
  IF M% < 3 THEN yy = yy - 1: mm = mm + 12
  a = yy \ 100
  IF Y% + M% / 100! + DT / 10000 > 1582.1015# THEN
     b = b + 2 - a + a \ 4
  END IF
  c = INT(365.25 * yy)
  IF yy < 0 THEN c = INT(365.25 * yy - .75)
  JD = c + INT(30.6001 * (mm + 1)) + DT + 1720994.5# + b
END FUNCTION

FUNCTION WeekDay (Y%, M%, D%)
' Определение дня недели
' Y - григорианский год
' M - григорианский месяц (1 - 12)
' D - день (1 - 31)
' Возвращаемое значение :
' 0 - воскр., 1 - понед., 2 - вторник,...
  WeekDay = INT(JD(Y%, M%, D% + 1.5)) MOD 7
END FUNCTION