Difference between revisions of "Basic Pascal Tutorial/Chapter 3/IF/fr"
(Refonte) |
|||
Line 1: | Line 1: | ||
{{IF}} | {{IF}} | ||
− | + | [[Object Pascal Tutorial/fr|Tutoriel de Pascal Objet]] : Structures de contrôle / '''Si, sinon''' | |
− | L'instruction <tt>IF</tt> vous permet de bifurquer selon le résultat d'une opération booléenne. Le format d'une branche unique | + | L'instruction <tt>IF</tt> vous permet de bifurquer selon le résultat d'une opération booléenne. Le format d'une branche unique est : |
<syntaxhighlight> | <syntaxhighlight> | ||
if BooleanExpression then | if BooleanExpression then | ||
Line 9: | Line 9: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Si l'expression booléenne est évaluée à <tt>true</tt>, l'instruction est exécutée. Sinon elle est ignorée. | + | Si l'expression booléenne est évaluée à <tt>true</tt>, l'instruction est exécutée. Sinon, elle est ignorée. |
− | L'instruction <tt>IF</tt> accepte une unique instruction. Si vous voulez vous brancher sur une instruction composée, vous devez utiliser un [[ | + | L'instruction <tt>IF</tt> accepte une unique instruction. Si vous voulez vous brancher sur une instruction composée, vous devez utiliser un [[Block|bloc]] <tt>begin-end</tt> pour délimiter les instructions : |
<syntaxhighlight> | <syntaxhighlight> | ||
if BooleanExpression then | if BooleanExpression then | ||
Line 20: | Line 20: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Il y a aussi la sélection à deux | + | Il y a aussi la sélection à deux voies : |
<syntaxhighlight> | <syntaxhighlight> | ||
if BooleanExpression then | if BooleanExpression then | ||
Line 30: | Line 30: | ||
Si l'expression booléenne est évaluée à <tt>FALSE</tt>, l'instruction suivant le <tt>else</tt> sera réalisée. Notez que vous ne pouvez pas utiliser le point-virgule après l'instruction précédant le <tt>else</tt>. Cela amène l'ordinateur à la traiter comme une sélection à branche unique, le laissant à se demander d'où l'autre est venue. | Si l'expression booléenne est évaluée à <tt>FALSE</tt>, l'instruction suivant le <tt>else</tt> sera réalisée. Notez que vous ne pouvez pas utiliser le point-virgule après l'instruction précédant le <tt>else</tt>. Cela amène l'ordinateur à la traiter comme une sélection à branche unique, le laissant à se demander d'où l'autre est venue. | ||
− | Si vous avez besoin d'une sélection multiple, imbriquez simplement les instructions <tt>if</tt>: | + | Si vous avez besoin d'une sélection multiple, imbriquez simplement les instructions <tt>if</tt> : |
<syntaxhighlight> | <syntaxhighlight> | ||
if Condition1 then | if Condition1 then | ||
Line 41: | Line 41: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Soyez prudent avec l'imbrication. Parfois l'ordinateur ne fera pas ce que vous | + | Soyez prudent avec l'imbrication. Parfois, l'ordinateur ne fera pas ce que vous voulez : |
<syntaxhighlight> | <syntaxhighlight> | ||
if Condition1 then | if Condition1 then | ||
Line 50: | Line 50: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Le <tt>else</tt> correspond toujours au <tt>if</tt> le plus proche, donc l'ordinateur interprète le bloc de code précédent | + | Le <tt>else</tt> correspond toujours au <tt>if</tt> le plus proche, donc l'ordinateur interprète le bloc de code précédent comme : |
<syntaxhighlight> | <syntaxhighlight> | ||
if Condition1 then | if Condition1 then | ||
Line 59: | Line 59: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Vous pouvez obtenir la même chose avec l'instruction | + | Vous pouvez obtenir la même chose avec l'instruction nulle : |
<syntaxhighlight> | <syntaxhighlight> | ||
if Condition1 then | if Condition1 then | ||
Line 69: | Line 69: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Ou vous pouvez utiliser un bloc <tt>begin-end</tt>. Mais la meilleure façon de clarifier le code est de réécrire la | + | Ou vous pouvez utiliser un bloc <tt>begin-end</tt>. Mais la meilleure façon de clarifier le code précédent est de réécrire la condition : |
<syntaxhighlight> | <syntaxhighlight> | ||
if not Condition1 then | if not Condition1 then | ||
Line 78: | Line 78: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Ces exemple illustre où l'opérateur <tt>not</tt> est utile. Si <tt>Condition1</tt> était une | + | Ces exemple illustre où l'opérateur <tt>not</tt> est utile. Si <tt>Condition1</tt> était une expression comme : <tt>(not(a < b) or (c + 3 > 6)) and g</tt>, inverser l'expression serait plus difficile que la préfixer par <tt>not</tt>. |
Aussi, remarquez comment l'indentation transmet la logique du code du programme à un humain, mais le compilateur ignore l'indentation. | Aussi, remarquez comment l'indentation transmet la logique du code du programme à un humain, mais le compilateur ignore l'indentation. | ||
− | + | {{Tutorial page navigation/fr|Boolean Expressions|CASE}} | |
− | { | ||
− | |||
− | | | ||
− | |||
− |
Revision as of 02:59, 26 October 2015
│
български (bg) │
English (en) │
français (fr) │
日本語 (ja) │
中文(中国大陆) (zh_CN) │
Tutoriel de Pascal Objet : Structures de contrôle / Si, sinon
L'instruction IF vous permet de bifurquer selon le résultat d'une opération booléenne. Le format d'une branche unique est :
if BooleanExpression then
InstructionSiVrai;
Si l'expression booléenne est évaluée à true, l'instruction est exécutée. Sinon, elle est ignorée.
L'instruction IF accepte une unique instruction. Si vous voulez vous brancher sur une instruction composée, vous devez utiliser un bloc begin-end pour délimiter les instructions :
if BooleanExpression then
begin
Instruction1;
Instruction2
end;
Il y a aussi la sélection à deux voies :
if BooleanExpression then
InstructionSiVrai
else
InstructionSiFaux;
Si l'expression booléenne est évaluée à FALSE, l'instruction suivant le else sera réalisée. Notez que vous ne pouvez pas utiliser le point-virgule après l'instruction précédant le else. Cela amène l'ordinateur à la traiter comme une sélection à branche unique, le laissant à se demander d'où l'autre est venue.
Si vous avez besoin d'une sélection multiple, imbriquez simplement les instructions if :
if Condition1 then
Instruction1
else
if Condition2 then
Instruction2
else
Instruction3;
Soyez prudent avec l'imbrication. Parfois, l'ordinateur ne fera pas ce que vous voulez :
if Condition1 then
if Condition2 then
Instruction2
else
Instruction1;
Le else correspond toujours au if le plus proche, donc l'ordinateur interprète le bloc de code précédent comme :
if Condition1 then
if Condition2 then
Instruction2
else
Instruction1;
Vous pouvez obtenir la même chose avec l'instruction nulle :
if Condition1 then
if Condition2 then
Instruction2
else
else
Instruction1;
Ou vous pouvez utiliser un bloc begin-end. Mais la meilleure façon de clarifier le code précédent est de réécrire la condition :
if not Condition1 then
Instruction1
else
if Condition2 then
Instruction2;
Ces exemple illustre où l'opérateur not est utile. Si Condition1 était une expression comme : (not(a < b) or (c + 3 > 6)) and g, inverser l'expression serait plus difficile que la préfixer par not.
Aussi, remarquez comment l'indentation transmet la logique du code du programme à un humain, mais le compilateur ignore l'indentation.
← | Sommaire | → |