Les tests et conditions
1. Principe
Dans le précédent chapitre vous avez pu vous familiariser avec les expressions mettant en place des opérateurs, qu’ils
soient de calcul, de comparaison (l’égalité) ou booléens. Ces opérateurs et expressions trouvent tout leur sens une
fois utilisés dans des conditions (qu’on appelle aussi des branchements conditionnels). Une expression évaluée est ou
vraie (le résultat est différent de zéro) ou fausse. Suivant ce résultat, l’algorithme va effectuer une action, ou une
autre. C’est le principe de la condition.
Grâce aux opérateurs booléens, l’expression peut être composée : plusieurs expressions sont liées entre elles à l’aide
d’un opérateur booléen, éventuellement regroupées avec des parenthèses pour en modifier la priorité.
(a=1 OU (b*3=6)) ET c>10
est une expression tout à fait valable. Celleci sera vraie si chacun de ses composants respecte les conditions
imposées. Cette expression est vraie si a vaut 1 et c est supérieur à 10 ou si b vaut 2 (2*3=6) et c est supérieur à 10.
Reprenez l’algorithme du précédent chapitre qui calcule les deux résultats possibles d’une équation du second degré.
L’énoncé simplifié disait que pour des raisons pratiques seul le cas où l’équation a deux solutions fonctionne.
Autrement dit, l’algorithme n’est pas faux dans ce cas de figure, mais il est incomplet. Il manque des conditions pour
tester la valeur du déterminant : celuici estil positif, négatif ou nul ? Et dans ces cas, que faire et comment le faire ?
Imaginez un second algorithme permettant de se rendre d’un point A à un point B. Vous n’allez pas le faire ici
réellement, car c’est quelque chose de très complexe sur un réseau routier important. De nombreux sites Internet vous
proposent d’établir un trajet avec des indications. C’est le résultat qui est intéressant. Les indications sont simples :
allez tout droit, tournez à droite au prochain carrefour, faites trois kilomètres et au rondpoint prenez la troisième
sortie direction B. Dans la plupart des cas si vous suivez ce trajet vous arrivez à bon port. Mais quid des
impondérables ? Par où allezvous passer si la route à droite au prochain carrefour est devenue un sens interdit (ça
arrive parfois, y compris avec un GPS, prudence) ou que des travaux empêchent de prendre la troisième sortie du rondpoint ?
Reprenez le trajet : allez tout droit. Si au prochain carrefour la route à droite est en sens interdit : continuez tout droit
puis prenez à droite au carrefour suivant puis à gauche sur deux kilomètres jusqu’au rondpoint. Sinon : tournez à
droite et faites trois kilomètres jusqu’au rondpoint. Au rondpoint, si la sortie vers B est libre, prenez cette sortie.
Sinon, prenez vers C puis trois cents mètres plus loin tournez à droite vers B.
Ce petit parcours ne met pas uniquement en lumière la complexité d’un trajet en cas de détour, mais aussi les
nombreuses conditions qui permettent d’établir un trajet en cas de problème. Si vous en possédez, certains logiciels de
navigation par GPS disposent de possibilités d’itinéraire Bis, de trajectoire d’évitement sur telle section, ou encore pour
éviter les sections à péage. Pouvezvous maintenant imaginer le nombre d’expressions à évaluer dans tous ces cas de
figure, en plus de la vitesse de chaque route pour optimiser l’heure d’arrivée ?
2. Que tester ?
Les opérateurs s’appliquent sur quasiment tous les types de données, y compris les chaînes de caractères, tout au
moins en pseudocode algorithmique. Vous pouvez donc quasiment tout tester. Par tester, comprenez ici évaluer une
expression qui est une condition. Une condition est donc le fait d’effectuer des tests pour, en fonction du résultat de
ceuxci, effectuer certaines actions ou d’autres.
Une condition est donc une affirmation : l’algorithme et le programme ensuite détermineront si celleci est vraie, ou
fausse.
Une condition retournant VRAI ou FAUX, a comme résultat un booléen.
En règle générale, une condition est une comparaison même si en programmation une condition peut être décrite par
une simple variable (ou même une affectation) par exemple. Pour rappel, une comparaison est une expression
composée de trois éléments :
q une première valeur : variable ou scalaire
q un opérateur de comparaison
q une seconde valeur : variable ou scalaire.
Les opérateurs de comparaison sont :
- 1 -
© ENI Editions - All rigths reserved - Jonifar lina
47
1. Principe
Dans le précédent chapitre vous avez pu vous familiariser avec les expressions mettant en place des opérateurs, qu’ils
soient de calcul, de comparaison (l’égalité) ou booléens. Ces opérateurs et expressions trouvent tout leur sens une
fois utilisés dans des conditions (qu’on appelle aussi des branchements conditionnels). Une expression évaluée est ou
vraie (le résultat est différent de zéro) ou fausse. Suivant ce résultat, l’algorithme va effectuer une action, ou une
autre. C’est le principe de la condition.
Grâce aux opérateurs booléens, l’expression peut être composée : plusieurs expressions sont liées entre elles à l’aide
d’un opérateur booléen, éventuellement regroupées avec des parenthèses pour en modifier la priorité.
(a=1 OU (b*3=6)) ET c>10
est une expression tout à fait valable. Celleci sera vraie si chacun de ses composants respecte les conditions
imposées. Cette expression est vraie si a vaut 1 et c est supérieur à 10 ou si b vaut 2 (2*3=6) et c est supérieur à 10.
Reprenez l’algorithme du précédent chapitre qui calcule les deux résultats possibles d’une équation du second degré.
L’énoncé simplifié disait que pour des raisons pratiques seul le cas où l’équation a deux solutions fonctionne.
Autrement dit, l’algorithme n’est pas faux dans ce cas de figure, mais il est incomplet. Il manque des conditions pour
tester la valeur du déterminant : celuici estil positif, négatif ou nul ? Et dans ces cas, que faire et comment le faire ?
Imaginez un second algorithme permettant de se rendre d’un point A à un point B. Vous n’allez pas le faire ici
réellement, car c’est quelque chose de très complexe sur un réseau routier important. De nombreux sites Internet vous
proposent d’établir un trajet avec des indications. C’est le résultat qui est intéressant. Les indications sont simples :
allez tout droit, tournez à droite au prochain carrefour, faites trois kilomètres et au rondpoint prenez la troisième
sortie direction B. Dans la plupart des cas si vous suivez ce trajet vous arrivez à bon port. Mais quid des
impondérables ? Par où allezvous passer si la route à droite au prochain carrefour est devenue un sens interdit (ça
arrive parfois, y compris avec un GPS, prudence) ou que des travaux empêchent de prendre la troisième sortie du rondpoint ?
Reprenez le trajet : allez tout droit. Si au prochain carrefour la route à droite est en sens interdit : continuez tout droit
puis prenez à droite au carrefour suivant puis à gauche sur deux kilomètres jusqu’au rondpoint. Sinon : tournez à
droite et faites trois kilomètres jusqu’au rondpoint. Au rondpoint, si la sortie vers B est libre, prenez cette sortie.
Sinon, prenez vers C puis trois cents mètres plus loin tournez à droite vers B.
Ce petit parcours ne met pas uniquement en lumière la complexité d’un trajet en cas de détour, mais aussi les
nombreuses conditions qui permettent d’établir un trajet en cas de problème. Si vous en possédez, certains logiciels de
navigation par GPS disposent de possibilités d’itinéraire Bis, de trajectoire d’évitement sur telle section, ou encore pour
éviter les sections à péage. Pouvezvous maintenant imaginer le nombre d’expressions à évaluer dans tous ces cas de
figure, en plus de la vitesse de chaque route pour optimiser l’heure d’arrivée ?
2. Que tester ?
Les opérateurs s’appliquent sur quasiment tous les types de données, y compris les chaînes de caractères, tout au
moins en pseudocode algorithmique. Vous pouvez donc quasiment tout tester. Par tester, comprenez ici évaluer une
expression qui est une condition. Une condition est donc le fait d’effectuer des tests pour, en fonction du résultat de
ceuxci, effectuer certaines actions ou d’autres.
Une condition est donc une affirmation : l’algorithme et le programme ensuite détermineront si celleci est vraie, ou
fausse.
Une condition retournant VRAI ou FAUX, a comme résultat un booléen.
En règle générale, une condition est une comparaison même si en programmation une condition peut être décrite par
une simple variable (ou même une affectation) par exemple. Pour rappel, une comparaison est une expression
composée de trois éléments :
q une première valeur : variable ou scalaire
q un opérateur de comparaison
q une seconde valeur : variable ou scalaire.
Les opérateurs de comparaison sont :
- 1 -
© ENI Editions - All rigths reserved - Jonifar lina
47
