if ... then ... else
if then else est la principale structure de contrôle conditionnelle.
Instruction
Deux formes sont possibles:
- if <expressionBooléenne> then <action1>;
- if <expressionBooléenne> then <action1> else <action2>;
Notez l'absence de point-virgule ; avant le else.
Bien qu'on puisse tout écrire sur une seule ligne, il est recommandé d'écrire la condition et les instructions sur des lignes différentes (ce qui facilite la lisibilité et le débogage pas à pas).
Si les actions sont constituées de plusieurs instructions, il est possible d'utiliser des blocs begin end:
action0;
if test1 then
action1 // pas de ; avant else
else
action1bis;
if test1 then begin
action1;
action2;
end else begin // pas de ; entre end et else
action1bis;
action2bis;
end;
if test2 then // pas de bloc begin..end
action3 // => pas de ; avant else
else begin
action4;
action5;
end;
Expression
Il est aussi possible d'utiliser les deux formes de if then else au sein d'expressions.
Dans la forme sans **else*, si la condition est False, la valeur de l'expression sera la valeur par défaut du type (0 pour un Integer, 0.0 pour un Float, chaîne vide pour une chaîne, etc.)
var s := if condition then 'hello';
Dans le code ci-dessus, le type de i sera Integer, et sa valeur sera 123 si condition est True, zero sinon.Le type de s sera String, et sa valeur sera 'hello' si condition est True, une chaîne vide sinon.