Vous êtes sur la page 1sur 13

CHAPITRE 4 : STRUCTURES DE CONTRÔLE

1. Introduction :

Rares les algorithmes qui peuvent se décrire uniquement par un


enchaînement séquentiel d’opérations élémentaires.

On a besoin des concepts de rupture de séquence comme les tests et les


boucles. Parmi lesquels on peut citer :

- Les tests simples : permet de réaliser un choix parmi deux


possibilités (Ex : Booléenne : vrais ou faux)
- Les instructions conditionnelles : c’est un concept de tests
multiples, permet de comparer un objet à une série de valeurs, et
exécuter si la condition est vérifiée (Exemple : recherche des
nombres premier dans une ensemble)
- Les itérations : consiste à exécuter un bloc d’instructions un
certain nombre de fois (Ex : calcul d’une suite numérique).
- Les boucles conditionnelles : consiste à exécuter un bloc
d’instructions un certain nombre de fois si la condition est vérifiée
(Ex : On veut afficher le 100 premiers nombres :. Tant que i est plus
petit que 100, afficher la valeur de i).
2. Tests ou structures alternatives ou encore instructions
conditionnelles :
a. Notion de condition :

Une condition est une comparaison.

Cette définition est essentielle. Elle signifie qu’une condition est composée
de trois éléments :
- une valeur ;
- un opérateur de comparaison ;
- une autre valeur.
Les valeurs peuvent être à priori de n’importe quel type (numériques,
caractères…). Mais si l’on veut que la comparaison ait un sens, il faut que
les deux valeurs de la comparaison soient du même type !

REMARQUE TRES IMPORTANTE :


En formulant une condition dans un algorithme, il faut se méfier comme
de la peste de certains raccourcis du langage courant, ou de certaines
notations valides en mathématiques, mais qui mènent à des non-sens
informatiques. Prenons par exemple la phrase « X est compris entre 5 et
8 ». On peut être tenté de la traduire par : 5 < X < 8.

Or, une telle expression, qui a du sens en français, comme en


mathématiques, ne veut rien dire en programmation. En effet, elle
comprend deux opérateurs de comparaison, soit un de trop, et trois
1
valeurs, soit là aussi une de trop. Dans ce cas, il est nécessaire d’utiliser
une condition composée à l’aide d’opérateurs logiques(Et, Ou).
Avec l’exemple cité plus haut, on aura X > 0 Et X < 8.

b. Différentes syntaxes :
b.1 Syntaxe simple :
Les instructions conditionnelles servent à n’exécuter une instruction ou un
ensemble d’instructions que si une condition est vérifiée. On utilisera la
forme suivante :
Si Condition Alors
Instruction ou Un ensemble d’instructions
Fin SI

La condition ne peut être que vraie ou fausse :

- si la condition est vraie, se sont les instructions qui seront


exécutées ;
- si la condition est fausse, il ne se passera rien.

b.2 Syntaxe composée :


Les instructions conditionnelles servent à n’exécuter une instruction ou un
ensemble d’instructions que si une condition est vérifiée. On utilisera la
forme suivante :
Si Condition Alors
Instruction ou Un ensemble d’instructions1
Sinon
Instruction ou Un ensemble d’instructions2
Fin SI

La condition ne peut être que vraie ou fausse :

- si la condition est vraie, se sont les instructions1 qui seront


exécutées ;
- si la condition est fausse, se sont les instructions2 qui seront
exécutées.

La condition peut être une condition simple ou une condition


composée de plusieurs conditions.

2
Exemple N°1 :

Variable x : réel

Début
Ecrire " Entrez un réel : "

Lire (x)

Si x < 0 alors
Ecrire ("la valeur absolue de ", x, "est:",-x)

Sinon
Ecrire ("la valeur absolue de ", x, "est:",x)

Finsi
Fin

Exemple N°2 :

Ecrire un algorithme qui demande un nombre entier à l'utilisateur, puis qui


teste et affiche s'il est divisible par 3.

Variable n : entier

Début
Ecrire " Entrez un entier : "

Lire (n)

Si (n mod 3=0) alors


Ecrire (n," est divisible par 3")

Sinon
Ecrire (n," n'est pas divisible par 3")

Finsi
Fin

3
b.3 Syntaxe imbriquée :

b.3.1 Première syntaxe :

Si Condition1 Alors
Instruction ou Un ensemble d’instructions1
SinonSi Condition2 Alors
Instruction ou Un ensemble d’instructions2
SinonSi Condition3 Alors
Instruction ou Un ensemble d’instructions3
………………………………………………………………………….
………………………………………………………………………….
SinonSi Conditionn Alors
Instruction ou Un ensemble d’instructionsn
FinSI

b.3.2 Seconde syntaxe :

Si Condition1 Alors
Instruction ou Un ensemble d’instructions1
SinonSi Condition2 Alors
Instruction ou Un ensemble d’instructions2
SinonSi Condition3 Alors
Instruction ou Un ensemble d’instructions3
………………………………………………………………………….
………………………………………………………………………….
SinonSi Conditionn Alors
Instruction ou Un ensemble d’instructionsn
Sinon
Instruction ou Un ensemble d’instructions
FinSI

