Vous êtes sur la page 1sur 13

3/10/2023

1 2 3 4 5 6 7
Définition

Les structures de contrôle décrivent l’enchaînement des instructions. Elles permettent des traitements
séquentiels, conditionnels ou répétitifs (itératifs).
Bloc et séquence
Dans les langages impératifs, les instructions d’un même bloc sont exécutées séquentiellement, c’est-à-dire,
les unes après les autres, donc dans l’ordre où elles sont écrites. Algorithme exemple_algo
Variables
Début
Instructions 1
Instructions 2
Instructions 3
Instructions 4
Fin
69

1 2 3 4 5 6 7
Définition Conditionnelles

La structure conditionnelle permet d’exécuter une séquence d’instruction, seulement si une condition est
vraie.

Il n’y a que deux formes possibles pour un test :


-1- Si ... Alors... FinSi -2- Si ... Alors ... Sinon ... FinSi

Si (condition) Alors
Si (condition) Alors bloc d'instructions n°1
bloc d'instructions Sinon
FinSi bloc d'instructions n°2
FinSi

70

1
3/10/2023

1 2 3 4 5 6 7
Définition Conditionnelles

La structure Si ... Alors... FinSi


Algorithme exemple_algo La condition est une expression booléenne :
Variables • Si la condition est vraie, le bloc d'instructions est exécuté
Début puis le contrôle passe à la suite;
Instructions 1 • Si la condition est fausse, le contrôle passe à la suite,
Instructions 2 sans exécuter le bloc d'instructions.
Si (condition) Alors
bloc d'instructions
FinSi
Instructions 3
Instructions 4
Fin
71

1 2 3 4 5 6 7
Définition Conditionnelles

La structure Si ... Alors... FinSi

Syntaxe :
Si (condition) Alors NON
OUI
bloc d'instructions Condition
VRAI ?
FinSi
Bloc
d'instructions

La condition est nécessairement une expression booléenne.

Suite du programme

72

2
3/10/2023

1 2 3 4 5 6 7
Définition Conditionnelles

La structure Si ... Alors... Sinon …. FinSi

Syntaxe :
OUI NON
Si (condition) Alors Condition
bloc d'instructions n°1 VRAI ?
Sinon
bloc d'instructions n°2 Bloc d'instructions Bloc d'instructions
FinSi n°1 n°2

La condition est nécessairement une expression booléenne.


Suite du programme

73

1 2 3 4 5 6 7
Définition Conditionnelles

La structure Si ... Alors... Sinon …. FinSi


Algorithme exemple_algo La condition est évaluée :
Variables • Si la condition est vraie, le bloc d'instructions n°1 est
Début exécuté et le bloc d'instructions n°2 est ignoré, la
Instructions 1
Instructions 2 machine sautera directement à la première instruction
Si (condition) Alors située après le FinSi.
bloc d'instructions n°1
• Si la condition est fausse, le bloc d'instructions n°1 est
Sinon
bloc d'instructions n°2 ignoré et le bloc d'instructions n°2 est exécuté, la
FinSi machine sautera directement à la première instruction
Instructions 3 située après le FinSi.
Instructions 4
Fin
74

3
3/10/2023

1 2 3 4 5 6 7
Définition Conditionnelles
• si la condition est vraie alors seules les instructions du
La structure Si ... Alors... Sinon …. FinSi bloc n°1 sont exécutées
Algorithme exemple_algo • si la condition est fausse alors seules les instructions
Variables
Début du bloc n°2 sont exécutées
Instructions 1
Instructions 2 • Le mot sinon indique où se termine le bloc
Si (condition) Alors d'instructions n°1 et où commence le bloc
bloc d'instructions n°1 d'instructions n°2.
Sinon • Le mot Finsi indique où se termine le bloc
bloc d'instructions n°2 d'instructions n°2.
FinSi
Instructions 3 • Quoi qu’il arrive, les instructions qui suivent Finsi
Instructions 4 seront exécutées.
Fin
75

1 2 3 4 5 6 7
Définition Conditionnelles

La structure Si ... Alors... Sinon …. FinSi


