Structures Décisionnelles

Page 1 sur 11Lecteur de document UniversityLib

Structures Décisionnelles

Computer Science - Algorithms and Programming · lab

Browse all programmation documents

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

Advertisement

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

Advertisement

É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

Advertisement

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.

Advertisement

➢ 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