Infinite loop/fr

From Free Pascal wiki

English (en) suomi (fi) français (fr) русский (ru)

Une boucle infinie (aussi appelée boucle sans fin) est une boucle qui ne finit jamais.$ Dans la boucle, les instructions sont répétées indéfiniment.

 while true do
   begin
   end;
 repeat
 until false;

Toutefois, de telles constructions sont des cas particuliers, dans la pratique assez rares. Un exemple est une boucle d'interrogation d'événement dans les programmes avec IHM graphique. La présence d'une boucle infinie peut être le signe d'une erreur de programmation.

Instruction Break

Les boucles "While True Do" ou "Repeat/fr Until/fr False/fr" semblent inifines au premier regard, mais il y a une manière de s'échapper de la boucle avec Break.

var
  i:integer;
begin
  i := 0;
  while true do
    begin
      i := i + 1;
      if i = 100 then break;
    end;
end;
var
  i:integer;
begin
  i := 0;
  repeat
    i := i + 1;
    if i = 100 then break;
  until false;
end;

Break est aussi permis dans les boucles For/fr/For.


See also