Remarques:
• Certains problèmes exigent de formuler la condition de Si sous forme de plusieurs conditions. Par
exemple : la condition "x appartient à l'intervalle ]10, 20[" est composée de deux conditions simples qui
sont "x est supérieur à 10" ET "x est inférieur à 20" reliées par l'opérateur logique ET.
Si (( x>10) ET (x<20)) Alors …..
• Les deux blocs 1 et 2 d'instruction sont équivalents:
Si Condition Alors Si Non (Condition) Alors
bloc d'Instruction n°1 bloc d'Instruction n°2
Sinon Sinon
bloc d'Instruction n°2 bloc d'Instruction n°1
FinSi FinSi
76

4
3/10/2023

1 2 3 4 5 6 7
Définition Conditionnelles

La structure Si ... Alors... Sinon …. FinSi


Exercice 1

a←1 b←2 c←3


Quel est le résultat booléen de chaque test :
(b > 0) ou (c > 1) Vrai ou Vrai Vrai
(b > 9) ou (c > 1) Faux ou Vrai Vrai
(b > a) et (c > b) Vrai et Vrai Vrai
(b > a) et (c < 0) Vrai et Faux Faux
non (c < a) non(Faux) Vrai
non ((b > a) et (c > b)) non((Vrai) et (Vrai)) Faux
((b > a) et (c > b)) ou (a < 0) ((Vrai) et (Vrai)) ou Faux Vrai
77

1 2 3 4 5 6 7
Définition Conditionnelles
ALGORITHME Verif_moyenne
La structure Si ... Alors... Sinon …. FinSi
Exercice 1 bis Variables Moyenne: réel
DEBUT
Ecrire un algorithme Verif_moyenne Ecrire ("Saisir une moyenne:")
permettant de lire la moyenne d'un étudiant Lire (moyenne)
et d'afficher réussite si la moyenne est SI moyenne >= 10 ALORS
supérieure ou égale à 10 Ecrire ("réussite")
FINSI
FIN

78

5
3/10/2023

1 2 3 4 5 6 7
Définition Conditionnelles
ALGORITHME Verif_moyenne
La structure Si ... Alors... Sinon …. FinSi
Exercice 1 bis Variables Moyenne: réel
DEBUT
Ecrire un algorithme Verif_moyenne Ecrire ("Saisir une moyenne:")
permettant de lire la moyenne d'un étudiant et Lire (moyenne)
d'afficher réussite si la moyenne est supérieure SI moyenne >= 10 ALORS
ou égale à 10 et redoublement sinon. Ecrire ("réussite")
SINON
Ecrire ("redoublement")
FINSI
FIN
79

1 2 3 4 5 6 7
Définition Conditionnelles

La structure Si ... Alors...


ALGORITHME Pair_Impair
Sinon …. FinSi A Données
Variables A : entier
Exercice 2
DEBUT
ECRIRE("Donner un nombre ")
Écrire un algorithme qui Algorithme LIRE(A)
affiche si un nombre entier
SI (A MOD 2 == 0) ALORS
saisi au clavier est pair ou
ECRIRE(A, " est pair ")
impair
Résultats SINON
ECRIRE(A, " est impair ")
A est pair A est impair FINSI
FIN

80

6
3/10/2023

1 2 3 4 5 6 7
Définition Conditionnelles

La structure Si ... Alors... Sinon …. FinSi


ALGORITHME Positif_Négatif
Exercice 3
A Données Variables A : entier
DEBUT
Écrire un algorithme qui affiche si un
ECRIRE("Donner un nombre ")
nombre entier saisi au clavier est
LIRE(A)
positif ou strictement négatif. Algorithme
SI (A < 0) ALORS
ECRIRE(A, " est négatif ")
SINON
Résultats ECRIRE(A, " est positif ")
FINSI
A est négatif A est positif FIN

81

