PROCEDURE Nom_procedure(liste_parametre);
Chaque paramètre doit être typé mais on peut les regrouper par type.PROCEDURE Maxde3(a,b,c : INTEGER);
VAR z : INTEGER;
BEGIN
IF a>=b THEN z:=a ELSE z:=b;
IF c>=z THEN z:=c;
Writeln(‘Le plus grand de ces trois nombres est ‘,z);
END;
VAR z : INTEGER;
Permet de déclarer une variable dite locale qui n’existera et ne sera utilisée que dans la procédure. La valeur de z sera oubliée à chaque nouvel appel de la procédure.PROGRAM test;
VAR u,v,t : INTEGER;
PROCEDURE Maxde3(a,b,c : INTEGER);
VAR z : INTEGER;
BEGIN
IF a>=b THEN z:=a ELSE z:=b;
IF c>=z THEN z:=c;
Writeln(‘Le plus grand de ces trois nombres est ‘,z);
END;
BEGIN
Write(‘quel est le premier nombre entier ?’);
Readln(u);
Write(‘quel est le second ?’);
Readln(v);
Write(‘quel est le troisième ?’);
Readln(t);
Maxede3(u,v,t);
END.
PROGRAM jeu_de_l_oie;
VAR a,b : INTEGER;
VAR de : INTEGER;
VAR victoire : INTEGER;
FUNCTION lancer_de():INTEGER;
lancer_de:=random(6)+1;
END;
PROCEDURE case_oie(VAR ca : INTEGER;joueur:INTEGER);
BEGIN
IF ca=5 THEN BEGIN
ca:=1;
writeln(‘case 5’);
writeln(‘Vous êtes tombé dans le puit : retour à la case 1!’);
END;
IF ca=9 THEN BEGIN
ca:=6;
writeln(‘case 9’);
writeln(‘Un renard !! Fuyez à la case 6!’);
END;
IF ca=15 THEN BEGIN
ca:=1;
writeln(‘case 15’);
writeln(‘Un chasseur, dommage : retour à la case 1!’);
END;
IF ca>16 THEN BEGIN
ca:=16-(ca-16);
writeln(‘Trop loin, on repart en arrière’);
case_oie(ca,joueur);
END;
IF ca=16 THEN BEGIN
writeln(‘case 16’);
writeln(‘Vous êtes arrive à bon port !’);
victoire :=joueur;
END;
END;
BEGIN
a:=1;
b:=1;
victoire:=0;
REPEAT
IF victoire=0 THEN BEGIN
Write(‘Tour du joueur 1 : appuyer sur un touche’);
Readln;
de:=lancer_de();
a:=a+de;
case_oie(a,1);
END;
IF victoire=0 THEN BEGIN
Write(‘Tour du joueur 2 : appuyer sur un touche’);
Readln;
de:=lancer_de();
b:=b+de;
case_oie(b,2);
END;
UNTIL victoire<>0;
Writeln(‘Le joueur ’,victoire,’ a gagné.’);
Writeln(‘Appuyez sur un touche’);
Readln;
END.