REM Demo implementing Zeller's Congruence REM http://en.wikipedia.org/wiki/Zeller_congruence REM REM Taken from the zeller example of BaCon. REM PvE, August 2014 - GPL. FLOAT q, m, J, K, h, day STRING data, year PRINT "Enter day of the month (1-31): " INPUT data LET q = VAL(data) IF q > 31 OR q < 1 THEN PRINT "Day must be within 1-31!" END ENDIF PRINT "Enter month (1-12): " INPUT data LET m = VAL(data) IF m > 12 OR m < 1 THEN PRINT "Month must be within 1-12!" END ENDIF PRINT "Enter year: " INPUT year LET J = VAL(LEFT(year, 2)) LET K = VAL(MID(year, 3, 2)) IF m == 1 OR m == 2 THEN LET m = m + 12 DECR K ENDIF LET h = (q + ((m+1)*26)/10 + K + (K/4) + (J/4) + 5*J) LET day = MOD(h, 7) IF day == 0 THEN PRINT "That is a Saturday.\n" ELIF day == 1 THEN PRINT "That is a Sunday.\n" ELIF day == 2 THEN PRINT "That is a Monday.\n" ELIF day == 3 THEN PRINT "That is a Tuesday.\n" ELIF day == 4 THEN PRINT "That is a Wednesday.\n" ELIF day == 5 THEN PRINT "That is a Thursday.\n" ELIF day == 6 THEN PRINT "That is a Friday.\n" ENDIF
Return to M4BASIC