Diskussion:Algorithmensammlung: Kalender: Feiertage
Zur Berechnung der kalendarischen Korrekturgröße R
BearbeitenDie Wikipedia gibt eine etwas andere Formel wieder. Im Endergebnis ist beides das gleiche: D hat Werte von 0-29, und A hat Werte von 0-19. Damit ist A \ 11 immer 0 oder 1.
- Wenn D<28, ist R=0
- Wenn D=28 UND A<11, ist R=0
- Wenn D=28 UND A>=11, ist R=1
- Wenn D=29, ist R=1
Die hier vorher angegebene Formel D\29 + (D\28-D\29)*(A\11) hat diesen Zweck erfüllt, aber man muss schon eine Weile nachdenken um ihr das anzusehen. Die in Wikipedia angegebene Code-Formel (D+A\11)\29 finde ich leichter durchschaubar.
Ein Programmierer einer Sprache mit C-artiger Syntax würde ohnehin schreiben
- r = ( (d==28 && a>10) || d==29) ? 1 : 0;
Datum mit Tag und Monat
BearbeitenDie Berechnung von Ostern sowie Buß- und Bettag benutzt die Funktion einer Programmiersprache statt Formeln. Die Formeln dafür: Ostersonntag = OS MOD 32 + OS / 32. Damit erhält man den richtigen Tag im März bzw. April und den Ostermonat = 3 + OS / 32 . Beispiel: Osterberechnung ergibt OS = 31 für 2013, dann ist Ostersonntag = 31 MOD 32 + 31 / 32 = 31 und Ostermonat = 3 + 31 / 32 = 3 (Datum Ostersonntag 31.3.2013)
Mit dem Wert Ostersonntag OS ist auch der Tag im November berechenbar: Buß- und Bettag = 16 + (OS +1) MOD 7 . Hierzu Beispiel 2013: = 16 + (31 +1) MOD 7 = 16 + 4 = 20 (also 20. November), siehe Quelle http://manfred.wilzeck.de/Datum_berechnen_allgemein.html#Auch_mit_Osterdatum_berechnen -- 84.177.198.248 17:31, 20. Nov. 2013 (Signatur nachgetragen von: Jürgen 08:31, 22. Nov. 2013 (CET) -- bitte künftig mit 4 Tilden ~~~~ selbst erledigen)