Forum: Object-Pascal / Delphi-Language
by Delphi.Narium,
17. Mai 2021
Die Formulierung ist vielleicht etwas unglücklich. Gemeint ist schlicht und einfach:
OsterMonat := 3; // -> März
OsterSonntag := 22 + d + e - 7f;
if OsterSonntag > 31 then begin
OsterMonat := OsterMonat + 1; // -> April
// oder OsterMonat := 4;
// aus 22 + d + e - 7f wird 22 + d + e - 7f - 31, da 22 - 31 = -9 wird daraus d + e - 7f - 9
OsterSonntag := OsterSonntag -...
Forum: Object-Pascal / Delphi-Language
by Delphi.Narium,
17. Mai 2021
Weiter oben steht aber, dass Funktionen nicht genutzt werden sollen.
Hatte bereits ein entsprechendes Beispiel gepostet und es aufgrund des Hinweises geändert.
Exakt darum geht es: Lernen, wie man Probleme löst, für die es noch keine fertige Lösung (Funktion, Prozedur, ...) gibt.
Was ist bei If then else zu beachten. Welche Fallstricke gibt es bei der Nutzung von AND und OR, wann müssen...
Forum: Object-Pascal / Delphi-Language
by Delphi.Narium,
16. Mai 2021
Zum Spaß noch ein Ansatz:var
Tag : Integer;
Monat : Integer;
Jahr : Integer;
TagOK : Boolean;
MonatOk : Boolean;
JahrOk : Boolean;
IstSchaltjahr : Boolean;
begin
write('Bitte den Tag eingeben ');
Forum: Object-Pascal / Delphi-Language
by Delphi.Narium,
16. Mai 2021
Suchmaschine marsch: ostern formel
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
Forum: Object-Pascal / Delphi-Language
by Delphi.Narium,
16. Mai 2021
Nochmal einen Abschnitt überarbeitet:
if (Jahr >= 1) and (Jahr <= 3000) then begin
case Monat of
2: begin
if (Jahr mod 4 = 0) and (Jahr mod 100 <> 0) or (Jahr mod 400 = 0) and (Tag = 29) then begin
writeln(Tag,' ist zulässig');
end;
// Hier fehlt wohl eine Else.
// Was soll denn bitteschön in einem Nichtschaltjahr geschehen?
Forum: Object-Pascal / Delphi-Language
by Delphi.Narium,
16. Mai 2021
Frage: Geht es darum Delphi zu lernen oder darum die Grundlagen der Kalenderberechnung zu lernen?
Forum: Object-Pascal / Delphi-Language
by Delphi.Narium,
16. Mai 2021
Mal aus Spass ein Pascalscript (ohne Verwendung irgendwelcher Datumsfunktionen):program Kalender;
function IfThen(b : Boolean; sOk : String; sNotOk : String) : String;
begin
case b of
true : Result := sOk;
false : Result := sNotOk;
end;
end;