Basic Pascal Tutorial/Chapter 3/IF/fr

From Free Pascal wiki
Revision as of 20:49, 19 March 2014 by E-ric (talk | contribs) (Created page with "{{IF}} 3Ca - IF (auteur: Tao Yue, état: traduit) L'instruction <tt>IF</tt> vous permet de bifurquer selon le résultat d'une opération booléenne. Le format d'une branche ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

български (bg) English (en) français (fr) 日本語 (ja) 中文(中国大陆)‎ (zh_CN)

3Ca - IF (auteur: Tao Yue, état: traduit)

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 (croyez vouloir!) faire:

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 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 exepression comme: (not(a < b) or (c + 3 > 6)) and g, inverser l'expression serait plus difficile que la NOTer.

Aussi, remarquez comment l'indentation transmet la logique du code du programme à un humain, mais le compilateur ignore l'indentation.


précédent table des matières suivant