IDENTIFICATIONDIVISION. * PROGRAM-ID. EASTER. * DATE-WRITTEN. 08/30/98. * * Calculate Date of Easter. * * ******************************* * * * * * Judson D. McClendon * * * Sun Valley Systems * * * 4522 Shadow Ridge Pkwy * * * Pinson, AL 35126-2192 * * * 205-680-0460 * * * * * ******************************* * ENVIRONMENTDIVISION. * DATADIVISION. * WORKING-STORAGESECTION. * * * ****************************************************************** * * * E A S T E R W O R K A R E A * * * ****************************************************************** * 01 EASTER-WORK-AREA. 03 EW-DATE PIC9(08) VALUE ZEROS. 03 EW-DATE-X REDEFINES EW-DATE. 05 EW-YEAR PIC9(04). 05 EW-MONTH PIC9(02). 05 EW-DAY PIC9(02). 03 EW-GOLDEN-NBR PIC9(06). 03 EW-CENT PIC9(03). 03 EW-LEAP-CENT PIC9(06). 03 EW-LUNAR-CORR PIC9(08). 03 EW-SUNDAY-CORR PIC9(08). 03 EW-EPACT PIC9(08). 03 EW-FULL-MOON PIC9(08). 03 EW-WORK1 PIC9(08). 03 EW-WORK2 PIC9(08). 03 EW-MONTH-NAMES VALUE "JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC". 05 EW-MONTH-NAME OCCURS12 TIMES PIC X(03). * PROCEDUREDIVISION. * * 000000-CONTROL. * DISPLAY"ENTER YEAR FOR EASTER". ACCEPT EW-YEAR. * PERFORM001000-EASTER-CALC
THRU 001000-EXIT. * DISPLAY"EASTER FALLS ON "
EW-MONTH-NAME(EW-MONTH) " "
EW-DAY. * 000000-EXIT. STOPRUN. * * * ****************************************************************** * * * E A S T E R C A L C * * * * * * CALCULATES THE DATE OF EASTER FOR ANY DATE IN THE * * GREGORIAN CALENDAR. * * * * USAGE: MOVE <EASTER YEAR> TO EW-YEAR. * * PERFORM 001000-EASTER-CALC * * THRU 001000-EXIT. * * * * RESULT: EW-DATE = DATE OF EASTER IN YYYYMMDD FORM. * * * ****************************************************************** * 001000-EASTER-CALC. * **** COMPUTE EW-GOLDEN-NBR = **** FUNCTION REM (EW-YEAR, 19) + 1. DIVIDE19INTO EW-YEAR GIVING EW-WORK1 REMAINDER EW-GOLDEN-NBR. ADD1TO EW-GOLDEN-NBR. * COMPUTE EW-CENT =
(EW-YEAR / 100) + 1. * COMPUTE EW-LEAP-CENT =
((3 * EW-CENT) / 4) - 12. * COMPUTE EW-LUNAR-CORR =
((8 * EW-CENT + 5) / 25) - 5. * COMPUTE EW-SUNDAY-CORR =
((5 * EW-YEAR) / 4) - EW-LEAP-CENT - 10. * **** COMPUTE EW-EPACT = **** FUNCTION REM ((11 * EW-GOLDEN-NBR + 20 **** + EW-LUNAR-CORR - EW-LEAP-CENT), 30). COMPUTE EW-EPACT = 11 * EW-GOLDEN-NBR + 20 + EW-LUNAR-CORR - EW-LEAP-CENT. DIVIDE30INTO EW-EPACT GIVING EW-WORK1 REMAINDER EW-EPACT. * IF (EW-EPACT = 24) OR
( (EW-EPACT = 25) AND
(EW-GOLDEN-NBR > 11) ) ADD1TO EW-EPACT. * COMPUTE EW-FULL-MOON = 44 - EW-EPACT. IF (EW-FULL-MOON < 21) ADD30TO EW-FULL-MOON. * **** COMPUTE EW-DAY = **** EW-FULL-MOON + 7 **** - FUNCTION REM ((EW-SUNDAY-CORR + EW-FULL-MOON), 7). ADD EW-SUNDAY-CORR EW-FULL-MOON GIVING EW-WORK1. DIVIDE7INTO EW-WORK1 GIVING EW-WORK2 REMAINDER EW-WORK1. COMPUTE EW-DAY =
EW-FULL-MOON + 7 - EW-WORK1. * IF (EW-DAY > 31) MOVE4TO EW-MONTH SUBTRACT31FROM EW-DAY ELSE MOVE3TO EW-MONTH. MOVE EW-YEAR TO EW-YEAR. * 001000-EXIT. EXIT.
Messung V0.5 in Prozent
¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.10Angebot
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-06-15)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.