Section courante

A propos

Section administrative du site

Les instructions de conditionnelles en langage Modula-2 sont au nombres de deux :

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;

ou

IF expression_vrai THEN
   instruction_exécuté_si_vrai
ELSE
   instruction_exécuté_si_faux;
END;

ou

IF expression_vrai1 THEN
 instruction_exécuté_si_vrai1
ELSIF expression_vrai2THEN
 instruction_exécuté_si_vrai2;
END;

Vous y remarquerez donc après les syntaxes proposé que l'instruction «ELSE» n'est pas obligatoire. On peut également utiliser le mot «ELSIF» plutôt que «ELSE IF» pour ajouter à la lisibilité:

IF expression_vrai1 THEN
 instruction_exécuté_si_vrai1
ELSIF expression_vrai2 THEN
 instruction_exécuté_si_vrai2
ELSE
 instruction_exécuté_si_faux;
END;

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;

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 OF
 valeur1:  instruction1_exécuté_si_vrai1;
| valeur2:  instruction_exécuté_si_vrai2;
| valeur3:  instruction_exécuté_si_vrai3;
 ELSE  instruction_exécuté_si_faux;
END;

L'instruction «ELSE» n'est pas obligatoire, il est tout de même préférable de l'inclure pour prévenir une situation anormale ou d'erreur. Il est également possible d'avoir des ensembles de valeurs applicable comme cas. Voici un exemple:

CASE résultat OF
 5..9:  instruction1;
| 11..14:   instruction2;
| 10,15,16:   instruction3;
END;

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.



Dernière mise à jour : Jeudi, le 8 janvier 2015