Les instructions de conditionnelles en langage Turbo Pascal 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; |
ou
IF expression_vrai THEN instruction_exécuté_si_vrai ELSE instruction_exécuté_si_faux; |
ou
IF expression_vrai1THEN instruction_exécuté_si_vrai1 ELSE instruction_exécuté_si_faux; |
Vous y remarquerez donc après les syntaxes proposé que l'instruction «ELSE» n'est pas obligatoire.
Exemples
Cet exemple permet de tester une condition vrai :
Essayer maintenant !
on obtiendra le résultat suivant :
La condition est vraiCes exemples, en Turbo Pascal, permet de tester le mot réservé «IF» d'un peu toute les façons :
Essayer maintenant !
- Program IfSamples2;
-
- BEGIN
- If False Then WriteLn('FALSE');
- If Not False Then WriteLn('NOT FALSE');
- If True Then WriteLn('TRUE');
- If Not True Then WriteLn('NOT TRUE');
- If Boolean(0)Then WriteLn('0');
- If Boolean(NOT 0)Then WriteLn('NOT 0');
- If Not Boolean(0)Then WriteLn('NOT(0)');
- If Boolean(1)Then WriteLn('1');
- If Boolean(NOT 1)Then WriteLn('NOT 1');
- If Not Boolean(1)Then WriteLn('NOT(1)');
- If 100 > 300 Then WriteLn('100 > 300');
- If Boolean(1-Byte(100 > 300))Then WriteLn('1-(100 > 300)');
- END.
on obtiendra le résultat suivant :
NOT FALSETRUE
NOT 0
NOT(0)
1
NOT 1
1-(100 > 300)
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 ELSE IF valeur = 2 THEN instruction_exécuté_si_vrai2 ELSE IF valeur = 3 THEN instruction_exécuté_si_vrai3 ELSE instruction_exécuté_si_faux |
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.
Exemple
Cet exemple permet d'évaluer la valeur de la variable «a» :
Essayer maintenant !
on obtiendra le résultat suivant :
Entre 1 et 3