1 2 3 4 5 6 7
Définition Conditionnelles ALGORITHME POS_NEG
Variables A : réel
La structure Si ... Alors... Sinon …. FinSi
B : booléan
Exercice 3
DEBUT
ECRIRE("Donner un nombre ")
Écrire un algorithme qui affiche si un
LIRE(A)
nombre réel saisi au clavier est positif
ou strictement négatif. B  (A < 0)
SI (B) ALORS
ECRIRE(A, " est négatif ")
SINON
ECRIRE(A, " est positif ")
FINSI
FIN

82

7
3/10/2023

1 2 3 4 5 6 7
Définition Conditionnelles

La structure Si ... Alors... Sinon …. FinSi


ALGORITHME Tester_intervalle
Exercice 4:
Variables A : réel
DEBUT
Écrire un algorithme qui teste si une note
ECRIRE("Donner un nombre entre 0 et 20")
saisie au clavier est comprise entre 0 et 20
LIRE(A)
SI (A >= 0 ET A<=20) ALORS
ECRIRE(A, " appartient à l'intervalle ")
SINON
ECRIRE(A, " n'appartient pas à l'intervalle ")
FINSI
FIN

83

1 2 3 4 5 6 7
Définition Conditionnelles

La structure Si ... Alors... Sinon …. FinSi


Variable Temp : Entier
Début
Ecrire ("Entrez la température de l’eau :")
Lire (Temp)
Si (Temp <= 0) Alors
Ecrire ("C’est de la glace")
FinSi
Si (Temp > 0 Et Temp < 100) Alors
Ecrire ("C’est du liquide")
Finsi
Si (Temp > 100) Alors
Ecrire ("C’est de la vapeur")
Finsi
Fin
84

8
3/10/2023

1 2 3 4 5 6 7
Définition Conditionnelles Si condition1 Alors
Imbrication de Si Bloc d'Instructions n°1
Naturellement, il est possible d’imbriquer Sinon
les structures de contrôle conditionnelles Si condition2 Alors
les unes à l’intérieur des autres. Bloc d'Instructions n°2
Sinon
Si condition3 Alors
Bloc d'Instructions n°3
Sinon
Bloc d'Instructions n°4
FinSi
FinSi
FinSi
85

1 2 3 4 5 6 7
Instruction 1
Définition Conditionnelles

Imbrication de Si

Instruction 1 FINSI
FINSI Instruction 2

FINSI
Instruction 2

Instruction 3

86

9
3/10/2023

1 2 3 4 5 6 7
Définition Conditionnelles

Imbrication de Si Variable Temp : Entier


Variable Temp : Entier Début
Début Ecrire ("Entrez la température de l’eau :")
Ecrire ("Entrez la température de l’eau :") Lire (Temp)
Lire (Temp) Si (Temp <= 0) Alors
Si (Temp <= 0) Alors Ecrire ("C’est de la glace")
Ecrire ("C’est de la glace") Sinon
FinSi Si (Temp < 100) Alors
Si (Temp > 0 Et Temp < 100) Alors Ecrire ("C’est du liquide")
Ecrire ("C’est du liquide") Sinon
Finsi Ecrire ("C’est de la vapeur")
Si (Temp > 100) Alors Finsi
Ecrire ("C’est de la vapeur") Finsi
Finsi Fin
Fin
87

1 2 3 4 5 6 7
Structure à
Définition Conditionnelles
choix multiples
La structure conditionnelle à choix multiples est utilisée de préférence dans des structures à plusieurs
traitements selon des conditions.
Le choix d’un traitement se fait suivant la valeur d’un sélecteur.
Cette structure permet d’éviter le recours à une structure conditionnelle généralisée et offre une meilleur
lisibilité de la solution. Selon sélecteur faire
Val1 : Traitement1
Val2 : Traitement2
Val3 : Traitement3
...
Valn : Traitementn
Sinon : Traitement_Sinon
FinSelon
88

10
3/10/2023

