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.
Exemple
Cet exemple permet de tester une condition vrai :
on obtiendra le résultat suivant :
La condition est vraiCASE
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 applicable 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 cet 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.
Exemple
Cet exemple permet d'évaluer la valeur de la variable «a» :
on obtiendra le résultat suivant :
Entre 1 et 3