La structure de choix
CHAPITRE 4
58
Remarque
Vous auriez pu être tenté d’écrire la condition précédente de cette façon :
10 < nombre <= 20
Mais cela ne correspond plus exactement à la définition que nous avons donnée d’une
condition complexe. Certes, nous aurions pu convenir qu’elle était équivalente à celle souhaitée, mais comme aucun langage n’accepte ce genre de notation, nous avons préféré
l’éviter.
Exercice 4.3 Lire trois nombres entiers et trouver s’ils sont ou non rangés dans l’ordre croissant strict, c’est-à-dire que, si a, b et c désignent ces nombres, ils devront vérifier l’égalité
mathématique : a < b < c.
3 Cas particulier : une partie du choix absente
Supposez que, dans un programme de calcul d’une facture, il nous faille effectuer une remise
de 1% lorsque son montant dépasse 2000 euros. Vous voyez que si nous nommons montant
la variable correspondante, supposée de type reel, nous sommes amenés à effectuer un
choix basé sur la condition montant > 2000. Si celle-ci est vraie, nous pouvons effectuer
notre remise directement sur la valeur de montant par une affectation telle que :
montant := montant * 0.99
En revanche, si la condition est fausse, nous n’avons aucune instruction à exécuter. Nous
pourrions écrire ce choix particulier de cette manière :
si montant > 2000. alors montant := montant * 0.99
sinon
En fait, il paraît plus judicieux et plus naturel de ne pas mentionner le mot sinon et d’écrire
simplement :
si montant > 2000. alors montant := montant * 0.99
C’est de cette manière que nous noterons les structures de choix dans lesquelles la partie correspondant à sinon est inexistante. Cette structure de choix particulier se nomme souvent
exécution conditionnelle car elle correspond au cas où un ensemble d’instructions (on pourrait trouver un bloc) n’est exécuté que lorsqu’une condition donnée est vraie.
Remarques
1 Nous n’utiliserons pas de formulation semblable dans le cas où c’est la partie correspondant à alors qui est absente. En effet, écrire quelque chose comme :
si a > 0 sinon .........
Précédent

- 81/370

Suivant