Sign in Join
Wiki copytemporary

For/fr: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-\
21[[Keyword/fr|keyword]] utilisé avec "[[To/fr|to]]" ou "[[Downto/fr|downto]]" et "[[Do/fr|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 :
32
43`FOR `*`control_variable`*` := `*`start`*` `[[To/fr|TO]]` `*`final`*` DO `*`statement`*
54
65qui augmente *control_variable* de 1 à chaque exécution de la boucle jusqu'à ce que la valeur soit supérieure ou égale à *final* ou
76
87`FOR `*`control_variable`*` := `*`start`*` `[[Downto/fr|DOWNTO]]` `*`final`*` do `*`statement`*
98
109qui diminue *control_variable* de 1 à chaque exécution de la boucle jusqu'à ce que la valeur soit inférieure ou égale à *final*
1110
1211où *control_variable* Where *control_variable* est la variable mise à la valeur *start* au départ.
1312
1413``` pascal
1514For I:=1 To 100 Do statement;
1615```
1716
1817(répète *statement* 100 fois, en augmentant I de 1 à 100)
1918
2019``` pascal
2120 for I:=100 downto 1 do ''statement'';
2221```
2322
2423(répète *statement* 100 fois, en diminuant I de 100 à 1)
2524
2625- 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/fr|Begin]]/[[End/fr|End]].
2726- Dans une boucle for..to, si *start* est supérieur à *final*, la boucle n'est pas exécutée.
2827- Dans une boucle for..downto, si *start* is inférieur à *final*, la boucle n'est pas exécutée.
2928
3029After the loop, the value of *control_variable* will be *final*. If the loop was not executed, the value of *control_variable* does not change.
3130
3231## Variables enumérées
3332
3433[[Pascal/fr|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 :
3534
3635``` pascal
3736program Fruits;
3837type
3938 TFruit = (fPomme, fPoire, fFraise, fMirabelle, fPrune, fFramboise, fCassis);
4039const
4140 FruitTextes: array[TFruit] of String =
4241 ('Pomme', 'Poire', 'Fraise', 'Mirabelle', 'Prune', 'Framboise', 'Cassis');
4342begin
4443 WriteLn('** Liste des fruits **');
4544 for f := Low(TFruit) to High(TFruit) do
4645 WriteLn(FruitTextes[f]);
4746End;
4847
4948End.
5049```
5150
5251## Extension de Pascal Objet
5352
5453- [[for-in loop/fr|Boucle for...in]]
5554
5655L'exemple des fruits devient :
5756
5857``` pascal
5958program Fruits;
6059type
6160 TFruit = (fPomme, fPoire, fFraise, fMirabelle, fPrune, fFramboise, fCassis);
6261const
6362 FruitTextes: array[TFruit] of String =
6463 ('Pomme', 'Poire', 'Fraise', 'Mirabelle', 'Prune', 'Framboise', 'Cassis');
6564begin
6665 WriteLn('** Liste des fruits **');
6766 for f in TFruit do
6867 WriteLn(FruitTextes[f]);
6968End;
7069
7170End.
7271```
7372
7473Ce qui est plus joli, non ?
7574
7675## Voir aussi
7776
7877- [[Example: Why the loop variable should be of signed type]]
7978
8079---
8180*From the Free Pascal wiki, page "For/fr", as it stood on 2020-02-15 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history