Vous êtes sur la page 1sur 9

Chapitre 2 

: LES STRUCTURES ALGORITHMIQUES DE CONTRÔLE 3ème SI -ALGO

CHAPITRE 2 : LES STRUCTURES ALGORITHMIQUES DE


CONTRÔLE

I. LES STRUCTURES DE CONTRÔLE CONDITIONNELLES :


Activité : Ecrire une analyse puis un programme en Pascal intitulé PARITE qui
permet de saisir un entier n et de vérifier sa parité.
Analyse : Pascal :

1- Introduction :
Les structures de contrô le conditionnelles sont utilisées pour exécuter un traitement
parmi d’autres suivant la valeur de la condition. On distingue trois types de structures de
contrô le conditionnelles : complète, généralisée et à choix
Une condition est une expression booléenne qui peut prendre la valeur vrai ou faux.

2- La structure conditionnelle simple


a. Syntaxe :
Syntaxe en algorithmique Syntaxe en Pascal
If conditions then
Si conditions alors Begin
Traitement1 Traitement 1.1;
Traitement 1.2;
Sinon End
Traitement 2 Else
Begin
Fin si Traitement 2;
End;
Si la condition est vraie, le programme exécute le premier traitement, sinon, il saute
pour exécuter le deuxième traitement.

b. Définition :

1
Chapitre 2 : LES STRUCTURES ALGORITHMIQUES DE CONTRÔLE 3ème SI -ALGO

La structure conditionnelle simple est une structure algorithmique qui exécute un


traitement parmi deux et ce suivant le résultat de l’évaluation de la condition.

Remarques 
Remarques :
 La condition peut être composée.
 Si le traitement2 est vide, on parlera de structure conditionnelle simple réduite qui
aura la syntaxe suivante :
Syntaxe en algorithmique Syntaxe en Pascal
If conditions then
Si conditions alors Begin
Traitement action1;
action 2;
Fin si :
End;
c. Applications: Application 1(voir livre page 54), Application 2(voir livre page 58)
3- La structure conditionnelle généralisée
a.Activité : Ecrire une analyse puis un programme en Pascal intitulé EQUATION qui
permet de résoudre une équation de premier degré de la forme ax+b=0 (avec a, b et x réels).
Analyse : Pascal :

b.Syntaxe :
Syntaxe en algorithmique Syntaxe en Pascal
IF condition_1 THEN
Begin
SI condition_1 ALORS Traitement_1
Traitement_1 End 
SINON SI condition_2 ALORS ELSE IF condition_2 THEN
Traitement_2 Begin
SINON SI Traitement_2
…. End 
SINON SI condition_n-1 ALORS ELSE IF
Traitement_n-1 ………
SINON ELSE IF condition_n-1 THEN
Traitement_n Begin
FIN SI Traitement_n-1
End 
ELSE

2
Chapitre 2 : LES STRUCTURES ALGORITHMIQUES DE CONTRÔLE 3ème SI -ALGO

Begin
Traitement_n
End 
End ;
L’exécution d’une telle structure commence par l’évaluation de la condition_1, deux
états peuvent se reproduire
 Si condition_1 est vérifiée alors le traitement_1 qui sera exécuté
 Si condition_1 n’est pas vérifiée alors il y a un passage automatique pour vérifier la
condition suivante et ainsi de suite pour chacune des conditions.
 Si aucune condition n’est vérifiée alors le traitement_n qui sera exécuté.

a. Définition :
La structure conditionnelle généralisée est une structure algorithmique qui fait appel
à plus que deux traitements. L’exécution d’un traitement donné dépend de la condition à
vérifier.

b. Applications : Application 1 (voir livre page 61), Application 2 (voir livre page 67)
4- La structure à choix
a.Activité : Ecrire une analyse puis un programme en Pascal intitulé SAISON qui permet
d’afficher la saison à partir du numéro d’un mois donné.
Analyse : Pascal :
Uses WinCrt;
Var mois:integer; r:string[9];
Begin
Writeln('Donnez le numèro d"un mois'); Readln(mois);
Case mois of
3..5:r:='Printemps';
6..8:r:='Eté';
9..11:r:='Automne';
12,1,2:r:='Hiver';
End;
Writeln('Saison = ',r);
End.

3
Chapitre 2 : LES STRUCTURES ALGORITHMIQUES DE CONTRÔLE 3ème SI -ALGO

b.Syntaxe :
La structure conditionnelle à choix aura la syntaxe suivante :
Syntaxe en algorithmique Syntaxe en Pascal
Selon sélecteur faire CASE sélecteur OF
Valeur_1 : traitement_1 Valeur_1 : traitement_1
Valeur_2 : traitement_2 Valeur_2 : traitement_2
…. ….
…. ….
Valeur_n-1 : traitement_n-1 Valeur_n-1 : traitement_n-1
Sinon ELSE
traitement_n traitement_n
Fin selon End 
End ;

