Vous êtes sur la page 1sur 8

Chapitre 2

LES STRUCTURES DE CONTRÔLES


CONDITIONNELLES

I. LA STRUCTURE CONDITIONNELLE SIMPLE


1) La forme simple réduite

a)Activité
Ecrire un programme pascal qui permet de saisir un entier x puis afficher le message
« entier positif » si x>0

Analyse
Grille d’analyse
NOM : signe
S L.D.E O.U
3 Résultat = Écrire (message)
2 message = [message "" ] Si x > 0 alors message
message  "entier positif" x
1 Finsi
x = Donnée ("donner un entier : ")
4 Fin signe

Tableau de déclaration des objets


Objet Nature / Type
x Entier.
messag Chaîne de
e caractères

.
Algorithme
0) Début signe
1) Ecrire (" donner un entier : "), lire (x)
2) Si x > 0 alors
message  "entier positif"
Finsi
3) Ecrire (message)
4) Fin signe

Traduction en Pascal
PROGRAM signe;
USES WINCRT;
VAR
x: INTEGER;
Message : STRING;
BEGIN
WRITE ('donner un entier : ');
READLN (x);
IF x >0 THEN
Message: = entire positif' ;
WRITELN (message);
END.
b) définition
Une structure de contrôle conditionnelle a une forme simple réduite si son traitement est
exécuté quand la condition donnée est vraie.
c) Vocabulaire et syntaxe

Au niveau de l’analyse et de l’algorithme Au niveau de Turbo Pascal


…….. ...... ;
[Init] {Init};
Si condition Alors IF condition THEN
Instruction 1 Begin
Instruction 2 Instruction 1 ;
….. Instruction 2 ;
Instruction N ….. ;
FinSi Instruction N ;
……… End ;
………. ………..

Remarque :
- La partie initialisation ([Init]) est une séquence d’instructions qui contiendra les
éventuelles initialisations.
Condition est une expression booléenne qui peut prendre la valeur vrai (true) ou la valeur
fausse (false).

2) Forme simple alternative ou forme complète


a)Activité
Ecrie un programme qui permet de saisir un entier puis tester sa parité :

Analyse Grille d’analyse


NOM : parité

S L.D.E O.U
3 Résultat = Écrire (message) message
2 message = [ message ""] Si a mod 2 = 0 alors a
message"entier pair"
Sinon
message  "entier impair"
FinSi
1 a= Donnée (" donner un entier")
4 Fin parité
Tableau de déclaration des objets
Objet Nature / Type
Messag Chaîne de
e caractères
a entier
Algorithme
0) Début parité
1) Ecrire ("donner un entier"), lire (a)
2) message [""] Si a mod 2 =0 alors
message"entier air"
Sinon
message  "entier impair"
FinSi
3) Ecrire (message)
4) Fin parité
Traduction en Pascal
PROGRAM PARITE;
USES WINCRT;
VAR
a : INTEEGER ;
message: STRING;
BEGIN
WRITELN ('donner un entier ');
READ (a);
IF a mod 2=0 THEN
message := 'entier pair'
ELSE
message := 'entier impair' ;
WRITE (message);
END.

b) Définition
Une structure de contrôle conditionnelle a une forme complète permet de choisir un
traitement parmi deux.
Si la condition est vraie, alors traitement T1 est exécuté. Dans le cas contraire, traitement
T2 est exécuté.
c) Vocabulaire et syntaxe
Au niveau de l’analyse et de l’algorithme Au niveau de Turbo Pascal
…………… ...... ;
[Init] {Init};
Si condition alors IF condition THEN
Traitement 1 Begin
Sinon Traitement 1 ;
Traitement 2 End
FinSi ELSE
………….. Begin
Traitement 2 ;
End ;
………… ;
Remarques :
1. Dans un programme Pascal, le point virgule ( ;) avant le ELSE est interdit.
2. Au niveau de Turbo Pascal, lorsque on a plus d’une seul instruction dans la
section if ou dans la section else, il faut encadrer ces instructions entre Begin et
End.

II. LA STRUCTURE CONDITIONNELLE GÉNÉRALISÉE

1) Définition

La structure conditionnelle généralisée permet de choisir un traitement parmi plusieurs.


L’exécution d’un traitement entraîne automatiquement la non exécution des autres
traitements

2) Vocabulaire et syntaxe
Au niveau de l’analyse et de l’algorithme Au niveau de Turbo Pascal
…………… ...... ;
[Init] {Init};
Si condition 1 alors IF condition 1 THEN
Traitement 1 Traitement 1
Sinon ELSE
Si condition 2 alors IF condition 2 THEN
Traitement 2 Traitement 2
Sinon ELSE
……………… ……………
Si condition n-1 alors IF condition n-1 THEN
Traitement n-1 Traitement n-1
Sinon ELSE
Traitement n Traitement n ;
FinSi …………. ;
…………..

3) Application
Ecrire un programme pascal qui permet de :
1. Calculer la moyenne d’un élève à partir de trois notes N1, N2 et N3 de
coefficients respectifs 1, 2 et 3.
2. Afficher la mention correspondante.

Moyenne Mention
Moyenne ≥ 16 Très bien
14 ≤ moyenne < 16 Bien
12 ≤ moyenne < 14 Assez bien
10 ≤ moyenne < 12 Passable
moyenne < 10 Redouble

Analyse Grille d’analyse


