Cette instruction permet de répéter plusieurs fois une même séquence de traitement.
La syntaxe est la suivante :
while test do
begin
......
end
Le bloc d'instruction situé entre begin et end est exécuté tant que l'expression booléenne test s'évalue true.
program jeu;
const valeur = 13;
var essai : integer;
begin
essai:=0;
while (essai<>valeur) do
begin
writeln('entrez une valeur entiere');
readln(essai);
end;
writeln('Bravo, vous avez trouvez la bonne valeur');
end.
L'expression booléenne test doit respecter quelques
règles pour que l'instruction ait un sens.
Ainsi la séquence d'instructions suivante est suspecte :
x:=1;
while x>0 do
writeln(x);
(Lorsqu'il n'y a qu'une seule instruction entre le
begin et le end ceux-ci ne sont
pas obligatoires.)
Cependant ces deux points ne suffisent pas pour que la boucle s'arrête :
x:=1;
while x>0 do
begin
writeln(x);
x:=x+1;
end;