Gaußsche Osterformel in Python 3 (Software)

Martin Vogel ⌂ @, Dortmund / Bochum, Thu, 22.09.2016, 18:52 (vor 2745 Tagen)

Zur Planung der Osterferien in beliebigen Jahren oder zum Nachschlagen vergangener Termine (sofern sie sich im Gregorianischen Kalender wiederfinden, also ab 1583) hier ein kleines Python-Programm.

Die Berechnung ist nicht ganz trivial, weil Ostern ein Termin ist, der aus dem Zusammenspiel von Sonnen- und Mondkalender abgeleitet wird. Der Ostersonntag ist der Sonntag nach dem ersten Frühlingsvollmond.

Der Python-Quelltext dazu sieht so aus:

def ostern(jahr):
    A = jahr%19
    K = jahr//100
    M = 15+(3*K+3)//4-(8*K+13)//25
    D = (19*A+M)%30
    S = 2-(3*K+3)//4
    R = D//29+(D//28-D//29)*(A//11)
    OG = 21+D+R
    SZ = 7-(jahr+jahr//4+S)%7
    OE = 7-(OG-SZ)%7
    OS = (OG+OE)
    if OS>31:
        return(str(OS-31)+". April")
    else:
        return(str(OS)+". März")

print("Berechnung des Osterdatums")
jahr=int(input("Jahr: "))
print("Im Jahre",jahr,"fällt der Ostersonntag auf den",ostern(jahr))


Der von Lichtenberg nach Kinkelin und Zeller modifizierte Gaußsche Algorithmus wurde aus Wikipedia übernommen.

--
Dipl.-Ing. Martin Vogel
Leiter des Bauforums

Bücher:
CAD mit BricsCAD
Bauinformatik mit Python


gesamter Thread:

 RSS-Feed dieser Diskussion

powered by my little forum