L’instruction conditionnelle : if then elif else end

### 9.4.20 L’instruction conditionnelle : if then elif else end

Lorsqu’il y a plusieurs if...else if... à la suite on peut aussi utiliser un elif qui est une écriture condensée de else if. L’instruction elif permet une écriture plus lisible car un seul end suffit pour clore le if. Le dernier elif peut comporter ou ne pas comporter un else. Voici la syntaxe :

if (condition1) then
action1;
elif (condition2) then
action2;
elif (condition3) then
action3;
end
ou bien if (condition1) then
action1;
elif (condition2) then
action2;
elif (condition3) then
action3;
else action4;
end
On tape par exemple pour définir la fonction f définit par :

- f(x)=8 si x>8
- f(x)=4 si 4<x≥ 8
- f(x)=2 si 2<x≥ 4
- f(x)=1 si 0<x≥ 2
- f(x)=0 si x≤ 0

    f(a):= {
      if a>8 then
        return 8;
      elif a>4 then
        return 4;
      elif a>2 then
        return 2;
      elif a>0 then
        return 1;
      elif a<=0 then
        return 0;
      end;
    }:;

ou plutôt en utilisant un else à la place du dernier elif, on tape:

    f(a):= {
      if a>8 then
        return 8;
      elif a>4 then
        return 4;
      elif a>2 then
        return 2;
      elif a>0 then
        return 1;
      else
        return 0;
      end;
    }:;