// Demonstrate Zellers Congruence // Calculates the day (name) for a given date DIM weekdays$(7) FOR i = 0 TO 6 CYCLE READ weekdays$(i) REPEAT PRINT "Weekday calculator" INPUT "Day ? ", day INPUT "Month ? ", month INPUT "Year ? ", year weekday = FN zeller(day, month, year) PRINT day; "/"; month; "/"; year; " is "; weekdays$(weekday) END DEF FN zeller(day, month, year) LOCAL t1, t2, t3, t4 IF month < 3 THEN year = year - 1 month = month + 12 ENDIF t1 = INT (((month + 1) * 26) / 10) t2 = INT (year / 4) t3 = INT (year / 100) t4 = INT (year / 400) = (day + t1 + year + t2 + 6 * t3 + t4) MOD 7 DATA "Saturday", "Sunday", "Monday", "Tuesday" DATA "Wednesday", "Thursday", "Friday"