Ich verwende hier die Formeln für den Julianischen Kalender aus dem Artikel Gaußsche Osterformel der deutschen Wikipedia (sowie eine zusätzliche für den Ostermond):
Julianischer Kalender | Gregorianischer Kalender | Bedeutung |
a = Jahr mod 19 | a = Jahr mod 19 | Mondparameter |
b = Jahr mod 4 | b = Jahr mod 4 | |
c = Jahr mod 7 | c = Jahr mod 7 | |
k = Jahr div 100 | ||
p = (8k + 13) div 25 | ||
q = k div 4 | ||
M = 15 | M = (15 + k - p - q) mod 30 | |
d = (19a + M) mod 30 | d = (19a + M) mod 30
Falls d=29 oder d=28 und a > 10, dann d = d - 1 (1) |
Keim für den ersten Vollmond im Frühling |
om = 21 + d | om = 21 + d | Tag des Ostermonds, des. ersten Frühlingsvollmonds, gezählt ab 1. März |
N = 6 | N = (4 + k - q) mod 7 | |
e = (2b + 4c + 6d + N) mod 7 | e = (2b + 4c + 6d + N) mod 7 | Entfernung des Ostersonntags von der Ostergrenze (d.i. vom Ostermond) |
os = 22 + d + e
(Die Bedingungen für die Korrektur treten hier nicht auf.) |
os = 22 + d + e
Wikipedia hat hier die Ausnahmen: (2) (3) Falls d=28 und e=6 und a>10, dann os=49 Falls d=29 und e=6, dann os=50 |
Tag des Ostersonntags, gezählt ab 1. März |
Anmerkungen:
(1) Die Korrektur ist entlehnt aus dem "Astronomischen Osterrechner" von Nikolaus Alexander Bär,
siehe im Quelltext einer der beiden im Literaturverzeichnis angegebenen HTML-Seiten, dort jeweils
im Javascript-Code in der "function EastCalc".
Bär hatte die Korrektur bei der Berechnung des zyklischen Ostermonds "luna",
den ich hier "om" nenne; ich bringe die entsprechende Korrektur gleich bei der Variablen "d" an.
(2) Dank der Korrektur von d (s. Anm. (1)) erübrigt sich die Korrektur des Ostersonntags, denn:
War vorher d=29 und e=6, dann ergaben sich
om = 21 + d = 21 + 29 = 50 → 19. April,
os = 22 + d + e = 22 + 29 + 6 = 57 → 26. April,
letzteres wurde korrigiert zu os = 50 → 19. April.
Nunmehr wird korrgiert zu d = 28 und damit e = 0, woraus sich ergeben
om = 21 + d = 21 + 28 = 49 → 18. April,
os = 22 + d + e = 22 + 28 + 0 = 50 → 19. April!
War vorher d=28 und e=6 (und a > 10), dann ergaben sich
om = 21 + d = 21 + 28 = 49 → 18. April,
os = 22 + d + e = 22 + 28 + 6 = 56 → 25. April,
letzteres wurde korrigiert zu os = 49 → 18. April.
Nunmehr wird korrgiert zu d = 27 und damit e = 0, woraus sich ergeben
om = 21 + d = 21 + 27 = 48 → 17. April,
os = 22 + d + e = 22 + 27 + 0 = 49 → 18. April!
(3) Mit der angegebenen Regel für d=28 sind nicht alle liturgisch erforderlichen Ausnahmefälle
abgedeckt. Dies betrifft die "Ausnahmeregel Nr.2" in [Voigt 146].
Die Gaußsche Osterformel versagt daher in den Jahren 1954, 2049, 3165, 3260, 3317, 4080 und 4099 [Voigt 148].
Dies kann mit dem Vergleichsrechner
für den Gregorianischen Kalender leicht nachgeprüft werden:
Der Ostermond liegt in diesen Jahren bei Gauß auf dem Tag, auf dem bei den Vergleichsalgorithmen
(Donald Knuth und
Claus Tøndering)
der Ostersonntag liegt (18. April), und Ostersonntag
ist bei Gauß eine Woche später, am 25. April.
Natürlich gibt es solche "Ausrutscher" auch in der Zeit bis 1582,
wenn man die Algorithmen auch für diese Zeiten vergleichen möchte,
aber das hat noch niemand nachgerechnet, weil es keine praktische Bedeutung hat.
(Hier Microsoft Excel 2007, deutschsprachige Lizenz)
Ich zeige hier nur die Lösung für den Julianischen Kalender.
Feld |
Inhalt |
Bedeutung |
A1 |
'Jahr |
Jahreszahl |
B1 |
'a |
Mondparameter |
C1 |
'b |
|
D1 |
'c |
|
E1 |
'd |
Keim für den ersten Vollmond im Frühling |
F1 |
'e |
Entfernung des Ostersonntags vom Ostermond |
G1 |
'om |
Tag des Ostermonds, gezählt ab 1. März |
H1 |
'os |
Tag des Ostersonntags, gezählt ab 1. März |
A2 |
532 |
Startjahr |
B2 |
=REST(A2;19) |
|
C2 |
=REST(A2;4) |
|
D2 |
=REST(A2;7) |
|
E2 |
=REST((19*B2+15);30) |
|
F2 |
=REST((2*C2+4*D2+6*E2+6);7) |
|
G2 |
=21+E2 |
|
H2 |
=22+E2+F2 |
|
A3 |
=A2+1 |
|
B3:H3 |
Kopie von B2:H2 |
|
A4:H96 |
Kopie von A3:H3 |
A B C D E F G H Jahr a b c d e om os 532 0 0 0 15 5 36 42 533 1 1 1 4 1 25 27 534 2 2 2 23 2 44 47 535 3 3 3 12 5 33 39 536 4 0 4 1 0 22 23 537 5 1 5 20 1 41 43 538 6 2 6 9 4 30 35 539 7 3 0 28 5 49 55 540 8 0 1 17 0 38 39 541 9 1 2 6 3 27 31 542 10 2 3 25 4 46 51 543 11 3 4 14 0 35 36 544 12 0 5 3 2 24 27 545 13 1 6 22 3 43 47 546 14 2 0 11 6 32 39 547 15 3 1 0 2 21 24 548 16 0 2 19 2 40 43 549 17 1 3 8 5 29 35 550 18 2 4 27 6 48 55 ...
function DaynumberToDayAndMonth( daynumber ) { // assert( daynumber > 0 && daynumber < 62 ); if ( daynumber <= 31 ) { this.dd = daynumber; this.mm = 3; } else { this.dd = daynumber - 31; this.mm = 4; } return this; } function div( a, b ) { // integer division return floor( a / b ); } function CFrGaussGregorianEasterTableLine( j ) { // assert( j >= 0 && j <= 4999 ); var k = div( j, 100 ); var p = div( 8 * k + 13, 25 ); var q = div( k, 4 ); var M = ( 15 + k - p - q ) % 30; this.g_d = ( 19 * this.g_a + M ) % 30; if ( this.g_d == 29 || this.g_g == 28 && this.g_a > 10 ) { this.g_d -- ; } var N = ( 4 + k - q ) % 7; this.g_e = ( 2 * this.g_b + 4 * this.g_c + 6 * this.g_d + N ) % 7; return this; } function CFrGaussJulianEasterTableLine( j ) { // assert( j >= 0 && j <= 4999 ); const M = 15; this.g_d = (( 19 * this.g_a + M ) % 30 ); const N = 6; this.g_e = ( 2 * this.g_b + 4 * this.g_c + 6 * this.g_d + N ) % 7; return this; } function CFrGaussEasterTableLine( j, cal ) { // assert( j >= 0 && j <= 4999 ); this.g_j = j; this.g_a = j % 19; this.g_b = j % 4; this.g_c = j % 7; switch ( cal ) { case 'J': // Julian calendar ee = CFrGaussJulianEasterTableLine( j ); break; case 'G': // Gregorian calendar ee = CFrGaussGregorianEasterTableLine( j ); break; case 'A': // Occidental calendar ("Abendländischer Kalender") ee = ( j <= 1582 ) ? CFrGaussJulianEasterTableLine( j ) : CFrGaussGregorianEasterTableLine( j ); break; } this.g_om = 21 + this.g_d; this.g_os = 22 + this.g_d + this.g_e; return this; } function CFrGaussEasterTable( annus, times, cal, outputformatter ) { // assert( annus >= 0 && annus <= 4996 ); // assert( times >= 4 && times <= 532 ); for ( let j = annus; j < annus + times; j++ ) { var line = CFrGaussEasterTableLine( j, cal ); outputformatter( line ); } }
Wenn Sie auf den unten folgenden Knopf klicken, dann erscheint zum Vergleich
mit dem weiter oben gezeigten ersten 19-jährigen Abschnitt der Ausgabe des Tabellenkalkulationsprogramms
eine nach dem soeben erschlossenen Algorithmus mit den gezeigten JavaScript-Funktionen
erzeugte Berechnung der Ostermond- und Ostersonntagsdaten mit allen Zwischenergebnissen..
Einen Osterrechner mit diesem Algorithmus, bei dem Sie das Startjahr, die Anzahl der Jahre
und die Art des Kalenders (Julianisch, Gregorianisch, Abendländisch
(d.h. Julianisch bis 1582, Gregorianisch ab 1583))
wählen können, finden Sie unter
Die Osterrechnung von Carl Friedrich Gauß
als Tabellenrechner.
Bär, Nikolaus Alexander (2006): Berechnung des Osterdatums - Astronomischer Osterrechner; https://web.archive.org/web/20230409000000*/http://www.nabkal.de:80/ostrech2.html; oder: Astronomischer Osterrechner, Rechner pur; https://web.archive.org/web/20220928000000*/http://www.nabkal.de:80/osterrechner2.html
de.wikipedia: Stichwort Gaußsche Osterformel
Voigt, Ulrich (2003): Das Jahr im Kopf. Kalender und Mnemotechnik; Likanas Verlag, Hamburg
Der Autor ist Mathematiker und arbeitete als Software-Entwickler.
Karl-Heinz Lewin, Haar: karl-heinz.lewin@t-online.de
Copyright © Karl-Heinz Lewin, 2024