Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<h1>COBOL, 1262 chars</h1> <pre><code>WORKING-STORAGE SECTION. 01 V-YEAR PIC S9(04) VALUE 2010. 01 V-DAY PIC S9(02) VALUE ZERO. 01 V-EASTERDAY PIC S9(04) VALUE ZERO. 01 V-CENTURY PIC S9(02) VALUE ZERO. 01 V-GOLDEN PIC S9(04) VALUE ZERO. 01 V-GREGORIAN PIC S9(04) VALUE ZERO. 01 V-CLAVIAN PIC S9(04) VALUE ZERO. 01 V-FACTOR PIC S9(06) VALUE ZERO. 01 V-EPACT PIC S9(06) VALUE ZERO. PROCEDURE DIVISION XX-CALCULATE EASTERDAY. COMPUTE V-CENTURY = (V-YEAR / 100) + 1 COMPUTE V-GOLDEN= FUNCTION MOD(V-YEAR, 19) + 1 COMPUTE V-GREGORIAN = (V-CENTURY * 3) / 4 - 12 COMPUTE V-CLAVIAN = (V-CENTURY * 8 + 5) / 25 - 5 - V-GREGORIAN COMPUTE V-FACTOR = (V-YEAR * 5) / 4 - V-GREGORIAN - 10 COMPUTE V-EPACT = FUNCTION MOD((V-GOLDEN * 11 + 20 + V-CLAVIAN), 30) IF V-EPACT = 24 ADD 1 TO V-EPACT ELSE IF V-EPACT = 25 IF V-GOLDEN &gt; 11 ADD 1 TO V-EPACT END-IF END-IF END-IF COMPUTE V-DAY = 44 - V-EPACT IF V-DAY &lt; 21 ADD 30 TO V-DAY END-IF COMPUTE V-DAY = V-DAY + 7 - (FUNCTION MOD((V-DAY + V-FACTOR), 7)) IF V-DAY &lt;= 31 ADD 300 TO V-DAY GIVING V-EASTERDAY ELSE SUBTRACT 31 FROM V-DAY ADD 400 TO V-DAY GIVING V-EASTERDAY END-IF . XX-EXIT. EXIT. </code></pre> <p>Note: Not mine, but I like it</p> <p><em>EDIT: I added a char count with spaces but I don't know how spacing works in COBOL so I didn't change anything from original. ~vlad003</em></p> <p><strong>UPDATE:</strong> I've found where the OP got this code: <a href="http://www.tek-tips.com/viewthread.cfm?qid=31746&amp;page=112" rel="nofollow noreferrer">http://www.tek-tips.com/viewthread.cfm?qid=31746&amp;page=112</a>. I'm just putting this here because the author deserves it. ~vlad003</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload