C# – Wie berechne ich das Datum von Ostersonntag?

C#Eine sehr beliebte Mathe/Algorithmik Aufgabe ist es, dass Datum von Ostersonntag zu berechnen. Genau dies wollen wir heute mal in C# implementieren um am Ende ein lauffähiges Programm zu haben.

Die Berechnung

Um das Osterdatum eines bestimmten Jahres zu errechnen benötigen wir einen Algorithmus. Diesen Algorithmus möchte ich hier jetzt kurz Vorstellen, bevor daraus ein kleines Programm wird.

Der Algorithmus

  1. Teile das Jahr durch 100. Das Ergebnis wird in k gespeichert.
  2. Als nächstes rechnet man 15 + (3 * k + 3) / 4 – (8 * k + 13) / 25. Das Ergebnis wird in m hinterlegt.
  3. Rechne 2 – ( 3 * k + 3) / 4. Schreibe das Ergebnis in s.
  4. year % 19. Das Ergebnis wird in der Variable a gespeichert.
  5. (19 * a + m) % 19. Das Ergebnis wird in der Varialbe d gespeichert.
  6. d / 29 + ( d / 28 – d / 29) * a / 11. Das Ergebnis wird in r gespeichert.
  7. 21 + d – r. Das Ergebnis wird in og gespeichert.
  8. 7 – ((year + year / 4 + s) % 7). Das Ergebnis wird in sz gespeichert.
  9. 7 – ((og – sz) % 7. Das Ergebnis wird in oe gespeichert.
  10. og + oe. Das Ergenis wird in os gespeichert.
  11. Wenn os <= 31, dann ist Ostern am os März
  12. Wenn nicht Punkt 11, dann ist Ostern am os – 31 April.

Nachdem wir nun diesen Algorithmus haben, ist das schreiben des Codes relativ einfach.

Der Code

 

About Christian Piazzi

Ich blogge hier über alles, was mir so in meinem ITler Altag über den Weg läuft =)
Man findet mich privat bei Google+ und Twitter

Speak Your Mind

*