Difference between revisions of "Else/fr"
m |
m |
||
Line 34: | Line 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''. | 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''. | ||
− | |||
− | |||
<syntaxhighlight> | <syntaxhighlight> | ||
Line 73: | Line 71: | ||
end | end | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | <br> | |
+ | 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. | ||
{{Keywords}} | {{Keywords}} | ||
<br> | <br> | ||
[[category:Pascal/fr]] | [[category:Pascal/fr]] | ||
[[Category:Control Structures/fr]] | [[Category:Control Structures/fr]] |
Revision as of 14:24, 3 November 2016
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
русский (ru) │
Else dans la référence du langage
Else est un mot-clé qui introduit une action à faire quand la condition du if n'est pas vérifiée.
If then else
if (condition)
then ''true_statement''
else ''false_statement'';
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.
Plus d'instructions dans l'instruction "if then else"
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 délimité par begin et end.
if boolean_condition then
begin
statement_one;
statement_two;
end
else
begin
statement_three;
statement_four;
end;
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.
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.
if a then
if b then
begin
(..)
end;
else
begin
(..)
end;
Dans ce cas, le "else" s'applique au "if a"
if a then
if b then
begin
(..)
end
else
begin
(..)
end;
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" :
if a then
if b then
begin
(..)
end
else
else
begin
(..)
end
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.
Keywords: begin — do — else — end — for — if — repeat — then — until — while