1 2 3 4 5 6 7
Structure à
Définition Conditionnelles
choix multiples
• Sélecteur peut être une variable ou une expression arithmétique
ou logique.
• Traitement i est exécutée si la valeur du sélecteur vaut Vali.
• Une fois Traitement i est exécutée on quitte la structure "Selon …
faire" (on n’évalue plus le reste des cas). Selon sélecteur faire
• Si la valeur du sélecteur est différente des valeurs proposées alors Val1 : Traitement1
c’est Traitement_Sinon qui sera exécuté. Val2 : Traitement2
• L'instruction Sinon est facultative. Val3 : Traitement3
• Vali peut être un ensemble des valeurs qui seront séparées par des ...
virgules ou intervalle des valeurs (vi .. vf) Valn : Traitementn
Sinon : Traitement_Sinon
FinSelon
89

1 2 3 4 5 6 7
Structure à Algorithme Mois
Définition Conditionnelles Variables N : Entier
choix multiples
Début
Exemple :
Ecrire("Donner le numéro du mois :")
N Données
Lire(N)
Écrire un algorithme Selon N faire
permettant d'afficher le 1 : Ecrire("Janvier")
mois en toute lettres selon Algorithme 2 : Ecrire("Février")
son numéro saisi au clavier. 3 : Ecrire("Mars")

10 : Ecrire("Octobre")
Résultats 11 : Ecrire("Novembre")
12 : Ecrire("Décembre")
Janvier Février Mars Sinon : Ecrire("Le numéro incorrecte")
…. Décembre
FinSelon
Fin
90

11
3/10/2023

1 2 3 4 5 6 7
Structure à Structure
Définition Conditionnelles
choix multiples répétitive
Une structure répétitive est une structure qui répète un même traitement autant de fois que l’on veut en
fonction d’une condition d’exécution.

Cette structure répétitive s’arrête lorsque cette condition d’exécution n’est plus vérifiée.

On distingue deux types de répétitions :


• La Répétition Conditionnelle : quand la poursuite d’une répétition dépend d’une condition booléenne :
La boucle Tant que, La boucle Répéter.
• L’Itération : quand on sait le nombre de fois que l’on va répéter un traitement : La boucle Pour.

L’utilisation d’un tel ou tel schéma dépend essentiellement de la nature du problème à résoudre.

91

1 2 3 4 5 6 7
Structure à Structure
Définition Conditionnelles répétitive
choix multiples
La boucle Tant que

La boucle Tant que permet d’exécuter le corps de la boucle lorsque la condition d’exécution est vérifiée ; on
s'arrêtera dès que la condition d’exécution n’est plus vérifiée.

……….
Initialisation des variables de la condition d’exécution
Tant que (Condition_exécution_vérifiée) Faire
<Traitement>
<mise_à_jour_condition_exécution>
FinTantque
………
92

12
3/10/2023

1 2 3 4 5 6 7
Structure à Structure
Définition Conditionnelles
choix multiples répétitive
La boucle Tant que
Exemple 1: ……….
i←1 Initialisation des variables de la condition d’exécution
Tant que ( i≤9) faire Tant que (Condition_exécution_vérifiée) Faire
Ecrire (i) <Traitement>
i ← i+1 <mise_à_jour_condition_exécution>
Fintantque FinTantque
………
Exemple 2:
i←1
Somme ← 0
Tant que ( i≤9) faire Remarque : Si la condition d’exécution reste inchangée
Somme ← Somme + i
i ← i+1 (non mise à jour), on risque de reboucler indéfiniment et
Fintantque par conséquent le programme se bloque (boucle infinie).
93

1 2 3 4 5 6 7
Structure à Structure
Définition Conditionnelles répétitive
choix multiples
La boucle Tant que

• Dans une boucle Tant que, on parle de condition d’exécution ; quant elle n’est plus vérifiée, on sort de
cette boucle.
• Dans une boucle Tant que, le traitement associé à la boucle peut ne pas être exécuté : la condition
d’exécution n’est pas vérifiée dès le départ.
• Il est indispensable d’initialiser correctement les variables de la condition d’exécution et de les mettre à
jour à la fin de chaque itération  condition nécessaire et obligatoire pour pouvoir reboucler.
• La mise à jour de ces variables peut se faire soit par une lecture, soit par une affectation.
• La structure Tant que est conseillée surtout pour les problèmes indiquant dans leur énoncé une
condition d’exécution.

94

13

Vous aimerez peut-être aussi