For/fr

From Lazarus wiki
Jump to navigationJump to search

Deutsch (de) English (en) français (fr) русский (ru)

keyword utilisé avec "to" ou "downto" et "do" pour parcourir une boucle dans laquelle la variable de contrôle est incrémentée ou décrémentée de 1 à chaque fois :

FOR control_variable := start TO final DO statement

qui augmente control_variable de 1 à chaque exécution de la boucle jusqu'à ce que la valeur soit supérieure ou égale à final ou

FOR control_variable := start DOWNTO final do statement

qui diminue control_variable de 1 à chaque exécution de la boucle jusqu'à ce que la valeur soit inférieure ou égale à final

control_variable Where control_variable est la variable mise à la valeur start au départ.

For I:=1 To 100 Do statement;

(répète statement 100 fois, en augmentant I de 1 à 100)

  for I:=100 downto 1 do ''statement'';

(répète statement 100 fois, en diminuant I de 100 à 1)

  • FOR bouclera l'unique instruction qui le suit. Pour exécute plus d'une instruction, il faut entourer la séquence d'instructions avec un bloc Begin/End.
  • Dans une boucle for..to, si start est supérieur à final, la boucle n'est pas exécutée.
  • Dans une boucle for..downto, si start is inférieur à final, la boucle n'est pas exécutée.

After the loop, the value of control_variable will be final. If the loop was not executed, the value of control_variable does not change.

Variables enumérées

Pascal permet d'employer une variable de contrôle d'un type énuméré (par exemple un booléen) au lieu d'un variable entière :

program Fruits;
type
  TFruit = (fPomme, fPoire, fFraise, fMirabelle, fPrune, fFramboise, fCassis);
const
  FruitTextes: array[TFruit] of String =
    ('Pomme', 'Poire', 'Fraise', 'Mirabelle', 'Prune', 'Framboise', 'Cassis');
begin
  WriteLn('** Liste des fruits **');
  for f := Low(TFruit) to High(TFruit) do
    WriteLn(FruitTextes[f]); 
End;

End.

Extension de Pascal Objet

L'exemple des fruits devient :

program Fruits;
type
  TFruit = (fPomme, fPoire, fFraise, fMirabelle, fPrune, fFramboise, fCassis);
const
  FruitTextes: array[TFruit] of String =
    ('Pomme', 'Poire', 'Fraise', 'Mirabelle', 'Prune', 'Framboise', 'Cassis');
begin
  WriteLn('** Liste des fruits **');
  for f in TFruit do
    WriteLn(FruitTextes[f]); 
End;

End.

Ce qui est plus joli, non ?

Voir aussi



Mots-clés: begindoelseendforifrepeatthenuntilwhile