 
  
  
   
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;