Pascal
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Pascal</language>
===An welchem Datum war Ostern in den vergangenen Jahren?===
<code rows="30" hidden>
var year: integer;
function EasterSunday(year: Integer): String;
var
a,b,c,d,f,g : Real;
e: Integer;
begin
if year < 100 then year := year + 1900;
a := year mod 19;
b := year mod 4;
c := year mod 7;
f := 19*a + 24;
d := f - (trunc(f/30) * 30);
g := (5 + 2*b + 4*c + 6*d);
e := Trunc((g - (trunc(g/7) * 7)) + d + 22);
if e <= 31 then
Result := IntToStr(e) + '.' + '03.' + IntToStr(year)
else
begin
if e - 31 >= 26 then e:=19 else e:= e - 31;
Result := IntToStr(e) + '.' + '04.' + IntToStr(year)
end;
end;
</code>
<eval rows="10" rrows="10">
begin
year := random(100)+1900;
writeln('In year '+intToStr(year)+' was eastern sunday on '+EasterSunday(year));
end.</eval>
<check>
result := (EasterSunday(1939) = '9.04.1939') AND (EasterSunday(1974) = '14.04.1974');
</check>
===Fibonacci-Berechnung===
<code>
function fib(n: integer): integer;
var tmp: integer;
begin
if n=1 then result := 1
else if n=2 then result := 1
else begin
tmp := fib(n-1);
result := tmp + fib(n-2);
end;
end;
</code>
<eval>
begin
writeln(intToStr(fib(8)));
end.
</eval>