NOM : MENTION
S L.D.E O.U
6 Résultat = Écrire ("La mention est : ", ment)
5 ment = [ ment""] Si moy ≥ 16 alors ment
ment  "très bien" moy
Sinon N1
Si moy ≥ 14 alors N2
ment  "bien" N3
Sinon
Si moy ≥ 12 alors
ment  "assez bien"
Sinon
Si moy ≥ 10 alors
ment  "passable"
Sinon
ment  "redouble"
FinSi
4 moy  (N1+N2*2+N3*3) / 6
1 N1= donnée (" Donner la 1ère note")
2 N2= donnée (" Donner la 2ème note")
3 N3= donnée (" Donner la 3ème note")
7 Fin MENTION

Tableau de déclaration des objets


Objet Nature / Type
ment Chaîne de
moy caractères
N1 Réel
N2 Réel
N3 Réel
Réel

Algorithme
0) Début MENTION
1) Ecrire ("Taper la 1ère note :"), lire (N1)
2) Ecrire ("Taper la 2ème note :"), lire (N2)
3) Ecrire ("Taper la 3ème note :"), lire (N3)
4) Moy  (N1+N2*2+N3*3) / 6
5) [ ment""] Si moy ≥ 16 alors
ment  "très bien"
Sinon
Si moy ≥ 14 alors
ment  "bien"
Sinon
Si moy ≥ 12 alors
ment  "assez bien"
Sinon
Si moy ≥ 10 alors
ment  "passable"
Sinon
ment  "redouble"
FinSi
6) Ecrire ("La mention est : ", ment)
7) Fin MENTION
Traduction en Pascal
PROGRAM MENTION;
USES WINCRT;
VAR
N1, N2, N3, moy : REAL;
ment : STRING;
BEGIN
WRITE ('Taper la 1ère note : ');
READ (N1);
WRITE ('Taper la 2ème note : ');
READ (N2) ;
WRITE ('Taper la 3ème note : ');
READ (N3) ;
Moy := (N1+N2*2+N3*3) / 6;
ment:= '';
IF moy >= 16 THEN
ment: = 'très bien'
ELSE
IF moy >= 14 THEN
ment := 'bien'
ELSE
IF moy >= 12 THEN
ment := 'assez bien'
ELSE
IF moy >= 10 THEN
ment := 'passable'
ELSE
ment := 'redouble' ;
END ;
WRITE ('La mention est : ', ment);
END.
III. STRUCTURE CONDITIONNELLE À CHOIX
1) Activité
Ecrire une analyse, un algorithme puis la traduction en Pascal du programme intitulé
SAISON qui, a partir d’un numéro de mois affiche à l’écran la saison correspondante

Analyse
Grille d’analyse
NOM : SAISON
S L.D.E O.U
3 Résultat = Écrire (s) sai
2 sai = [ s ""] Selon n faire l
6,7, 8 : s"été"
9,10, 1 : s"automne"
12, 1,2 : s"hiver"
3,4, 5 : s"printemps"
Sinon
s"Le nombre ne correspond pas à un
numéro de mois"
1 FinSelon
4 n= donnée ("donner un numéro de mois")
Fin SAISON
Tableau de déclaration des objets
Objet Nature / Type
s Chaîne de caractères
n entier

Algorithme Traduction en Pascal


0)Début SAISON
PROGRAM SAISON;
1) Ecrire ("Donner un numéro de mois")
2) lire (n)
USES WINCRT;
3) Selon n faire VAR
6,7,8 : s"été" n : integer ;
9,10,11 : s"automne" s : STRING;
12,1,2 : s"hiver" BEGIN
3,4,5 : s"printemps" WRITE ('Taper une lettre : ');
Sinon READLN (n) ;
s" Le nombre ne Case n of
correspond pas à un numéro de mois " 6, 7, 8: s:='été' ;
FinSelon 9, 10,11 : s :='automne' ;
4) Ecrire (s) 12, 1, 2 : s :='hiver';
5) Fin SAISON 3, 4, 5 : s :='printemps'
Else
S := ' Le nombre ne correspond pas à
un numéro de mois ' ;
End ;
WRITELN (s);
END.
2) Définition
La structure conditionnelle à choix multiple est une structure qui nous permet
de choisir un traitement parmi plusieurs.
Cette structure évite l’utilisation d’une trop longue structure conditionnelle
généralisée et permet une meilleure lisibilité du programme.

3) Vocabulaire et Syntaxe
Au niveau de l’analyse et de l’algorithme Au niveau de Turbo Pascal
…………… ...... ;
[Init] {Init};
Selon sélecteur faire Case sélecteur OF
liste de valeur 1 : Traitement 1 liste de valeur 1 : Traitement 1 ;
liste de valeur 2 : Traitement 2 liste de valeur 2 : Traitement 2 ;
……………………………… ……………………………… ;
liste de valeur n-1 : Traitement n-1 liste de valeur n-1: Traitement n-1
Sinon ELSE
Traitement n Traitement n ;
FinSelon End ;
………….. ………… ;
…………. ;

Remarques :
- Le Sélecteur doit être type scalaire (entier, caractère) et non réel.
- Chaque traitement peut comporter une ou plusieurs instructions.
- La liste de valeur peut être un ensemble de valeurs qui seront séparés par des
virgules ou un intervalle de valeurs (vi..vf).
- La clause sinon (ELSE) et son traitement sont facultatifs dans la structure.