Metodi algoritmici per il calcolo della Pasqua

Un algoritmo per il calcolo della data della Pasqua nel calendario giuliano

Riportiamo di seguito un algoritmo facile da implementare su qualunque calcolatore elettronico in qualunque linguaggio di programmazione per il calcolo della data della Pasqua per un anno giuliano A:

  1. a = mod4[A]
  2. b = mod7[A]
  3. c = mod19[A]
  4. d = mod30[19 * c + 15]
  5. e = mod7[2 * a + 4 * b – d + 34]
  6. f = d + e + 114
  7. M = int[f / 31]
  8. G = mod31[f] + 1

Il numero del mese in cui cade la Pasqua è dato da M (può valere 3 o 4 rispettivamente per marzo o aprile), mentre G è il numero del giorno del mese in cui cade la Pasqua.

Ad esempio, se il 1990 fosse stato un anno giuliano, la Pasqua sarebbe caduta il 2 aprile, infatti si ha: a = 2, b = 2, c = 14, d = 11, e = 0, f = 125, M = 4, G = 2. Questa è la data della Pasqua celebrata dai cristiani ortodossi; per la Chiesa cattolica, invece, il 1990 fu un anno gregoriano e la Pasqua cadde, come si vedrà, il 15 aprile.

Un algoritmo per il calcolo della data della Pasqua nel calendario gregoriano

Riportiamo di seguito un algoritmo facile da implementare su qualunque calcolatore elettronico in qualunque linguaggio di programmazione per il calcolo della data della Pasqua per un anno gregoriano A:

  1. a = mod19[A]
  2. b = int[A / 100]
  3. c = mod100[A]
  4. d = int[b / 4]
  5. e = mod4[b]
  6. f = int[(b + 8) / 25]
  7. g = int[(b – f + 1) / 3]
  8. h = mod30[19 * a + b – d – g + 15]
  9. i = int[c / 4]
  10. j = mod4[c]
  11. k = mod7[32 + 2 * e + 2 * i – h – j]
  12. l = int[(a + 11 * h + 22 * k) / 451]
  13. M = int[(h + k – 7 * l + 114) / 31]
  14. G = mod31[h + k – 7 * l + 114] + 1

Il numero del mese in cui cade la Pasqua è dato da M (può valere 3 o 4 rispettivamente per marzo o aprile), mentre G è il numero del giorno del mese in cui cade la Pasqua.

Come esempi si vogliono calcolare le date della Pasqua negli anni 1990, 1998, 2004 e 2005. I risultati del calcolo portano a ritrovare che:

  • a = 14, b = 19, c = 90, d = 4, e = 3, f = 1, g = 6, h = 20, i = 22, j = 2, k = 4, l = 0, M = 4, G = 15, quindi la Pasqua 1990 cadde il 15 aprile;
  • a = 3, b = 19, c = 98, d = 4, e = 3, f = 1, g = 6, h = 21, i = 24, j = 2, k = 0, l = 0, M = 4, G = 12, quindi la Pasqua 1998 cadde il 12 aprile;
  • a = 9, b = 20, c = 4, d = 5, e = 0, f = 1, g = 6, h = 15, i = 1, j = 0, k = 5, l = 0, M = 4, G = 11, quindi la Pasqua 2004 cadde l’11 aprile;
  • a = 10, b = 20, c = 5, d = 5, e = 0, f = 1, g = 6, h = 4, i = 1, j = 1, k = 1, l = 0, M = 3, G = 27, quindi la Pasqua 2005 cadde il 27 marzo.

come è semplice verificare.

Metodo di Gauss per il calcolo della Pasqua, sia giuliana sia gregoriana

In omaggio al grande matematico Carl Friedrich Gauss, descriviamo infine un metodo algebrico a lui dovuto per il calcolo della data della Pasqua giuliana fino al 1582 e gregoriana dal 1583. Detto come di consueto A l’anno del quale si vuole conoscere la data di Pasqua, si consideri la seguente tabella:

Anni Valore x Valore y
Fino al 1582 15 6
1583 – 1699 22 2
1700 – 1799 23 3
1800 – 1899 23 4
1900 – 2099 24 5
2100 – 2199 24 6
2200 – 2299 25 7
2300 – 2399 26 8
2400 – 2499 25 8
2500 – 2599 26 9
2600 – 2699 27 10

Si può far proseguire la tabella aumentando sia x che y di una unità ad ogni anno secolare non bisestile e diminuendo il solo x di una unità ad ogni scatto di una unità dell’equazione lunare.

Si calcolino poi i seguenti numeri:

  1. a = mod19[A]
  2. b = mod4[A]
  3. c = mod7[A]
  4. d = mod30[19 * a + x]
  5. e = mod7[2 * b + 4 * c + 6 * d + y]
  6. f = 22 + d + e

Si hanno allora i seguenti casi:

  1. se f <= 31, la Pasqua cade in marzo nel giorno f;
  2. se f – 31 > 0 ed è diverso da 25 e da 26, la Pasqua cade in aprile nel giorno (f – 31); altrimenti:
  3. se f – 31 = 26, la Pasqua cade il 19 aprile;
  4. se f – 31 = 25 e inoltre d = 28 e a > 10, la Pasqua cade il 18 aprile; altrimenti:
  5. se f – 31 = 25, ma d è diverso da 28 e/o a è minore o uguale a 10, la Pasqua cade il 25 aprile.

Come è evidente, questo metodo non fa grande differenza tra Pasqua giuliana e gregoriana: i calcoli sono gli stessi quale che sia l’anno, ma il risultato è la Pasqua giuliana per gli anni fino al 1582 compreso e la Pasqua gregoriana per gli anni dal 1583 compreso (la differenza è nascosta nei fattori x e y). Come esercizio è possibile ricalcolare le date di Pasqua degli anni 1990, 1998, 2004 e 2005 costantemente usate in precedenza come esempi.

In particolare, è possibile specializzare l’equazione precedente per i giorni delle fasi lunari, che non sono altro che alcune specifiche età della Luna. Per ricavare la relazione tra epatta e fasi lunari (ecclesiastiche) di tutto l’anno, è sufficiente sostituire al posto dell’età della Luna il valore che essa assume nei giorni in esame e invertire la formula sopra scritta.