PROGRAM TEST INTEGER DATE, MONTH, YEAR, DOW, DAY YEAR = 1989 DO 10 MONTH = 1, 12, 1 DO 10 DATE = 1, 31, 1 DAY = DOW(DATE, MONTH, YEAR) WRITE(5,20)MONTH, DATE, YEAR, DAY 10 CONTINUE 20 FORMAT(1X, 4I) STOP END C C DOW COMPUTES THE DAY OF THE WEEK BASED UPON THE GIVEN DATE, C MONTH AND YEAR. IT USES THE ZELLER CONGRUENCE ALGORITHIM. C DATE IS THE DAY OF THE MONTH, 1 - 31 C MONTH IS THE MONTH OF THE YEAR, 1 - 12 C YEAR IS THE YEAR, E.G., 1989 C IT RETURNS 1 FOR SUNDAY, 2 FOR MONDAY, ETC. C INTEGER FUNCTION DOW(DATE, MONTH, YEAR) INTEGER DATE, MONTH, YEAR INTEGER DAY, YR, MN YR = YEAR MN = MONTH C C IF JANUARY OR FEBRUARY, ADJUST MONTH AND YEAR C IF (MN.GT.2)GO TO 10 MN = MN + 12 YR = YR - 1 10 N1 = (26 * (MN + 1)) / 10 N2 = (125 * YR) / 100 DAY = (DATE + N1 + N2 - (YR / 100) + (YR / 400) - 1) DOW = MOD(DAY, 7) + 1 RETURN END