Vous êtes sur la page 1sur 44

Introduction

Structures de contrôle conditionnelle


Structures de contrôle itérative

Chapitre 2 : Les structures de contrôle

Hassen NAKBI ::: ESSTHS


hassen.nakbi@gmail.com

1ere année Licence

3 octobre 2022

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 1 / 42
Introduction
Structures de contrôle conditionnelle
Structures de contrôle itérative

Introduction

Les instructions d'un algorithme sont enchaînées d'une façon


linéaires, les unes à la suite des autres.
Nous voulons maintenant savoir comment choisir une instruction
particulière à réaliser parmi un ensemble, ou bien faire une
répétition d'une instruction pour aboutir à un résultat demandé.

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 2 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

2 Structures de contrôle conditionnelle


Dénition
Structure conditionnelle simple
Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 3 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Structures conditionnelles

Dénition
Ces structures sont utilisées pour décider le choix d'une ou plusieurs
instructions à réaliser, selon une ou plusieurs conditions booléennes.

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 4 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Structures conditionnelles

Dénition
Ces structures sont utilisées pour décider le choix d'une ou plusieurs
instructions à réaliser, selon une ou plusieurs conditions booléennes.
Ces structures se composent de trois types :
Structure simple
Structure alternative
Structure au choix multiple

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 4 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Condition booléenne

Condition booléenne
Pour contrôler un traitement donné, il faut penser à exprimer une
action sous forme d'expression booléenne simple ou bien composée
et qui contient au moins trois éléments combinant deux valeurs
avec un opérateur.
Cette expression de contrôle représente ce qu'on appelle une
condition, qui sert à évaluer le résultat, an de prendre une
décision.

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 5 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

2 Structures de contrôle conditionnelle


Dénition
Structure conditionnelle simple
Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 6 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Structure conditionnelle simple

Structure simple
Si l'expression d'une seule condition donne la valeur vraie, alors il
aura un seul type de traitement qui devra être fonctionner.
En algorithmique, la structure simple est modélisée par l'expression
SI (expression booléenne) FinSI.

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 7 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Structure conditionnelle simple

Organigramme SI .. FinSI

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 8 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Structure conditionnelle simple

Structure simple
Algorithmique Langage C
SI (condition) alors if (condition){
instruction_vraie instruction_vraie ;
FinSI }

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 9 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Structure conditionnelle simple

