Difference between revisions of "Basic Pascal Tutorial/Chapter 3/IF/fr"

From Lazarus wiki
Jump to navigationJump to search
(Refonte)
Line 1: Line 1:
 
{{IF}}
 
{{IF}}
  
3Ca - IF (auteur: Tao Yue, état: traduit)
+
[[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 est:
+
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 [[block|bloc]] <tt>begin-end</tt> pour délimiter les instructions:
+
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 voies:
+
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 voulez (croyez vouloir!) faire:
+
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 comme:
+
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 nulle:
+
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 condition.
+
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 exepression comme: <tt>(not(a < b) or (c + 3 > 6)) and g</tt>, inverser l'expression serait plus difficile que la NOTer.
+
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}}
{|style=color-backgroud="white" cellspacing="20"
 
|[[Boolean_Expressions/fr|précédent]] 
 
|[[Contents/fr|table des matières]]
 
|[[CASE/fr|suivant]]
 
|}
 

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