a, b, c, d, e, f: integer;
Und was bedeuten diese Variablen-Namen??? Gewöhne es dir bitte ab das so zu schreiben, die Mitglieder hier würden es dir danken!
Da es anscheinend auch noch nicht gestattet ist eigene Methoden zu entwerfen, hier als Fließtext Programm:
Delphi-Quellcode:
program Project33;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils;
var
iJahr, iMonat, iTag, iVollmond, iVollmonde, iSonntag, iMetonischerZyklus, iJahrhundert, iSchaltjahre, iMondPhase: Integer;
begin
try
Write('
Jahr zur Berechnung des Ostersonntags eingeben: ');
Readln(iJahr);
iMetonischerZyklus := (iJahr
mod 19) + 1;
iJahrhundert := (iJahr
div 100) + 1;
iSchaltjahre := (3 * iJahrhundert)
div 4 - 12;
iMondPhase := (8 * iJahrhundert + 5)
div 25 - 5;
iSonntag := (5 * iJahr)
div 4 - iSchaltjahre - 10;
// überlaufschutz
iVollmonde := (11 * iMetonischerZyklus + 20 + iMondPhase - iSchaltjahre)
mod 30;
if iVollmonde < 0
then
iVollmonde := iVollmonde + 30;
if ((iVollmonde = 25)
and (iMetonischerZyklus > 11))
or (iVollmonde = 24)
then
iVollmonde := iVollmonde + 1;
iVollmond := 44 - iVollmonde;
if iVollmond < 21
then
iVollmond := iVollmond + 30;
iVollmond := iVollmond + 7 - ((iSonntag + iVollmond)
mod 7);
if iVollmond > 31
then
begin
iMonat := 4;
iTag := iVollmond - 31;
end
else
begin
iMonat := 3;
iTag := iVollmond;
end;
Writeln('
Ostersonntag war/ist am ' + IntToStr(iTag) + '
.' + IntToStr(iMonat) + '
.' + IntToStr(iJahr));
except
on E:
Exception do
Writeln(E.ClassName, '
: ', E.
Message);
end;
Readln;
end.