CHAPITRE 2 : LES STRUCTURES DE CONTROLE
I) Introduction
Les structures de contrôle permettent de mener les traitements conditionnels, itératifs
(Boucles) ou répétitives et séquentiels.
II) Les structures de contrôle conditionnel
Ces structures sont utilisées pour décider de l'exécution d'un bloc d'instruction : est-ce-
que ce bloc est exécuté ou non. Ou bien pour choisir entre l'exécution de deux blocs
différents.
II.1) Expression logique
Une expression logique est une énoncée ou proposition qui peut être vraie ou fausse
selon ce qu’on est en train de parler. En mathématiques, c’est une expression contenant
une ou plusieurs variables et qui est susceptible de devenir une proposition vraie ou
fausse selon les valeurs attribuées à ces variables.
Exemple :
(10 < 15) est une expression logique vrai
(10 < 3) est un prédicat faux
II.2) Evaluation d'une expression logique
Une condition est une expression de type logique. Ils lui correspondent deux valeurs
possibles VRAIE et FAUSSE qu'on note par V ou F. Considérons deux variables logiques
A et B. Voyons quels sont les opérateurs logiques et leurs ordres de priorités.
Notons que :
(A = faux) non
A (A = vrai) A
Les opérateurs logiques sont :
La négation : "non"
1
L'intersection : "et" L'union : "ou"
Operateurs logiques
Opérateurs Opérations
NOT négations logique
AND conjonction logique
OR disjonction inclusive
EQV équivalence logique
NEQV non-équivalence logique
II.3) Test alternatif simple
Un test simple contient un seul bloc d'instructions. Selon une condition (expression
logique), on décide est-ce-que le bloc d'instructions est exécuté ou non. Si la condition
Est vraie, on exécute le bloc, sinon on ne l’exécute pas.
La syntaxe d'un test alternatif simple est comme suit :
Cas 1 : Si (condition) Alors
IF (expression logique) then instructionsAlors
Instruction ! Exécutée si la condition est vraie FinSi
END IF
SI (condition) Instruction ! Exécutée si la condition est
vraie.
2
Exemple : Écrire un algorithme qui demande un entier (A) à l’utilisateur, teste si ce
nombre est positif (A> 0) et affiche “positif”.
Solution :
Algorithme :
Algorithme positif
Début
Variables A: entier
Écrire ("entrer la valeur de A ")
Lire (A)
Si (A ≥ 0) alors
Écrire (" positif ")
FinSi
Fin
Cas 2 :
II.4) Test alternatif double
Un test double contient deux blocs d'instructions : on est amené à décider entre le premier
bloc ou le second. Cette décision est réalisée selon une condition (expression logique ou
booléenne) qui peut être vraie ou fausse. Si la condition est vraie on exécute le premier
bloc, sinon on exécute le second. La syntaxe d'un test alternatif double est
comme suit :
Cas 1 :
Si (condition) Alors
IF (expression logique) then
Instructions 1 instructionsAlors
ELSE Sinon
Instructions 2
instructionsSinon
END IF
FinSi
3
Exemple :
Écrire un algorithme qui demande un entier (A) à l’utilisateur, teste si ce nombre est
positif (A ≥ 0) ou non, et affiche “positif” ou “négatif”.
Solution :
Algorithme : Algorithme positif
Début
Variables A: entier
Écrire ("entrer la valeur de A ")
Lire (A)
Si (A ≥ 0) alors
Écrire (" positif ")
Sinon
Écrire (" négatif ")
FinSi
Fin
Cas 2: Si condition1 Alors
IF (expression logique) then instructions1
Instructions 1 Sinon Si condition2
ELSEIF Alors
Instructions 2 instructions2
….
Sinon Si...
ELSEIF
...
Instructions n-1
Sinon Si conditionN
ELSE
Alors
Instructions n
instructionsN
END IF
Example: Sinon
Écrire un algorithme qui demande un entier à l’utilisateur, teste si ce instructionsSinon
nombre est strictement positif, nul ou strictement négatif, et affiche
FinSi
ce résultat.
Solution :
Algorithme : Algorithme positif
4
Début
Variables A: entier ORGANIGRAME
Écrire ("entrer la valeur de A ")
Lire (A)
Si (A ≥ 0) alors
Écrire (" positif ")
Sinon
Si (A = 0)
Ecrire (" nul ")
Sinon
Écrire (" négatif ")
FinSi
Fin
II-5) Sélective Selon (conditions) en anglais : switch
C’est une simplification d’écriture d’alternatives imbriquées.
La syntaxe est la suivante:
Selon
condition1
instructions1 (lorsque la condition1 est vraie)
...
conditionN
instructionsN (lorsque la conditionN est vraie)
Autre
instructionsSinon (aucune des conditions vérifiée)
FinSelon
Exemple : écrire un algorithme qui permet de saisir un jour de la semaine sous forme
d’un nombre entier (0 pour dimanche, 1 pour lundi...) et affiche en clair le jour de la
semaine pour un jour de travaille et Week-end pour le samedi ou le dimanche. Dans tous
les autres cas, il affiche le numéro de jour non valide .
5
III) Les structures itératives
Une boucle permet de parcourir une partie d'un programme un certain nombre de fois.
Une itération est la répétition d'un même traitement plusieurs fois. Un indice de boucle
varie alors de la valeur minimum (initiale) jusqu'à la valeur maximum (finale).
III.1) La boucle « Pour »
Cette structure est une BOUCLE ITERATIVE ; elle consiste à répéter un certain
traitement un nombre de fois fixé à l’avance.
Cette structure utilise une variable (indice) de contrôle d’itérations caractérisée par :
- sa valeur initiale,
- sa valeur finale,
- son pas de variation.
La syntaxe de la boucle pour est la suite :
Pour I de 1 jusqu’à N pas 1
Instructions
Fin Pour
6
I : variable
1 : valeur initiale
N : valeur finale
Le pas de variation égale à 1.
Exemple :
Ecrire un algorithme qui demande un nombre de départ, et qui ensuite affiche les dix
nombres suivants. Par exemple, si l'utilisateur entre le nombre 17, le programme
affichera les nombres de 18 à 27.
Solution : Organigramme :
Algorithme :
Algorithme nombres
Début
Variables I, N : entier
Écrire ("entrer la valeur de I ")
Lire (I)
N=I+10
Pour I de 17 jusqu’à N pas 1
Ecrire (I)
Fin Pour
Fin.
III.2) La boucle TANT QUE
Une action ou un groupe d’actions est exécuté répétitivement
tout le temps où une condition est vraie.
Syntaxe
Tant Que (Condition) Faire
Instructions
Fin Tant que
NB : la vérification de la condition s’effectue avant les actions.
Celles-ci peuvent donc ne jamais être exécutées.
7
Exemple :
On veut écrire un algorithme qui calcul la somme des entiers positifs inférieurs ou égaux
à N.
Solution : Organigramme :
Algorithme : Algorithme somme
Début
Variables I, N, S : entier
Écrire ("entrer la valeur de N ")
Lire (N)
I=0
S=0
Tant Que (I ≤ N) alors
S=S+I
I=I+1
Fin Tant Que
Ecrire (‘la Somme est’, S)
Fin
III.3) La boucle REPETER ... JUSQUA ...
Une action ou un groupe d’actions est exécuté répétitivement jusqu'à ce qu’une
condition soit vérifiée.
Syntaxe :
Répéter
Instructions
Jusqu'à (Condition)
NB : la vérification de la condition s’effectue après les actions. Celles-ci sont donc
exécutées au moins une fois.
Exemple : Ecrire un algorithme qui demande successivement 10 nombres à l’utilisateur,
et qui lui dise ensuite quel était le plus grand parmi ces 10 nombres :
Entrez le nombre numéro 1 : 7
8
Entrez le nombre numéro 2 : 24
…….etc.
Entrez le nombre numéro 10 : 13
Le plus grand de ces nombres est : 24 Organigramme :
Solution :
Algorithme : Algorithme plus_grand
Début
Variables I, N, PG : entier
I=1
Écrire ("entrer la valeur de N ")
Lire (N)
PG = N
Répéter
Lire (N)
Si (PG ≤ N) alors
PG = N
Fin Si
I=I+1
Jusqu'à (I = 10)
Ecrire (‘La valeur la plus grand est’, PG)
Fin