c. Définition :
La structure conditionnelle à choix est une structure algorithmique utilisée dans des
structures à plusieurs traitements selon des conditions. L’exécution d’un traitement
entraîne automatiquement la non exécution des autres. Le choix d’un traitement se fait
suivant la valeur d’un sélecteur.

Remarques
 Le sélecteur doit être de type scalaire discret et non réel.
 Comme dans le cas des autres structures conditionnelles, chaque traitement peut
comporter une ou plusieurs instructions.
 Valeur_i peut être un ensemble de valeurs qui seront séparées par des virgules ou un
intervalle de valeurs [Vi.. Vf]
 Si la valeur du sélecteur est différente des valeurs proposées alors c'est le traitement
qui suit la clause sinon qui sera exécuté.
 La clause sinon et son traitement sont facultatifs dans la structure.

d. Applications :
Application 1(voir livre page 69)
Application 2(voir livre page 75)

4
Chapitre 2 : LES STRUCTURES ALGORITHMIQUES DE CONTRÔLE 3ème SI -ALGO

Exercice N° 13
Program NOMBRE_JOURS;
Uses WinCrt;
Var
mois,nbj,annee:integer;
Begin
Writeln('Donner le mois (N°)');
Readln(mois);
Case mois of
1,3,5,7,8,10,12:nbj:=31;
4,6,9,11:nbj:=30;
2:
Begin
Writeln('Donnez l"année');
Readln(annee);
If annee Mod 4 = 0 Then
nbj:=29
Else
nbj:=28;
End;
End;
Writeln('Le nombre de jours du mois ',mois,' est de ',nbj,'
jours');
End.

5
Chapitre 2 : LES STRUCTURES ALGORITHMIQUES DE CONTRÔLE 3ème SI -ALGO

II. LES STRUCTURES DE CONTRÔLE ITÉRATIVES


1-La structure itérative complète
a. Introduction
Activité 1 :
Ecrire un algorithme d’un programme qui permet de remplir un tableau T par 5 chiffres et
d’afficher en suite tout les éléments de T.
Solution1 : Solution 2 :

b. Syntaxe
La structure POUR…FAIRE est représentée comme suit :

Syntaxe en algorithmique Syntaxe en Pascal


Initialisation (s) FOR Cp :=Vi To Vf do
POUR Cp de Vi à Vf FAIRE Begin
instruction 1 instruction 1 ;
instruction 2 instruction 2 ;
… …
instruction n instruction n;
FIN POUR End ;
La structure répétitive complète POUR…FAIRE réalise les actions suivantes :

 Action 1 : initialiser le compteur de la boucle Cp à la borne Vi


 Action 2 : incrémenter de un le compteur à chaque répétition
 Action 3 : exécuter les instructions du traitement répétitif
 Action 4 : vérifier que la valeur du compteur ne dépasse pas la valeur finale Vf

Remarques
1. Le compteur de la boucle est de type scalaire.
2. Le pas est par défaut de 1.
3. Si le pas est de -1, la syntaxe en pascal devient

6
Chapitre 2 : LES STRUCTURES ALGORITHMIQUES DE CONTRÔLE 3ème SI -ALGO

FOR Cp := Vi DOWNTO Vf do


4. Le changement de la valeur du compteur est automatique, le pas est de 1 ou de -1

c. Applications
Application 1

Ecrire un algorithme d’un programme qui permet de chercher puis afficher le nombre
de lettres NL, le nombre de chiffres NC et le nombre de symbole NS dans une chaîne de
caractères CH saisie au clavier.

Application 2

Ecrire une analyse d’un programme qui permet d’effectuer la multiplication de deux
entiers positifs P et Q données en utilisant uniquement l’addition entière.

2-Les structures de contrôle itératives à condition d’arrêt


2-1) La structure REPETER…JUSQU'A
a. Introduction
Activité 1 :
1. Exécuter le fichier " StrRep.exe" se trouvant dans "C:\ "
 Cas 1 : taper les valeurs -1, 22, 15
 Cas 2 : 25,8
 Cas 3 :12
2. Quel est la tâ che réalisée par le programme " StrRep.exe "
3. Le traitement réalisé par le programme " StrRep.exe " est il un traitement répétitif ?
4. Quelle est la structure de traitement adéquate pour ce type de traitement ?
Réponse :
2. Le programme "StrRep.exe " demande à l’utilisateur de donner une valeur compris
entre 0 et 20 si l’utilisateur donne une valeur invalide le programme répète sa
demande jusqu'à à ce que l’utilisateur donne une valeur valide.
3. La saisie des valeurs données par l’utilisateur est un traitement répétitif dont le
nombre de répétition n’est pas connu à l’avance il s’agit d’un traitement répétitif  à
condition d’arrêt?
4. Le traitement répétitif doit être exécuté au moins une seule fois en plus le nombre de
répétition n’est pas connu à l’avance on doit donc utiliser la structure répétitive à
condition d’arrêt REPETER…JUSQU'A

