VAR A, C, U, S, Z, R, X, B, Y, J : INTEGER; K :REAL; BEGIN WRITE('Donnez l''ann‚e: '); READLN(A); IF A>4199 THEN K:=(S-17)/25 ELSE K:=0; C:=A mod 19; U:=A mod 100; S:=A DIV 100; Z:=(S - TRUNC(S/4) - TRUNC((S-K)/3)) mod 30; R:=(19 * C + 15 + Z) mod 30; IF R=29 THEN X:=28 ELSE IF (R=28) AND (A mod 19>10) THEN X:=27 ELSE X:=R; B:=(2 - S + TRUNC(S/4)) mod 7; J:=(A + TRUNC(A/4) + Y + B) mod 7; IF X-J>3 THEN WRITELN('La date de Pƒques est le ',X-J-3,' avril') ELSE WRITELN('La date de Pƒques est le ',28+X-J,' mars') END. La page de l'algorithme.
Date de Pâques. L'algorithme suivant d‚termine la date du lundi de Pƒques pour l'ann‚e A. þ si Aó4199, K=0 si A>4199, K=(S-17)/25 þ assigner … C le reste de la division de A par 19 þ assigner … U le reste de la division de A par 100 þ assigner … S le r‚sultat de la division entiŠre de A par 100 þ assigner … Z le reste de la division de S-[S/4]-[(S-K)/3] par 30 þ assigner … R le reste de la division de 19C+15+Z par 30 þ assigner … X la valeur R dans tous les cas sauf que ù X=28 si R=29 ù X=27 si R=28 et le reste de la division de A par 19 est >10 þ assigner … B le reste de la division de 2-S+[S/4] par 7 þ assigner … J le reste de la division de A+[A/4]+Y+B par 7 þ afficher la date de Pƒques qui est le (28+X-J) mars si X-Jó3 ou le (X-J-3) avril si X-J>3 Rappel: [x] signifie "partie entiŠre de x"
‚crire "Donnez l'ann‚e: "
lire A
si A>4199 alors K <-- (S - 17)/25
sinon K <-- 0
fsi
C <-- A mod 19
U <-- A mod 100
S <-- A \ 100
Z <-- (S - [S/4] - [(S-K)/3]) mod 30
R <-- (19 * C + 15 + Z) mod 30
si R=29 alors X <-- 28
sinon si (R=28) et (A mod 19>10) alors X <-- 27
      sinon X <-- R
      fsi
fsi
B <-- (2 - S + [S/4]) mod 7
J <-- (A + [A/4] + Y + B) mod 7
si X-J>3 alors ‚crire "La date de Pƒques est le ",X-J-3," avril"
sinon ‚crire "La date de Pƒques est le ",28+X-J," mars"
fsi

Page d'accueil.


PROGRAM Paques; VAR X, a, b, c, d, e, f, g, h, i, k, l, m, n, p: INTEGER; BEGIN WRITELN('Calcul de la date de Pâques.'); WRITE('Introduisez l''année:'); READLN(X); a := X MOD 19; b := X DIV 100; c := X MOD 100; d := b DIV 4; e := b MOD 4; f := (b+8) DIV 25; g := (b-f+1) DIV 3; h := (19*a+b-d-g+15) MOD 30; i := c DIV 4; k := c MOD 4; l := (32+2*e+2*i-h-k) MOD 7; m := (a+11*h+22*l) DIV 451; n := (h+l-7*m+114) DIV 31; p := (h+l-7*m+114) MOD 31; WRITELN('Le jour de Pâques est le', p+1, '-', n, '-', X); END.