Exemple :

Variable n : entier
Début
Ecrire ("entrez un nombre : ")
Lire (n)

Si n < 0 alors

Ecrire ("Ce nombre est négatif")

SinonSi n = 0 alors

4
Ecrire ("Ce nombre est nul")
SinonSi n > 0 alors

Ecrire ("Ce nombre est positif")

Finsi

Fin

Exercice N°1 à domicile :

Le prix de photocopies dans une reprographie varie selon le nombre demandé :


25 F la copie pour un nombre de copies inférieur à 10, 20 F pour un nombre
compris entre 10 et 20 et 15 F au-delà.

Ecrivez un algorithme qui demande à l’utilisateur le nombre de photocopies


effectuées, qui calcule et affiche le prix à payer.

Exercice N°2 à domicile :

Écrire l’algorithme du traitement qui calcule le discriminant d’une équation


second degré AX2 + BX + C et qui, en fonction de son signe, calcule la ou
les racines réelles du trinôme ou affiche, si besoin est qu’il n’ya pas de
racine réelle.

Les trois coefficients A, B et C seront saisis au clavier avant traitement.

b.4 Syntaxe de la sélection multiple :

b.4.1 Première syntaxe :

Selon (variable)
Valeur 1 : Instruction ou Suite d’instructions1
Valeur 2 : Instruction ou Suite d’instructions2
………………………………………………….
………………………………………………….
Valeur n : Instruction ou Suite d’instructionsn
FinSelon

b.4.2 Seconde syntaxe :

Selon (variable)
Valeur 1 : Instruction ou Suite d’instructions1
Valeur 2 : Instruction ou Suite d’instructions2
………………………………………………….
………………………………………………….
Valeur n : Instruction ou Suite d’instructionsn
Autres : Instruction ou Suite d’instructions
FinSelon

5
NB : La variable de selon doit être seulement de type entier ou
caractère.

Exemple :

Ecrire un algorithme qui demande à l’utilisateur de saisir le signe d’un


opérateur arithmétique et deux variables entières. L’algorithme calculera
et affichera le résultat correspondant à l’opération.

Variables

Op : Caractère

X, Y : Entiers

R : Réel

Début

Lire(Op, X, Y)

Selon(Op)

’+’ : R←X + Y

’-’ : R←X – Y

’*’ : R←X * Y

’/’ : R←X / Y

FinSelon

Ecrire(’’Le résultat de l’opération est :’’,R)

Fin

3. Boucles ou structures répétitives :


a. Types de boucles :

On distingue 2 types de boucles :

- Les boucles à compteur ou définies : On sait à l’avance combien


de fois la boucle devra tourner et une variable (le compteur) compte
les répétitions.
 Choisir 10 nombres au hasard. On fera dix fois l’opération choisir
un nombre au hasard.
 Exemple : la boucle Pour
6
- Les boucles à événement ou indéfinies : On ne sait pas à l’avance
le nombre de fois que la boucle sera exécutée.
 Ça peut dépendre du nombre de données à traiter.
 Ça peut dépendre du nombre d’essais que l’usager a effectués.
 Exemple : la boucle Tanque et la boucle Jusqu’à
b. Différentes syntaxes :

b.1 Pour :

Pour Compteur ← Valeur initiale à Valeur finale Faire

Instructions

Finpour

Ou encore

Pour Compteur ← Valeur initiale à Valeur finale Valeur du pas Faire

Instructions

Finpour

Remarque :

- Compteur est une variable de type entier (ou caractère). Elle doit
être déclarée ;

- Valeur du pas est un entier qui peut être positif ou négatif. Valeur
du pas peut ne pas être mentionnée, car par défaut sa valeur est
égale à 1. Dans ce cas, le nombre d'itérations est égal à Valeur
finale – Valeur initiale + 1 ;

- Initiale et finale peuvent être des valeurs, des variables définies


avant le début de la boucle ou des expressions de même type que
compteur.

Exemple N°1 :

Ecrire un algorithme qui permet d’afficher 5 fois de suite le message :


Bonjour tout le monde.

Variable i : entier

Début

Pour i←1 à 5 Faire

Ecrire(’’Bonjour tout le monde’’)

Finpour
7
Fin

Exemple N°2 :

Ecrire un algorithme qui permet de calculer et d’afficher la somme des


cinq premiers entiers naturels.

Variables n, som : entiers

Début

som←0

Pour n←0 à 4 Faire

som←som + n

Finpour

Ecrire(’’La somme des 5 premiers entiers naturels est :’’,som)

Fin

b.2 Tanque……Faire :

Inititialisation de la variable de boucle

Tantque (Condition) Faire

Instructions

Instruction de relance

FinTantque

Exemple N°1:

Ecrire un algorithme qui détermine le premier nombre entier N tel que la


somme de 1 à N dépasse strictement 6.

Variables som, i : entier


Debut

i←0

som← 0

Tantque (som <=6) Faire

8
i ← i+1

som ← som+i

