Structures Décisionnelles
Séance 3
Année universitaire 2020/2021 – Semestre 1
1
Structures décisionnelles ou instructions
conditionnelles
➢Il arrive fréquemment dans la vie courante que notre conduite
soit déterminée par un choix entre deux possibilités.
➢ Par exemple :
Au volant
Si (le feu est rouge) alors
Je freine
Sinon
Je poursuis ma route
➢Cette situation est courante en algorithmique. L’instruction
conditionnelle exprime cette possibilité de choix. Elle est liée à
l’idée qu’une instruction ne s’exécute que si une condition C est
vérifiée. Si la condition n’est pas vérifiée, c’est une autre instruction
qui est exécutée.
2
Structure conditionnelle
structure
conditionnelle à
deux choix
structure
conditionnelle
à un seul
choix
Si condition alors
Action1
Fin si
Si condition alors
Action1
Sinon
Publicité
Action2
Fin si
➢La condition doit être formulée de manière à n’avoir que deux réponses :
➢ Oui : la condition est vérifiée, exécuter action1
➢ Non : la condition n’est pas vérifiée, exécuter Action2
➢ Action1 et/ou Action2 peuvent être des séquences d’instructions des
instructions conditionnelles, on parle alors d’instruction conditionnelle
imbriquée.
3
Nature de la condition
➢ La condition peut être simple ou complexe
➢ L’expression d’une condition simple a l’une des formes suivantes :
A>B,A<B, A>=B, A<=B, A=B ou A<>B ou une variable booléenne
➢ Une condition complexe combine plusieurs conditions simples à l’aide
des opérations logiques ET, OU et NON.
➢Exemple : calculer l’expression 1/x + 1/y
Algorithme somme_des_inverses
Var
x,y,s (réel)
Début
Lire (x,y)
Si (x<>0) ET (y<>0) alors
s 1/x + 1/y
écrire (s)
Fin si
Fin
4
Exemple 1
➢ Éditer la plus grande valeur. Le principe est le suivant : si la condition x >
y est vérifiée, x est le nombre cherché, sinon y est le nombre cherché.
Algorithme plus grand
Var
x,y,z (Réel)
Début
Publicité
Écrire("donner x“)
lire (x)
écrire ("donner y“)
lire (y)
si x > y alors
z x
sinon
z y
fin si
écrire ("le plus grand de", x, "et de",y, "est",z)
Fin
➢ Travail à faire: Écrire un programme qui lit un nombre entier puis qui
vérifie s'il est pair ou impair
5
Structures conditionnelles imbriquées (1)
➢ Si Action est une instruction conditionnelle alors on parle d’instruction
conditionnelle imbriquée
➢ Exemple: Un robot conduit une voiture , il peut exécuter 3 actions :
s’arrêter, ralentir ou passer en fonction de la couleur des feux (qui sera une
variable saisie)
Algorithme circulation
Var
Couleur (chaîne de caractères)
Début
écrire ("entrer la couleur")
lire (Couleur)
Si (Couleur = "Rouge") alors
écrire ("S’arrêter")
Sinon
Si (Couleur = "Vert") alors
écrire ("Passer")
Sinon
Fin si
Fin Si
Publicité
Fin
écrire ("Ralentir")
6
Structures conditionnelles imbriquées (2)
Travail à faire: Calcul de remise à partir d'un montant
lu en donnée, on détermine un montant net par
application d'une remise de :
◼ 5% si le montant est compris entre 2000 DT
(inclus) et 5000 DT (inclus).
◼ 10% si le montant est supérieur à 5000 DT.
7
Structures conditionnelles à plusieurs choix (1)
➢ Lorsqu’une expression peut atteindre plusieurs valeurs possibles, et qu’il
faut faire quelques choses de différent à chaque fois, on peut utiliser une
structure conditionnelle à plusieurs choix (branchement multiple).
➢ Cette structure conditionnelle ressemble à la structure Si...Alors...Sinon,
mais elle est plus efficace lorsqu'il s'agit de tester la même variable
plusieurs fois.
Suivant variable ou expression faire
<Liste_valeur_1> : instruction 1
<Liste_valeur_2> : instruction 2
...
<Liste_valeur_n> : instruction n
[Sinon : instruction par défaut]
Fin Suivant
8
Structures conditionnelles à plusieurs choix (2)
➢ L’expression ou valeur doit être une expression scalaire de même type
que les valeurs dans les listes (liste_valeur_i).
➢ Si la valeur de l’expression appartient à l’une des listes de valeurs,
l’instruction correspondante est exécutée et le branchement se termine (on
ne regarde pas les autres valeurs).
➢Si aucune de ces valeurs ne convient, l’instruction qui suit éventuellement
SINON (l’action par défaut) est exécutée.
Publicité
➢ Exemple
Suivant nombre faire
0 : écrire ("Nombre nul")
1 : écrire ("Nombre égal à 1")
2,3,5,7 : (" écrire ‘Nombre premier")
4,6,8..10 : ("écrire ‘Nombre non premier")
Sinon : écrire ("Nombre négatif ou > 10")
Fin Suivant
9
Structures conditionnelles à plusieurs choix (3)
➢ Un autre format pour les structures conditionnelles à plusieurs choix est le
suivant:
Suivant variable ou expression faire
<Condition_1> : instruction 1
<Condition_2> : instruction 2
...
<Condition_n> : instruction n
[Sinon : instruction par défaut]
Fin Suivant
➢ Si la condition i est vérifiée, alors l'algorithme exécute l’instruction i
➢Si aucune des conditions n’est vérifiée, l’instruction qui suit éventuellement
SINON (l’action par défaut) est exécutée.
10
Structures conditionnelles à plusieurs choix (4)
Travail à faire: Écrire un programme qui permet de
saisir une date sous la forme jj mm aa et d'afficher le
nombre de jours du mois mm et le nombre de jours
qui restent pour la fin de ce mois.
11