Advanced  Services C#-Praktikum Back Next Up Home
Wann ist Ostern

Eine weitere kleine Formel des jungen Gauß ermöglicht die Ermittlung des Osterdatums, genauer gesagt des Ostersonntags. Schreiben Sie ein Programm, daß zu einer vom Benutzer eingegebenen Jahreszahl das Osterdatum ermittelt. Damit die Formel funktioniert, muß die Jahreszahl zwischen 1582 und 3000 liegen.

Das Osterdatum ergibt sich dann folgendermaßen :

Das Datum wird aus den Werten der beiden Größen d und e ermittelt. Um allerdings diese zu erhalten braucht man eine eine Reihe von Hilfsgrößen, die wir a, b, c, p, q, r, x und y nennen. Beachten Sie, wie die Hilfsgrößen voneinander abhängen.

  p = jahr div 100 
  q = p div 3  r = p div 4 
  x = (15+p-q-r) mod 30  y = (4+p-r) mod 7 
  a = jahr mod 19  b = jahr mod 4    c = jahr mod 7 
  d = (19*a+x) mod 30 
  e = (2*b+4*c+6*d+y) mod 7 

Jetzt kann man d und e auswerten

d==28 und e==6 , so gilt : Ostern ist am 18.April

d==29 und e==6 , so gilt : Ostern ist am 19.April

ansonsten gilt

ist 22+d+e < 32 , so folgt : Ostern ist am (22+d+e). März

ist 22+d+e >=32 , so folgt : Ostern ist am (d+e-9). April

Zusatzaufgaben:

  • Stellen Sie fest, wann im Zeitraum zwischen 1582 und 3000 der früheste Ostertermin und der späteste Ostertermin ist.
  • Stellen Sie an Hand des Osterdatums das Pfingstdatum fest ( Pfingsten ist 7 Wochen nach Ostern )
  • Stellen Sie an Hand des Osterdatums das Datums von Aschermittwoch fest ( Faschingssonntag ist 7 Wochen vor Ostern )

Erläuterung :

  • div ist der Operator für Ganzzahldivision, so gilt etwa 15 div 7 = 2 , da 7 in 15 zweimal enthalten ist. Der Rest wird dabei nicht berücksichtigt, analog 17 div 3 = 5 . In Java (wie in C/C++) wird die Ganzzahldivision realisiert durch a/b , wenn a und b Ganzzahltypen (int, long, short, byte) sind.
  • mod ist der Restoperator, so gilt etwa 15 mod 7 = 1 , da 15 geteilt 7 den Rest 1 ergibt. Der ganze Anteil wird dabei nicht berücksichtigt, analog 17 mod 3 = 2 . In Java (wie in C/C++) wird der Restoperator realisiert durch a%b .

Sie auch  Arithmetische Operatoren

Siehe auch  Gregorianischer und julianischer Kalender

Valid XHTML 1.0 Strict Lösung top Back Next Up Home