Sign in Join
Wiki copytemporary

Else/fr: what changed

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

OldNewLine
1-[Else dans la référence du langage](<http://www.freepascal.org/docs-html/ref/refsu51.html#x144-15400013.2.3>)
1+[Else dans la référence du langage](http://www.freepascal.org/docs-html/ref/refsu51.html#x144-15400013.2.3)
22
3-Else est un [[Keyword/fr|mot-clé]] qui introduit une action à faire quand la condition du if n'est pas vérifiée.
3+Else est un [[Keyword/fr|mot-clé]] qui introduit une action à faire quand la condition du if n'est pas vérifiée.
44
55# [[If/fr|If]] [[Then/fr|then]] else
6-```
7-if (condition)
8- then ''true_statement''
9- else ''false_statement'';
6+
7+``` pascal
8+ if (condition)
9+ then ''true_statement''
10+ else ''false_statement'';
1011```
1112
12-La _condition_ est évaluée, si la valeur est vraie alors _true_statement_ est exécuté sinon _false_statement_ est exécuté. La valeur de condition doit se ramener à un booléen sous peine d'erreur de compilation.
13+La *condition* est évaluée, si la valeur est vraie alors *true_statement* est exécuté sinon *false_statement* est exécuté. La valeur de condition doit se ramener à un booléen sous peine d'erreur de compilation.
1314
1415### Plus d'instructions dans l'instruction "if then else"
1516
16-Si vous avez besoin de 2 instructions ou plus pour _true_statement_ ou _false_statement_ , alors la suite d'instructions doit être placé dans un [bloc](</index.php?title=Block/fr&action=edit&redlink=1> "Block/fr \(page does not exist\)") délimité par [[Begin/fr|begin]] et [[End/fr|end]].
17+Si vous avez besoin de 2 instructions ou plus pour *true_statement* ou *false_statement*, alors la suite d'instructions doit être placé dans un [[Block/fr|bloc]] délimité par [[Begin/fr|begin]] et [[End/fr|end]].
18+
19+``` pascal
20+ if boolean_condition then
21+ begin
22+ statement_one;
23+ statement_two;
24+ end
25+ else
26+ begin
27+ statement_three;
28+ statement_four;
29+ end;
1730```
18-if boolean_condition then
31+
32+Dans un usage normal, l'instruction "else" est une exception spéciale à la règle qui veut que chaque instruction est suivie d'un point-virgule. Ni le mot-clé "else" ni l'instruction qui le précède immédiatement peuvent avoir un point-virgule qui le suit. Dans l'exemple ci-dessus, la première instruction "end" n'est pas suivie d'un point-virgule, mais la dernière l'est.
33+
34+Toutefois, dans le cas des instructions "if" imbriquées, si le *else* s'applique au *if* le plus interne, le point-virgule *ne* doit *pas* apparaître avent le *else*, si le *else* s'applique au *if* le plus externe alors le point-virgule *doit* apparaître avant le *else*.
35+
36+``` pascal
37+ if a then
38+ if b then
1939 begin
20- statement_one;
21- statement_two;
22- end
40+ (..)
41+ end;
2342 else
2443 begin
25- statement_three;
26- statement_four;
44+ (..)
2745 end;
2846```
2947
30-Dans un usage normal, l'instruction "else" est une exception spéciale à la règle qui veut que chaque instruction est suivie d'un point-virgule. Ni le mot-clé "else" ni l'instruction qui le précède immédiatement peuvent avoir un point-virgule qui le suit. Dans l'exemple ci-dessus, la première instruction "end" n'est pas suivie d'un point-virgule, mais la dernière l'est.
48+Dans ce cas, le "else" s'applique au "if a"
3149
32-Toutefois, dans le cas des instructions "if" imbriquées, si le _else_ s'applique au _if_ le plus interne, le point-virgule _ne_ doit _pas_ apparaître avent le _else_ , si le _else_ s'applique au _if_ le plus externe alors le point-virgule _doit_ apparaître avant le _else_.
33-```
34-if a then
35- if b then
36- begin
37- (..)
38- end;
39- else
40- begin
41- (..)
42- end;
50+``` pascal
51+ if a then
52+ if b then
53+ begin
54+ (..)
55+ end
56+ else
57+ begin
58+ (..)
59+ end;
4360```
4461
45-Dans ce cas, le "else" s'applique au "if a"
46-```
47-if a then
48- if b then
49- begin
50- (..)
51- end
52- else
53- begin
54- (..)
55- end;
56-```
62+Dans ce cas, le "else" s'applique au "if b". Si cela amène des ambiguïtés, elles peuvent être résolues en codant une instruction "else" "vide" :
5763
58-Dans ce cas, le "else" s'applique au "if b". Si cela amène des ambiguïtés, elles peuvent être résolues en codant une instruction "else" "vide" :
59-```
60-if a then
61- if b then
62- begin
63- (..)
64- end
65- else
64+``` pascal
65+ if a then
66+ if b then
67+ begin
68+ (..)
69+ end
6670 else
67- begin
68- (..)
69- end
71+ else
72+ begin
73+ (..)
74+ end
7075```
7176
72-Avis du traducteur : pour éviter les ambiguïtés dans de tels cas, forcer l'emploi des _begin_ et _end_ pour bien délimiter les blocs.
73-
74-
75-**Keywords:** [[Begin|begin]] — [[Do|do]] — [[Else|else]] — [[End|end]] — [[For|for]] — [[If|if]] — [[Repeat|repeat]] — [[Then|then]] — [[Until|until]] — [[While|while]]
77+Avis du traducteur : pour éviter les ambiguïtés dans de tels cas, forcer l'emploi des *begin* et *end* pour bien délimiter les blocs.
7678
7779---
78-*From the Free Pascal wiki, page "Else/fr", as the Internet Archive kept it on 2025-02-18. 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).*
80+*From the Free Pascal wiki, page "Else/fr", as it stood on 2020-01-14 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).*
81+Category: Control Structures/fr
82+Category: Pascal/fr

Back to history