|
Les instructions de conditionnel en langage Ada sont au nombres de deux:
- IF THEN ... ELSE
- CASE OF ... END
IF THEN ELSE
L'instruction «IF» permet le teste d'une condition et de choisir d'effectuer des instructions plutôt que d'autre dans le cas ou celle-ci serait vrai.
Voici donc les syntaxes:
IF expression_vrai THEN
instruction_exécuté_si_vrai;
END IF;
|
ou
IF expression_vrai THEN
instruction_exécuté_si_vrai
ELSE
instruction_exécuté_si_faux;
END IF;
|
ou
IF expression_vrai THEN
instruction_exécuté_si_vrai
ELSIF expression_vrai2 THEN
instruction_exécuté_si_vrai2
ELSE
instruction_exécuté_si_faux;
END IF;
|
Vous y remarquerez donc après les syntaxes proposé que l'instruction «ELSE» n'est
pas obligatoire.
CASE
Lorsqu'on effectue une série de teste répétitive sur une même variable avec différentes valeurs de la manière suivante:
IF valeur = 1 THEN
instruction1_exécuté_si_vrai1
ELSIF valeur = 2 THEN
instruction_exécuté_si_vrai2
ELSIF valeur = 3 THEN
instruction_exécuté_si_vrai3
ELSE
instruction_exécuté_si_faux
END IF;
|
On devrait plutôt tenté d'utiliser l'instruction «CASE» laquelle permet une meilleure lisibilité en plus de
simplifié la compréhension pour un programmeur externe à votre code. Ainsi, l'instruction CASE permet d'effectuer
de nombreuses comparaisons sur un unique résultat. Voici donc sa syntaxe:
CASE résultat IS
WHEN valeur1 =>
instruction1_exécuté_si_vrai1;
WHEN valeur2 =>
instruction_exécuté_si_vrai2;
WHEN valeur3 =>
instruction_exécuté_si_vrai3;
WHEN OTHERS =>
instruction_exécuté_si_faux;
END CASE;
|
Il est également possible d'avoir des ensembles de valeurs appliquable comme cas. Voici un exemple:
CASE résultat IS
WHEN 5..9 => instruction1;
WHEN 11..14 => instruction2;
WHEN 10 | 15 | 16 => instruction3;
END CASE;
|
Dans cette exemple les «instructions1» est exécuté si le résultat a une valeur entre 5 et 9.
Ensuite, les «instructions2» est exécuté si le résultat a une valeur entre 11 et 14.
Enfin, les «instructions3» est exécuté si le résultat à la valeur 10, 15 ou 16.
|
|
| Dernière mise à jour: Vendredi, le 3 février 2006 |