La structure de choix
CHAPITRE 4
56
Remarques
1 Les comparaisons d’égalité entre expressions réelles sont à utiliser avec précaution. En
effet, compte tenu de la représentation approchée des nombres réels, il est tout à fait possible qu’une égalité théoriquement attendue ne soit pas vérifiée. Par exemple, il n’est pas
certain que ces égalités soient vraies (x est supposée de type réel) :
10 * 0.1 = 1.
3 * (1./3.) = 1
3 * x - 2 * x = x
3 * x - 2 * x - x = 0
2 Ici, par souci de simplicité, nous ne chercherons à comparer que des expressions de
même type. La plupart des langages autorisent la comparaison d’expressions de types
différents, en mettant en place des conversions analogues à celles rencontrées dans les
expressions mixtes.
Exercice 4.1 Lire deux nombres entiers et déterminer s’il sont rangés ou non par ordre croissant.
Exercice 4.2 Lire deux nombres entiers. Déterminer s’ils sont rangés ou non par ordre croissant et, dans tous les cas, afficher leur différence (entre le plus grand et le plus petit).
2.2 Les conditions complexes
2.2.1 Présentation
La plupart des langages autorisent des conditions formées de plusieurs conditions simples
reliées entre elles par des opérations logiques : et, ou et non. Là encore les notations utilisées
pour ces opérations logiques peuvent varier suivant le langage. Nous conviendrons que la
condition :
a < b et b < 0
est vraie si les deux conditions simples a < b et b > 0 sont toutes les deux vraies.
De même, la condition :
a < b ou b < 0
sera vraie si l’une au moins des deux conditions a < b et b > 0 est vraie.
Enfin, la condition :
non a < b
sera vraie si la condition a < b est fausse. Cette dernière condition est donc ici équivalente
à :
a >= b
CHAPITRE 4
56
Remarques
1 Les comparaisons d’égalité entre expressions réelles sont à utiliser avec précaution. En
effet, compte tenu de la représentation approchée des nombres réels, il est tout à fait possible qu’une égalité théoriquement attendue ne soit pas vérifiée. Par exemple, il n’est pas
certain que ces égalités soient vraies (x est supposée de type réel) :
10 * 0.1 = 1.
3 * (1./3.) = 1
3 * x - 2 * x = x
3 * x - 2 * x - x = 0
2 Ici, par souci de simplicité, nous ne chercherons à comparer que des expressions de
même type. La plupart des langages autorisent la comparaison d’expressions de types
différents, en mettant en place des conversions analogues à celles rencontrées dans les
expressions mixtes.
Exercice 4.1 Lire deux nombres entiers et déterminer s’il sont rangés ou non par ordre croissant.
Exercice 4.2 Lire deux nombres entiers. Déterminer s’ils sont rangés ou non par ordre croissant et, dans tous les cas, afficher leur différence (entre le plus grand et le plus petit).
2.2 Les conditions complexes
2.2.1 Présentation
La plupart des langages autorisent des conditions formées de plusieurs conditions simples
reliées entre elles par des opérations logiques : et, ou et non. Là encore les notations utilisées
pour ces opérations logiques peuvent varier suivant le langage. Nous conviendrons que la
condition :
a < b et b < 0
est vraie si les deux conditions simples a < b et b > 0 sont toutes les deux vraies.
De même, la condition :
a < b ou b < 0
sera vraie si l’une au moins des deux conditions a < b et b > 0 est vraie.
Enfin, la condition :
non a < b
sera vraie si la condition a < b est fausse. Cette dernière condition est donc ici équivalente
à :
a >= b
