home *** CD-ROM | disk | FTP | other *** search
- 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
-