Sign in Join
Wiki copytemporary

Else/fr

Deutsch · English · Español · Français · Suomi · Русский

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

pascal
  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.

pascal
  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.

pascal
  if a then
      if b then 
        begin
           (..)
        end;
      else
        begin
           (..)
        end;

Dans ce cas, le "else" s'applique au "if a"

pascal
  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" :

pascal
  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.


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.

Revision 2, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.