VelikonoceTaky nevíte, kdy byly či kdy budou velikonoce ? Tak zkuste tohle: uses crt; function Velikonoce(Rok:Word):string; var Ve_A, Ve_B, Ve_C, Ve_K, Ve_P, Ve_Q, Ve_F, Ve_G, Ve_D, Ve_E : LongInt; Den, Mesic, SRok : String; begin Ve_A:=Rok mod 19; Ve_B:=Rok mod 4; Ve_C:=Rok mod 7; Ve_K:=Trunc(Rok/100); Ve_P:=Trunc(((8 * Ve_K) + 13)/25); Ve_Q:=Trunc(Ve_K/4); Ve_F:=(15 - Ve_P + Ve_K - Ve_Q) mod 30; Ve_G:=(4 + Ve_K - Ve_Q) mod 7; Ve_D:=((19 * Ve_A) + Ve_F) mod 30; Ve_E:=((2 * Ve_B) + (4 * Ve_C) + (6 * Ve_D) + Ve_G) mod 7; if (Ve_D + Ve_E) <= 9 then begin Str(22 + Ve_D + Ve_E,Den); Den:=Using(Den,2,'0') + '.'; Mesic:='3.'; end else begin Str(Ve_D + Ve_E - 9,Den); Den:=Using(Den,2,'0') + '.'; Mesic:='4.'; end; if (Ve_D = 29) and (Ve_E = 6) then Den:='19.'; if (Ve_D = 28) and (Ve_E = 6) and (Ve_A > 10) then Den:='18.'; Str(Rok:4,SRok); Velikonoce:=Den + Mesic + SRok; end; var i:word; BEGIN writeln (Velikonoce(1999)); END. Správně jsou dány velikonoce tím, že jsou první neděli po prvním jarním
úplňku, který nastává v Funkce Using pouze zarovnává výsledné vypisované datum na dvě místa a převádí číslo na řetězec. |
WEBovský
počítadlo spočítalo, že si číslo
|