Structures conditionnelles et
Alternatives
Souvent les problèmes nécessitent l'étude de plusieurs situations qui ne
peuvent pas être traitées par les séquences d'actions simples. Puisqu'on
a plusieurs situations, et qu'avant l'exécution, on ne sait pas quel cas de
figure on aura à exécuter, dans l'algorithme on doit prévoir tous les cas
possibles.
Ce sont les structures conditionnelles ou alternatives qui le
permettent, en se basant sur ce qu'on appelle condition.
Une instruction conditionnelle est une instruction qui n'est exécutée que
si une condition est validée. Il est possible d'ajouter des instructions
alternatives et des instructions alternatives conditionnelles à une
structure conditionnelle.
[Link] conditions en pseudo-code
a. Conditions simples
Une condition est une expression qui relie deux valeurs et/ou variables à
l'aide d'un opérateur de comparaison.
Lorsque l'algorithme est exécuté, les conditions sont testées. Le résultat
du test peut valider ou non la condition.
Voici la liste des opérateurs de comparaison qui existent.
= est l’opérateur d’égalité.
<> est l’opérateur de différence.
> est l’opérateur « strictement supérieur à ».
≥ est l’opérateur « supérieur ou égal à ».
< est l’opérateur « strictement inférieur à ».
≤ est l’opérateur « inférieur ou égal à ».
Exemples
prix > 10
nom = “Tom”
Remarques
● Il ne faut pas confondre l’opérateur d’égalité (=) avec l'opérateur
d'affectation ←.
○ age = 5 est une condition, on teste si la variable age vaut 5 ou non.
○ age ← 5 est une affectation, on donne la valeur 5 à la variable âge.
● L’opérateur d’égalité est parfois noté ==, et l’opérateur de différence est
parfois noté !=.
● Une variable de type booléen peut être directement utilisée en tant que
condition.
Si sa valeur est Vrai, le test valide la condition.
Si sa valeur est Faux, le test ne valide pas la condition.
[Link] composées
On peut écrire des conditions composées, en fusionnant deux (ou plusieurs)
conditions simples avec les opérateurs logiques ET et OU.
● Avec l'opérateur ET, il faut que les deux conditions simples soient Vrai
pour que la condition composée soit validée.
Exemples
○ La condition suivante ne sera validée que si le prix
est à la fois strictement plus grand que 15 , et à la
fois strictement plus petit que 30 :
prix > 15 ET prix < 30.
○ La condition suivante ne sera validée que si le
prénom est Tom, et en même temps que l'âge est
strictement inférieur à 18 ans :
prenom = "Tom" ET age < 18.
Remarque
En algorithmique, l’écriture 15 < age < 30 n’est pas valable.
Il faut écrire 15 < age ET age < 30.
● Avec l'opérateur OU, il faut qu'au moins l'une des deux conditions simples
soit validée pour que la condition composée soit validée.
Exemples
● La condition suivante est validée dès lors que l'âge est plus petit
ou égal à 26 ans, ou que l'âge est plus grand ou égal à 60 ans :
age ≤ 26 OU age ≥ 60.
● La condition suivante est validée dès lors que le prix est
strictement plus petit que 50 , ou que la variable enPromotion
vaut vrai :
prix < 50 OU enPromotion.
[Link] structures conditionnelles
a. Instruction conditionnelle
Une instruction conditionnelle est une instruction qui n'est exécutée que si
une condition est validée.
L’instruction conditionnelle est écrite entre les lignes qui commencent par les
mot-clés Si, suivi d’une condition, et FinSi.
Syntaxe :
Si (condition) alors
instruction 1
instruction n
Fsi
Exemple
L'ordinateur qui exécute l'algorithme suivant affecte la valeur Vrai à la variable
estMajeur, puis écrit un message à l'écran, uniquement si l’âge est supérieur
ou égal à 18 ans (= si la condition age ≥ 18 est validée).
Algo Exercice
Variable
age : nombre
estMajeur : booleen
Début
Écrire “Quel est votre âge ?”
Lire (age)
Si age ≥ 18 alors
estMajeur ← vrai
Écrire “Vous êtes majeur.”
FinSi
Fin
Remarques
● Les instructions qui se trouvent entre Si et FinSi sont indentées
(décalées vers la droite) d'un cran supplémentaire par rapport au reste
de l’algorithme. Cela permet de bien mettre en évidence qu'elles ne se
réalisent que si la condition après le Si est validée.
● Les instructions conditionnelles sont à la base des algorithmes
intelligents. Elles permettent de faire prendre un décision différente au
système numérique en fonction de la situation.
[Link] alternative
Il est possible d'ajouter une instruction alternative après une instruction
conditionnelle, si la condition n'est pas respectée.
On utilise le mot-clé Sinon pour représenter cette alternative.
Exemple
L'ordinateur qui exécute l'algorithme suivant affecte une valeur différente à
estMajeur et affiche un texte différent à l'écran, selon l'âge entré par
l'utilisateur.
Variable
age : nombre
estMajeur : booléen
Début
Écrire “Quel est votre âge ?”
Lire age
Si age ≥ 18 alors
estMajeur ← vrai
Écrire “Vous êtes majeur.”
Sinon
estMajeur ← faux
Écrire “Vous êtes mineur.”
FinSi
Fin
Remarque
Il est possible d’imbriquer des structures conditionnelles à l’intérieur d’autres
structures conditionnelles. Il faut alors respecter l’indentation pour que
l’algorithme reste lisible.