Classic Computer Magazine Archive COMPUTE! ISSUE 95 / APRIL 1988 / PAGE 74

Movable Feasts: Calculating Easter

Jim Butterfield, Contributing Editor

Planning a Mardi Gras celebration for the year 2000? You'll need this program, which finds the dates for those spring holidays that fall on different days each year. Although the program is written in Amiga Basic, it may be easily translated to other BASICs.

From the Book of Common Prayer, Church of England, 1910:

To find the Golden Number, of Prime, add One to the Year of our Lord, and then divide by 19; the Remainder, if any, is the Golden Number; but if nothing remaineth, then 19 is the Golden Number.

To find the Dominical or Sunday Letter, according to the Calendar, until the Year 2099 inclusive, add to the Year of our Lord its Fourth Part, omitting Fractions, and also the Number 6: Divide the Sum by 7; and if there is no Remainder, then A is the Dominical Letter; But if any Number remaineth, then the Letter standing against that Number in the small annexed Table, is the Dominical Letter….

When I read this, I have an image of missionaries in far lands, out of touch with the mainstream of civilization, turning to their prayer books and carefully working through the dates of the sacred holidays. As they looked at the procedures and tables, they may have wondered just how far ahead the Church planned—amazingly, the complete set of tables extends to the year 8500.

The method of calculation is well spelled out and involves several alternative methods. The program accompanying this article is good for the years from 1900 to 2099.

Finding Easter

Easter is often thought of as the first Sunday following the first full moon after the spring equinox. Actually, it's somewhat more complex than that. Fortunately, the calculation of Easter's date has been standardized for so long that there is little danger of confusion.

Several other dates depend on Easter. Shrove Tuesday (also known as Pancake Tuesday, Fat Tuesday, or Mardi Gras) is the last day before Lent. The first day of Lent is known as Ash Wednesday. Good Friday is two days before Easter Sunday. Seven weeks after Easter is a lesser-known event called Whitsunday, or Pentecost. It seems that it doesn't get too much attention in England these days, but I did discover that every year near this date, the gypsies in Britain head for a gathering at Appleby Bridge in northern England. They still do this, with caravans, ponies, and all the trappings.

If you wish to compare the program (I used Amiga Basic, but you shouldn't have much trouble converting the program to other related dialects) to the formal description, you'll find that the variable G is used as the Golden Number, and the variable D is the Dominical Letter (actually a number from 0 to 6 rather than a letter from A to G).

The program uses the MOD operator to calculate remainders. However, there's an oddity to the MOD function that must be allowed for: It doesn't give the correct answer if the number is negative. For example, Amiga Basic says that -12 mod 7 is -12. If you examine the code, you'll see that I add 700 to the number to ensure that it's positive. (Editor's note: The latest version of Amiga Basic returns the correct answer -12 mod 7 = -5.)

You can use this program as it stands to find Easter for any given year. If you're ambitious, you can incorporate it into your own calendar program.