b. Définition
La structure REPETER…JUSQU'A... est utilisée quand il s'agit de répéter un traitement
un nombre de fois Inconnu à l’avance et qu’on est sû r que le traitement itératif
s'exécutera au moins une fois.

c. Syntaxe :
Activité 2 : En se basant sur le code source du fichier " StrRep.pas" déterminer la syntaxe
de la structure répétitive à condition d’arrêt REPETER…JUSQU'A
La structure REPETER…JUSQU'A est représentée comme suit :

7
Chapitre 2 : LES STRUCTURES ALGORITHMIQUES DE CONTRÔLE 3ème SI -ALGO

Syntaxe en algorithmique Syntaxe en Pascal


Initialisation (s)
REPETER REPEAT
instruction 1 instruction 1 ;
instruction 2 instruction 2 ;
… …
instruction n instruction n;
JUSQU'A (condition d’arrêt) UNTIL (condition d’arrêt);
Remarques :
1. La condition d'arrêt est considérée comme une condition de sortie de da la boucle.
2. La condition d'arrêt de la boucle peut être simple ou composée.
3. les caractéristiques de la boucle REPETER…JUSQU'A en font une structure adaptée
pour le contrô le de la saisie des données. On répète la saisie jusqu'à à ce que les
contraintes spécifiées dans l’énoncé du problème soient respectées.

d. Applications
Application 1 : Stocker une série d’éléments dans un vecteur de 100 éléments au maximum
compris entre 1 et 50. Le zéro est admis comme fin de saisie. Rechercher ensuite et afficher le
minimum et le maximum des nombres entrés
Application 2 : Ecrire un programme permettant de :
 Saisir les éléments d’un tableau T de N entiers formés chacun de trois chiffres 5 ≤ N ≤ 20
 Afficher les éléments du tableau T dont la permutation des chiffres donne la valeur du
premier élément du tableau T
2-2) La structure TANTQUE…FAIRE
a. Activité :
On se propose d’écrire un algorithme qui permet de calculer et d’afficher la somme d’une
liste d’entiers qui se termine par -1 qui ne fera pas partie de la somme.
Exemple : si la suite saisie est 5, 6, 7, -4, -1 la valeur affichée est 14

Solution 1 : Solution 2 :

Constatations :
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………

8
Chapitre 2 : LES STRUCTURES ALGORITHMIQUES DE CONTRÔLE 3ème SI -ALGO

b. Définition
La structure TANT QUE...FAIRE... est utilisée quand il s'agit de répéter un traitement un
nombre de fois inconnu à l’avance et que le traitement itératif peut ne pas s'exécuter
Le principe de fonctionnement de cette boucle est simple : Quand le programme atteint la
ligne du TANTQUE. Il examine alors la valeur de la condition. SI cette valeur est VRAIE, Le
programme exécute les instructions qui suivent, jusqu'à ce qu'il rencontre la ligne FIN
TANTQUE.
Il retourne ensuite sur la ligne du TANTQUE, procède au même examen, et ainsi de suite.
Le traitement ne s'arrête que lorsque la condition prend la valeur FAUSSE.

c. Syntaxe
La structure TANTQUE…FAIRE est représentée comme suit :

Syntaxe en algorithmique Syntaxe en Pascal


Initialisation (s) WHILE condition(s) DO
TANTQUE condition(s) FAIRE Begin
instruction 1 instruction 1 ;
instruction 2 instruction 2 ;
… …
instruction n instruction n;
Fin TANTQUE End ;
Remarques :

1. La condition d'arrêt est considérée comme une condition d'entrée dans la boucle car,
une fois qu'elle n'est pas vérifiée, on quitte la boucle sinon on itère encore jusqu'à sa
non vérification.
2. La condition d'entrée dans la boucle peut être simple ou composée.

Application :

Traduire cet algorithme en pascal et enregistrer le programme source sur le nom "Ap1.pas"

0) début algorithme choix


1) lire (c)
2) tant que (C<>5) faire
si (C MOD 2= 0) alors
écrire (2*C)
sinon
écrire (C*C)
fin si
lire (c)
fin tant que
3) fin choix
1. Exécutez le programme pour chacune des valeurs suivantes de la variable C.
C=7 ; C=4 ; C=5

Vous aimerez peut-être aussi