RosettaCodeData/Task/Long-year/BBC-BASIC/long-year.basic

21 lines
646 B
Plaintext

INSTALL @lib$ + "DATELIB"
REM The function as per specification.
DEF FNLongYear(year%)=FN_dow(FN_mjd(1, 1, year%)) == 4 OR FN_dow(FN_mjd(31, 12, year%)) == 4
REM Demonstrating its use.
PROCPrintLongYearsInCentury(20)
PROCPrintLongYearsInCentury(21)
PROCPrintLongYearsInCentury(22)
END
DEF PROCPrintLongYearsInCentury(century%)
LOCAL year%, start%
start%=century% * 100 - 100
PRINT "The long years between ";start% " and ";start% + 100 " are ";
FOR year%=start% TO start% + 99
IF FNLongYear(year%) PRINT STR$year% + " ";
NEXT
PRINT
ENDPROC