while expression do <bloc d'instructions>;
Le bloc d'instructions n'est pas exécuté si la valeur de expression est false. Il n'est donc pas exécuté du tout si la valeur de l'expression est false au départ
L'incrémentation doit être gérée par le programmeur lui-même. Il n'y a pas contrairement à la boucle for d'augmentation automatique d'une variable
program boucle_while;
var
i:integer;
begin
i:=1;
while i <= 5 do
begin
writeln('le carré de ', i, ' est :', sqr(i));
i:=i+1; { incrémentation gérée par le programmeur }
end;
writeln;
writeln('FIN.');
end.