FinTantque
Ecrire (" La valeur cherchée est N= ", i)

Fin

Exemple N°2 :

Ecrire un algorithme qui permet de calculer et d’afficher Xn, où X et n sont


des entiers non nuls.

Variables i, X, n, Puissance : entier


Debut

Lire(X, n)

i←0

Puissance← 1

Tantque (i < n) Faire

i ← i+1

Puissance ← Puissance*X

FinTantque
Ecrire (" La valeur de Xn est :", Puissance)

Fin

b.3 Répéter……Jusqu’à / Faire…….Tantque:

b.3.a Répéter…..Jusqu’à :

Répéter

Instructions

Instruction de relance

Jusqu'à(Condition)

Remarques :

 La condition est évaluée après chaque itération ;

9
 Les instructions entre Répéter et jusqu’à sont exécutées au moins
une fois et leur exécution est répétée jusqu’à ce que la condition
soit vraie (tant qu'elle est fausse).

Exemple N°1 :

Ecrire un algorithme qui permet de calculer et d’afficher Xn, où X et n sont


des entiers non nuls.

Variables i, X, n, Puissance : entier


Debut

Lire(X, n)
i←0
Puissance← 1
Répéter
i ← i+1
Puissance ← Puissance*X
Jusqu’à(i = n)
Ecrire (" La valeur de Xn est :", Puissance)

Fin

Exemple N°2 :

Ecrire un algorithme qui détermine le premier nombre entier N tel que la


somme de 1 à N dépasse strictement 6.

Variables som, i : entier


Debut

i←0

som← 0

Répéter

i ← i+1

som ← som+i

Jusqu’à(som > 6)
Ecrire (" La valeur cherchée est N= ", i)

Fin

10
c. Imbrication de boucles :
De même que les poupées russes contiennent d’autres poupées russes,
de même qu’une structure SI … ALORS peut contenir d’autres
structures SI … ALORS, une boucle peut tout à fait contenir d’autres
boucles.
Plusieurs possibilités existent parmi lesquelles, on peut citer :
- Une boucle Pour dans Pour ;
Pour Compteur………..
Instruction
Pour Compteur…….
Instructions
Fin Pour
Fin Pour

Exemple : Que produit l’algorithme ci-dessous.

Variables i, j : Entier
Début
Pour i  1 à 3 Faire
Ecrire (“Il est passé par ici“)
Pour j  1 à 2 Faire
Ecrire (“Il repassera par là“)
Fin Pour
Fin Pour

- Une boucle Pour dans Tant que ;


Pour Compteur………..
Instruction
Tanque Condition…….
Instructions
Fin tant que
Fin Pour
- Une boucle Tant que dans Répéter ;
Tant que Condition………..
Instruction
Répéter
Instructions
Jusqu’à Condition
Fin tant que

- Une boucle Tant que dans Tant que ;


- Une boucle Répéter dans Répéter ;
- ……………………….

11
Exercices de révision :

Exercice N°1 à domicile :

Ecrire un algorithme permettant de calculer la commission et le salaire


annuels d’un commercial. Son salaire mensuel est composé d’une partie
fixe de 150 000 et d’une partie commission qui est fonction du chiffre
d’affaires réalisé par mois :

Si le chiffre d’affaires est moins 500 000, le taux de la commission est


8% ;

Si le chiffre d’affaires est supérieur ou égal à 500 000 mais inférieur ou


égal à 2 000 000, le taux de la commission est de 5% ;

Si le chiffre d’affaires est au-delà de 2 000 000, le taux de la commission


est 3%.

Afficher les résultats.

EXERCICE N°2 à domicile :

Ecrire un algorithme qui permet de calculer le prix TTC à partir des


données suivantes :

- Prix hors taxe ;


- Code TVA : A pour 7% du prix hors taxe, B pour 12% du prix hors
taxe, C pour 15% du prix hors taxe, D pour 18% du prix hors taxe.
L’algorithme affichera la valeur de TVA et le prix TTC correspondant. Dans
le cas où l’utilisateur fournit un code incorrect, l’algorithme proposera B
comme réponse par défaut et affichera un message précisant cette
décision.

EXERCICE N°3 à domicile :

Ecrire un algorithme qui demande à l’utilisateur de saisir un jour de la


semaine en français et l’algorithme affichera sa traduction en bamanan.
Par exemple si l’utilisateur tape Lundi, l’algorithme affichera Tenin.

12
EXERCICE N°4 à domicile :

Après exécution de l’algorithme ci-dessous :

Combien de fois le message Pas d’assignation sera affiché ?

Quelles seront les valeurs finales de PG et IPG ?

Variables

N, I, PG, IPG: Entiers

Debut

N5

I0

PG  0

Tant que (N < > 0) Faire

NN–1

II+1

Si (I = 1 Et N > PG) Alors

PG  N

IPG  I

Sinon

Ecrire (“Pas d’assignation”)

Fin si

Fin Tant que

Ecrire (’’Le nombre le plus grand était :’’, PG)

Ecrire (’’Il a été saisi en position numéro :’’, IPG)

Fin

13

Vous aimerez peut-être aussi