Exemple
Algorithmique Langage C
VAR a : entier short a ;
DÉBUT int main( ) {
SI (a MOD 2 = 0) alors if (a %2 == 0){
Ecrire(a," est pair") printf("%hi est pair",a) ;
FinSI }

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 10 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

2 Structures de contrôle conditionnelle


Dénition
Structure conditionnelle simple
Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 11 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Structure conditionnelle alternative

Structure alternative
Avec cette structure, nous pouvons écrire deux parties d'un
traitement alternatif avec l'expression d'une seule condition, selon
laquelle nous pourrons choisir le faux où bien le vrai.
En algorithmique, la structure alternative est représentée par
l'expression "SI (expression booléenne) SINON .. FINSI".

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 12 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Structure conditionnelle alternative

Organigramme SI .. SINON

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 13 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Structure conditionnelle alternative

Structure alternative
Algorithmique Langage C
SI (condition) alors if (condition){
instruction_vraie instruction_vraie ;
SINON } else {
instruction_fausse instruction_fausse ;
FinSI }

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 14 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Structure conditionnelle alternative

Exemple
Algorithmique Langage C
VAR a : entier short a ;
DÉBUT int main( ) {
SI (a >= 0) alors if (a >= 0){
Écrire(a, " est positif") printf("%hi est positif",a) ;
SINON } else {
Écrire(a, " est négatif") printf("%hi est négatif",a) ;
FinSI }

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 15 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

2 Structures de contrôle conditionnelle


Dénition
Structure conditionnelle simple
Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 16 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Structure conditionnelle au choix multiple

Structure au choix multiple


Dans certains cas, nous avons besoin d'exécuter plusieurs vraies
actions, ce qu'il fallait exprimer beaucoup des conditions vraies
diérentes.
En algorithmique, nous avons le choix entre une structure
conditionnelle imbriquée où bien une structure sélective.

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 17 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Structure conditionnelle au choix multiple

Structure conditionnelle imbriquée


C'est une structure qui peut exprimer une innité des conditions
vraies sous forme d'une structure alternative imbriquée avec une
seule condition fausse.
En algorithmique, l'expression "SI (expression) SINON SI ..
SINON .. FINSI" permet de formuler plusieurs cas vrais et associe
à chacun un traitement spécique.

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 18 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Structure conditionnelle au choix multiple

Structure sélective
C'est une structure sélective, car elle fait sélectionner un seul
traitement vrai parmi un ensemble des cas vrais proposés.
Le sélecteur peut être une variable de type scalaire ou bien une
expression arithmétique ou logique.
En algorithmique, l'expression "SELON .. Faire SINON" permet
de formuler plusieurs cas vrais et associe à chacun un traitement
spécique.

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 19 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Organigramme Structure conditionnelle au choix multiple

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 20 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Structure conditionnelle imbriquée

Structure conditionnelle imbriquée


Algorithmique Langage C
SI (condition) alors if (condition){
instruction_vraie instruction_vraie ;
SINON SI (condition) alors } else if (condition){
instruction_vraie instruction_vraie ;
SINON } else {
instruction_fausse instruction_fausse ;
FinSI }

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 21 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Structure conditionnelle au choix multiple

Structure sélective
Algorithmique Langage C
SELON (variable) faire switch (variable){
cas 1 : instruction1 case 1 : instruction1 ;break ;
cas 2 : instruction2
case 2 : instruction2 ;break ;
cas 3 : instruction3
SINON case 3 : instruction3 ;break ;
instruction default : instruction ;
FinSELON }

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 22 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Exemple structure imbriquée


Algorithmique Langage C
VAR x,y,z : entier char x,y,z ;
DÉBUT int main( ) {
SI (x > y et x > z) alors if (x > y && x > z){
Écrire("x=",x)
printf("x = %d",x) ;
SINON SI (x < y et y > z)
} else if (x < y && y > z){
alors
Écrire("y = ",y) printf("y = %d",y) ;
SINON } else {
Écrire("z = ",z) printf("z = %d",z) ;
FinSI }

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 23 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure conditionnelle simple
Structures de contrôle itérative Structure conditionnelle alternative
Structure conditionnelle au choix multiple

Exemple structure sélective

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 24 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

3 Structures de contrôle itérative


Dénition
Structure itérative Pour
Structure itérative Tant que
Structure itérative Répéter

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 25 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

Structures itératives

Structures itératives
Certains algorithmes nécessitent de répéter des instructions un
certain nombre de fois avant d'obtenir le résultat voulu. Cette
répétition est réalisée en utilisant une structure de contrôle itérative
nommée boucle.

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 26 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

Structures itératives

Structures itératives
Certains algorithmes nécessitent de répéter des instructions un
certain nombre de fois avant d'obtenir le résultat voulu. Cette
répétition est réalisée en utilisant une structure de contrôle itérative
nommée boucle. Il existe trois types de boucles :
Structure Pour
Structure Tant que
Structure Répéter

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 26 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

3 Structures de contrôle itérative


Dénition
Structure itérative Pour
Structure itérative Tant que
Structure itérative Répéter

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 27 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

Structure itérative Pour

Structure itérative Pour


Structure "POUR" est utilisée quand le nombre d'itérations est
connu à l'avance, elle permet de répéter l'exécution d'un ensemble
d'instructions un certain nombre de fois d'une façon automatique.
En algorithmique, elle est représentée par la structure "Pour".

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 28 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

Structure itérative Pour

Organigramme Pour

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 29 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

Structure itérative Pour

Structure itérative Pour

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 30 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

Structure itérative Pour

Exemple
Algorithmique Langage C
VAR A,c,f : entier short A,c ;
DÉBUT long long f=1 ;
f ←− 1
int main( ) {
Pour c de 1 à A pas←−1
faire for (c=1 ; c <=A ; c++){
f ←− f*c f = f*c ;
FinPour }

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 31 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

3 Structures de contrôle itérative


Dénition
Structure itérative Pour
Structure itérative Tant que
Structure itérative Répéter

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 32 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

Structure itérative Tant que

Structure itérative Tant que


La structure "Tant que .. faire" est utilisée quand une condition
booléenne initiale doit être vériée à l'avance, elle permet de
répéter l'exécution d'un ensemble d'instructions un certain nombre
de fois jusqu'à rendre, sa condition est fausse. Le nombre de
répétition de structure "Tant que" est inconnu à l'avance.
En algorithmique, elle est représentée par la structure "Tant que ..
faire".

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 33 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

Structure itérative Tant que

Organigramme Tant que

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 34 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

Structure itérative Tant que

Structure itérative Tant que


Algorithmique Langage C
Tant que (condition) faire while (condition){
instruction_vraie instruction_vraie ;
FinTant que }

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 35 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

Structure itérative Tant que

Exemple
Algorithmique Langage C
VAR a : entier short a = -7 ;
Début
int main( ){
a ←− -7
while (a < 0){
Tant que (a < 0) faire
a←−a+1 a + +;
FinTant que }

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 36 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

3 Structures de contrôle itérative


Dénition
Structure itérative Pour
Structure itérative Tant que
Structure itérative Répéter

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 37 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

Structure itérative Répéter

Structure itérative Répéter


La structure "Répéter" est utilisée quand nous avons besoin
d'exécuter un traitement d'abord d'une façon inconditionnelle, puis
de répéter le même traitement jusqu'à une condition booléenne soit
vraie.
Le nombre de répétition de structure "Répéter" est inconnu à
l'avance, mais il existe au moins une instruction inconditionnelle.
En algorithmique, elle est représentée par la structure "Répéter ..
jusqu'à".

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 38 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

Structure itérative Répéter

Organigramme Répéter

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 39 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

Structure itérative Répéter

Structure itérative Répéter


Algorithmique Langage C
Répéter do {
instruction_vraie instruction_vraie ;
jusqu'à (condition) } while (condition) ;

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 40 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

Structure itérative Répéter

Structure itérative do .. while


En langage C, la structure algorithmique "Répéter" n'existe pas.
Elle est remplacée par la structure "do .. while" qui se comporte
comme une structure "while", à l'exception du fait que l'ensemble
de traitement sera toujours exécuté au moins une fois, même si la
condition initiale est fausse.
Pour pouvoir traduire "Répéter .. jusqu'à" vers la structure "do ..
while", il faut exprimer une condition d'arrêt booléenne inverse de
celui trouvée en algorithmique.

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 41 / 42
Introduction Dénition
Structures de contrôle conditionnelle Structure itérative Pour
Structures de contrôle itérative Structure itérative Tant que
Structure itérative Répéter

Structure itérative Répéter

Exemple do .. while
Algorithmique Langage C
VAR a : entier short a ;
DÉBUT int main( ) {
Répéter do {
Lire(a) scanf("%hi",&a) ;
jusqu'à (a>0) } while (a<=0) ;

Hassen NAKBI ::: ESSTHS Chapitre 2 : Les structures de contrôle 4 octobre 2022 42 / 42

Vous aimerez peut-être aussi