Einzelnen Beitrag anzeigen

Mo53

Registriert seit: 16. Mai 2021
59 Beiträge
 
Delphi 10.3 Rio
 
#31

AW: Erstellen eines Datum-überprüfers

  Alt 16. Mai 2021, 20:37
Leute zum Thema der Osternüberprüfung verstehe ich die letzte Gleichung nicht, da beide Seiten der Gleichung ja nicht immer das gleiche ergeben.

Die Osterformel: So berechnen Sie das Datum

a = Jahr mod 4
b = Jahr mod 7
c = Jahr mod 19
d = (19c + 24) mod 30
e = (2a + 4b + 6d + 5) mod 7
f = (c + 11d + 22e) / 451
Der Ostersonntag wird daraus wie folgt errechnet: 22 + d + e - 7f
Ist dieses Ergebnis größer als 31, so liegt Ostern im April.
Dann muss folgende Formel für die Berechnung des Ostersonntag angewandt werden:
22 + d + e - 7f - 31 = d + e - 7f - 9.

Ich habe versucht das mal zum Verständnis in ein Quelltext zu übersetzen, da habe ich für beide Seiten der Gleichung jeweils eine Variable deklariert um zu schauen ob immer dasselbe rauskommt.

Delphi-Quellcode:
var
  a, b, c, d, e, f: integer;
  Jahr: integer;
  Ostersonntag: integer;
  OsternApril: integer;
  Ostern2: integer;

begin
  writeln('Jahr eingeben');
  readln(Jahr);
  a := Jahr mod 4;
  b := Jahr mod 7;
  c := Jahr mod 19;
  d := (19 * c + 24) mod 30;
  e := (2 * a + 4 * b + 6 * d + 5) mod 7;
  f := (c + 11 * d + 22 * e) div 451;
  Ostersonntag := 22 + d + e - 7 * f;
  if (Ostersonntag > 31) then
    OsternApril := 22 + d + e - 7 * f - 31;
  Ostern2 := d + e - 7 * f - 9;
  writeln(OsternApril);
  writeln(Ostern2);
  readln;

end.
  Mit Zitat antworten Zitat