Skip to content

Osterformel nach Gauß und Lichtenberg

In der Wikipedia ist eine praktische Formel zu finden, die in ihrer ursprünglichen Fassung von Carl Friedrich Gauß stammt und die es ermöglicht, das Datum des Ostersonntags für jedes Datum von 1582, dem Jahr der Einführung des Gregorianischen Kalenders, bis weit in die Zukunft zu berechnen.

Da der Ostersonntag stets der erste Sonntag nach dem ersten Frühlingsvollmond ist und sich die Umlaufzeiten von Erde und Mond so schnell nicht ändern, hält sich der Rechenaufwand in Grenzen.

Mond zu Ostern
Die ursprüngliche Gauß-Formel deckte nur einen begrenzten Jahresbereich ab. 1997 ergänzte sie Heiner Lichtenberg so, dass sie für alle Jahre des Gregorianischen Kalenders zu verwenden ist.
Hier die Umsetzung der Gaußschen bzw. Lichtenbergschen Osterformel als Python-Programm:

  1. def ostern(jahr):
  2.     A = jahr % 19
  3.     K = jahr // 100
  4.     M = 15 + (3 * K + 3) // 4 - (8 * K + 13) // 25
  5.     D = (19 * A + M) % 30
  6.     S = 2 - (3 * K + 3) // 4
  7.     R = D // 29 + (D // 28 - D // 29) * (A // 11)
  8.     OG = 21 + D - R
  9.     SZ = 7 - (jahr + jahr // 4 + S) % 7
  10.     OE = 7 - (OG - SZ) % 7
  11.     OS = OG + OE
  12.     if OS > 31:
  13.         return(f"{OS - 31}. April")
  14.     else:
  15.         return(f"{OS}. März")
  16.  
  17. print("Berechnung des Osterdatums")
  18. for jahr in range(2020,2050):
  19.     print(f"Im Jahre {jahr} fällt der "
  20.           f"Ostersonntag auf den {ostern(jahr)}.")
Wer mehr über die Osterformel nach Gauß und Lichtenberg, die Bedeutung der Variablen und die Geschichte ihrer Entstehung wissen möchte, findet in der Wikipedia eine Menge Informationen: Gaußsche Osterformel

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Ralph Stoever am :

Hallo Martin. Vielen Dank! Ich bin ein alter Python-Neuling (seit einem Jahr als versuche ich es hin und wieder nach Arbeit zu lernen), wenn Du mehr solche kleinen Überraschungen hast würde ich mich freuen.

Ich werde es für mich etwas kommentieren damit ich es besser verstehe.

Mir fiel beim Ablaufen auf, dass am letzten Tag (2049) der Ostersonntag auf den letztmöglichen Termin fällt (der 25. April). Der früheste Termin wird in diesem Zeitraum niemals erreicht.

Ich hatte früher bereits die folgende Seite entdeckt: https://www.staff.science.uu.nl/~gent0113/easter/easter_text2b.htm

Sie scheint eine Formel zu verwenden die den vollständigen Zyklus der Ostertage im gregorianischen Kalender berücksichtigt.

(Catpawn auf Twitter, entdeckt hatte ich Dich zu G+ Zeiten)

Stefanie Zwicker am :

Lieber Herr Vogel,

ich bin nur durch Zufall auf Ihren interessanten Blog bzw Ihre Seite gestoßen.
Von Python verstehe ich gar nichts kann also den Code nicht lesen, jedoch möchte ich eine kleine Erinnerung beisteuern: In den frühen 80er Jahren bzw um 1980 erlernten wir auf dem humoristischen Gymnasium ;-) im zusätzlichen Informatikkurs Basic. Im zweiten Halbjahr/Frühjahr war dann die Aufgabe, selbsttätig ein kleines Programm zu schreiben. Durch das herannahende Osterfest wurde ich fündig bei der verzweifelten Suche nach einer angemessenen Rechenaufgabe. Ich erinnerte mich nämlich, dass ich in den Abenteuerbüchern meines älteren Bruders einmal etwas über die Berechnung des Osterfestes gelesen hatte. Allerdings war das ohne jegliche Formeln angegeben, rein deskriptiv, aber in einer langen Geschichte: Ich setzte also die angegebenen Rechenschritte zunächst mal in Rechenformeln um. Dann gab ich die Befehle per Lochkarten (immerhin !) auf dem Computer mit der (Achtung) "64-Stellen-Anzeige" ein. (Unser guter guter Mathelehrer wurde nicht müde zu betonen, was wir hiermit nun für ein innovatives und fortschrittliches Gerät hätten: der Stolz der Schule, denn der Vorgänger hatte nur eine Anzeige von 8 Stellen, oder auch gar keine? Das Ganze war eine Spende des Elternbeirates, dem immerhin auch hohe Tiere von Siemens angehörten.)l
Gut, mein kleines Programm war wohl halbwegs okay, hätte aber wohl auch einfacher angelegt sein können, wie mir noch in Erinnerung ist. Es hatte wohl auch nicht die Korrektur über 400 Jahre (Ausfall des Schaltjahres) berücksichtigt was ich allerdings für die zu überblickenden Zeiträume – sprich die nächsten Jahrzehnte – als nebensächlich empfand. Schließlich war das ja auch nicht in dem Rechenweg angegeben gewesen. Kurskollegen lästerten über so eine merkwürdige Problemstellung, aber ich fand es äußerst interessant, sich mit solchen Dingen zu beschäftigen. Heute noch bin ich begeistert, wenn ich etwas über Wissenschaftsgeschichte erfahren kann.
Irgendwie gab es schließlich auch eine Kassette von der ganzen Geschichte bzw dem Programm. Unter irgendwelchen unsäglichen Mühen konnte ich das anfertigen. Zumindest ist das mein heutiger Rückblick.
Insgesamt hat die Sache doch recht viel Zeit in Anspruch genommen.

Heute würde man vielleicht sagen: eine Oster-App ; ))) .

– Kurz darauf hatten wir schon floppy disks (!). Und, glaube ich, auch schon einen (sprich: einen !) etwas leistungsfähigeren Computer.

Alte Zeiten! Das glaube ich ja selbst schon kaum mehr...

Beste Grüße aus Würzburg.

Winfried Schürmann am :

Lieber Herr Vogel, wohl kein Freund von mathematischen Spielereien kommt an der Osterrechnung vorbei, und Ihr ansprechender Blogbeitrag ist eine schöne Einführung. Bitte checken Sie Zeilen 8 und 11 gegen das entsprechende Wiki. Das kleine Skript werde ich, Python-Anfänger, in meine Schatzkiste legen.
Vielen Dank!

Kommentar schreiben

Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Um einen Kommentar hinterlassen zu können, erhalten Sie nach dem Kommentieren eine E-Mail mit Aktivierungslink an ihre angegebene Adresse.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Formular-Optionen