Sign in Join
Wiki copytemporary

For/fr: what changed

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

Title: For/fr

OldNewLine
1+\
2+[[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 :
3+
4+`FOR `*`control_variable`*` := `*`start`*` `[[To/fr|TO]]` `*`final`*` DO `*`statement`*
5+
6+qui augmente *control_variable* de 1 à chaque exécution de la boucle jusqu'à ce que la valeur soit supérieure ou égale à *final* ou
7+
8+`FOR `*`control_variable`*` := `*`start`*` `[[Downto/fr|DOWNTO]]` `*`final`*` do `*`statement`*
9+
10+qui diminue *control_variable* de 1 à chaque exécution de la boucle jusqu'à ce que la valeur soit inférieure ou égale à *final*
11+
12+où *control_variable* Where *control_variable* est la variable mise à la valeur *start* au départ.
13+
14+``` pascal
15+For I:=1 To 100 Do statement;
16+```
17+
18+(répète *statement* 100 fois, en augmentant I de 1 à 100)
19+
20+``` pascal
21+ for I:=100 downto 1 do ''statement'';
22+```
23+
24+(répète *statement* 100 fois, en diminuant I de 100 à 1)
25+
26+- 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]].
27+- Dans une boucle for..to, si *start* est supérieur à *final*, la boucle n'est pas exécutée.
28+- Dans une boucle for..downto, si *start* is inférieur à *final*, la boucle n'est pas exécutée.
29+
30+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.
31+
32+## Variables enumérées
33+
34+[[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 :
35+
36+``` pascal
37+program Fruits;
38+type
39+ TFruit = (fPomme, fPoire, fFraise, fMirabelle, fPrune, fFramboise, fCassis);
40+const
41+ FruitTextes: array[TFruit] of String =
42+ ('Pomme', 'Poire', 'Fraise', 'Mirabelle', 'Prune', 'Framboise', 'Cassis');
43+begin
44+ WriteLn('** Liste des fruits **');
45+ for f := Low(TFruit) to High(TFruit) do
46+ WriteLn(FruitTextes[f]);
47+End;
48+
49+End.
50+```
51+
52+## Extension de Pascal Objet
53+
54+- [[for-in loop/fr|Boucle for...in]]
55+
56+L'exemple des fruits devient :
57+
58+``` pascal
59+program Fruits;
60+type
61+ TFruit = (fPomme, fPoire, fFraise, fMirabelle, fPrune, fFramboise, fCassis);
62+const
63+ FruitTextes: array[TFruit] of String =
64+ ('Pomme', 'Poire', 'Fraise', 'Mirabelle', 'Prune', 'Framboise', 'Cassis');
65+begin
66+ WriteLn('** Liste des fruits **');
67+ for f in TFruit do
68+ WriteLn(FruitTextes[f]);
69+End;
70+
71+End.
72+```
73+
74+Ce qui est plus joli, non ?
75+
76+## Voir aussi
77+
78+- [[Example: Why the loop variable should be of signed type]]
79+
80+---
81+*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