Vous êtes sur la page 1sur 9

Chapitre 3

Les structures de contrles conditionnels

LYCEE DISCIPLINE : Informatique

PROFESSEUR:

I. FORMES SIMPLES I.1 Forme simple rduite A /Activit

Chapitre 2

Les structures de contrles conditionnelles

Ecrire un programme pascal qui permet de saisir un entier x et dafficher le message racine carr existe si x est positif 0. Pr-analyse Afficher le message racine carr existe

Test de x

Entier x Analyse Grille danalyse NOM : RACINE_CARRE S 3 2 1 4 L.D.E Rsultat = crire (message) message = [message "" ] Si x > 0 alors message "racine carr existe" Finsi x = Donne ("Taper un entier : ") Fin RACINE_CARRE O.U message x

Tableau de dclaration des objets Objet Nature / Type message Chane de caractres x Entier.

MrToujani

Page 1 sur 9

Chapitre 3 conditionnels

Les structures de contrles

Algorithme 0) Dbut RACINE_CARRE 1) Ecrire (" Taper un entier : "), lire (x) 2) message "" Si x > 0 alors message "racine carr existe" Finsi 3) crire (message) 4) Fin RACINE_CARRE

Traduction en Pascal PROGRAM RACINE_CARRE; USES WINCRT; VAR x : INTEGER; Message : STRING; BEGIN WRITE ('Taper un entier : '); READLN (x); message:= '' ; IF x >0 THEN Message := 'racine carr existe' ; WRITELN (message); END.

B /Dfinition Une structure de contrle conditionnelle a une forme simple rduite si son traitement est excut quand la condition est vraie. C /Vocabulaire et syntaxe Au niveau de lanalyse et de lalgorithme .. [Init] Si condition Alors Instruction 1 Instruction 2 .. Instruction N FinSi .
Remarque :

Au niveau de Turbo Pascal ...... ; {Init}; IF condition THEN Begin Instruction 1 ; Instruction 2 ; .. ; Instruction N ; End ; ..

- [Init] est une suite dinstructions qui contient les initialisations. - Condition est une expression boolenne qui peut donner soit la valeur vrai (true) soit la valeur faux (false). I.2 Forme simple alternative ou complte A /Activit Ecrire un programme Pascal qui permet de : 1. Calculer la moyenne dun lve partir de trois notes N1, N2 et N3 de coefficients respectifs 1, 2, et 3 2. Afficher les messages : - lve passe si sa moyenne >= 10. - lve redouble sinon.

-2-

Chapitre 3 conditionnels

Les structures de contrles

Pr-analyse
Afficher le message lve passe ou lve redouble .

1/ Calculer la moyenne Moy= (N1+N2*2+N3*3)/ 6 2/ Tester cette moyenne

Trois notes N1, N2 et N3

Analyse NOM : DECISION S 6 5

Grille danalyse

L.D.E Rsultat = crire (message) message = [ message ""] Si moy >= 10 alors message"lve passe" Sinon message "lve redouble" FinSi moy (N1+N2*2+N3*3)/ 6 N1= Donne (" Taper la 1re note") N2= Donne (" Taper la 2me note") N3= Donne (" Taper la 3me note") Fin DECISION
Nature / Type Chane de caractres Rel Rel Rel Rel

O.U message moy N1 N2 N3

4 1 2 3 7

Tableau de dclaration des objets


Objet Message Moy N1 N2 N3

Algorithme 0) Dbut DECISION 1) Ecrire ("Taper la 1re note"), lire (N1) 2) Ecrire ("Taper la 2me note"), lire (N2) 3) Ecrire ("Taper la 3me note"), lire (N3) 4) moy (N1+N2*2+N3*3) / 6 5) message [""] Si moy >= 10 alors message"lve passe" Sinon message "lve redouble" FinSi 6) Ecrire (message) -3-

Chapitre 3 conditionnels

Les structures de contrles

7)

Fin DECISION

Traduction en Pascal PROGRAM DECISION; USES WINCRT; VAR N1, N2, N3, moy : REAL ; message : STRING; BEGIN WRITELN ('Taper la premire note '); READ (N1) ; WRITELN ('Taper la deuxime note '); READ (N2) ; WRITELN ('Taper la troisime note '); READ (N3) ; Moy:= (N1+N2*2+N3*3) / 6 message:= ''; IF moy > = 10 THEN message := 'lve passe' ELSE message := 'lve redouble' ; WRITE (message); END. B / Dfinition Une structure de contrle conditionnelle a une forme complte si suivant la valeur dune condition, on excute soit un traitement T1 soit un traitement T2. Si la condition est vraie, alors traitement T1 est excut. Dans le cas contraire, traitement T2 est excut. C /Vocabulaire et syntaxe Au niveau de lanalyse et de lalgorithme [Init] Si condition alors Traitement 1 Sinon Traitement 2 FinSi .. Au niveau de Turbo Pascal ...... ; {Init}; IF condition THEN Begin Traitement 1 ; End 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 plusieurs instructions dans la section if ou dans la section else, il faut encadrer ces instructions entre Begin et End.

-4-

Chapitre 3 conditionnels

Les structures de contrles

II. II.1

FORME GNRALISE (LES TRAITEMENTS CONDITIONNELS IMBRIQUS) Dfinition

Les traitements de alors et de sinon peuvent tre donns sous la forme dun traitement conditionnel : on parle dans ce cas de traitements conditionnels imbriqus. II.2 Vocabulaire et syntaxe Au niveau de lanalyse et de lalgorithme [Init] Si condition 1 alors Traitement 1 Sinon Si condition 2 alors Traitement 2 Sinon Si condition n-1 alors Traitement n-1 Sinon Traitement n FinSi .. II.3 Activit Ecrire un programme pascal qui permet de : 1. Calculer la moyenne dun lve partir de trois notes N1, N2 et N3 de coefficients respectifs 1, 2 et 3. 2. Afficher la mention correspondante. Moyenne Moyenne 16 14 moyenne < 16 12 moyenne < 14 10 moyenne < 12 moyenne < 10 Mention Trs bien Bien Assez bien Passable Redouble . ; ...... ; {Init}; IF condition 1 THEN Traitement 1 ; ELSE IF condition 2 THEN Traitement 2 ELSE IF condition n-1 THEN Traitement n-1 ELSE Traitement n ; Au niveau de Turbo Pascal

-5-

Chapitre 3 conditionnels

Les structures de contrles

Analyse NOM : MENTION S 6 5

Grille danalyse O.U ment moy N1 N2 N3

L.D.E Rsultat = crire ("La mention est : ", ment) ment = [ ment""] Si moy 16 alors ment "trs 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 moy (N1+N2*2+N3*3) / 6 N1= donne (" Taper la 1re note") N2= donne (" Taper la 2me note") N3= donne (" Taper la 3me note") Fin MENTION

4 1 2 3 7

Tableau de dclaration des objets Objet Nature / Type ment Chane de caractres moy Rel N1 Rel N2 Rel N3 Rel

-6-

Chapitre 3 conditionnels

Les structures de contrles

Algorithme
0) Dbut MENTION 1) Ecrire ("Taper la 1re note :"), lire (N1) 2) Ecrire ("Taper la 2me note :"), lire (N2) 3) Ecrire ("Taper la 3me note :"), lire (N3) 4) Moy (N1+N2*2+N3*3) / 6 5) [ ment""] Si moy 16 alors ment "trs 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 1re note : '); READ (N1) ; WRITE ('Taper la 2me note : '); READ (N2) ; WRITE ('Taper la 3me note : '); READ (N3) ; Moy := (N1+N2*2+N3*3) / 6; ment:= ''; IF moy >= 16 THEN ment := 'trs 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.

-7-

Chapitre 3 conditionnels

Les structures de contrles

III. STRUCTURE CONDITIONNELLE CHOIX MULTIPLE III.1 Activit Ecrire une analyse, un algorithme puis la traduction en Pascal du programme intitul SAISON qui affiche lcran la saison correspondante sa lettre initiale saisie. Analyse S 3 2 Grille danalyse NOM : SAISON L.D.E Rsultat = crire (sai) sai = [ sai ""] Selon l faire "E", "e" : sai"t" "A", "a" : sai"automne" "H", "h" : sai"hiver" "P", "p" : sai"printemps" Sinon sai"Lettre ne correspond pas une saison" FinSelon l = donne ("Taper une lettre") Fin SAISON O.U sai l

1 4

Tableau de dclaration des objets Objet Nature / Type sai Chane de caractres l Caractre Algorithme
0)Dbut SAISON 1) Ecrire ("Taper une lettre") 2) lire (l) 3) [ sai ""] Selon l faire "E", "e" : sai"t" "A", "a" : sai"automne" "H", "h" : sai"hiver" "P", "p" : sai"printemps" Sinon sai"Lettre ne correspond pas une saison" FinSelon 4) Ecrire (sai) 5) Fin SAISON

Traduction en Pascal
PROGRAM SAISON; USES WINCRT; VAR l : CHAR ; sai : STRING; BEGIN WRITE ('Taper une lettre : '); READLN (l) ; Sai := '' ;{initialisation optionnelle} Case l of 'E', 'e' : sai :='t' ; 'A', 'a' : sai :='automne' ; 'H', 'h' : sai :='hiver'; 'P', 'p' : sai :='printemps' Else Sai := 'Lettre ne correspond pas une saison' ; End ;{obligatoire} WRITELN (sai); END.

III.2 Dfinition La structure conditionnelle choix multiple est une structure qui nous permet de choisir un traitement parmi plusieurs. -8Cette structure vite lutilisation dune trop longue structure conditionnelle gnralise et permet une meilleure lisibilit du programme.

Chapitre 3 conditionnels

Les structures de contrles

III.3 Vocabulaire et Syntaxe Au niveau de lanalyse et de lalgorithme [Init] Selon slecteur faire liste de valeur 1 : Traitement 1 liste de valeur 2 : Traitement 2 liste de valeur n : Traitement n Sinon Traitement n+1 FinSelon ..

Au niveau de Turbo Pascal ...... ; {Init}; Case slecteur OF liste de valeur 1 : Traitement 1 ; liste de valeur 2 : Traitement 2 ; ; liste de valeur n : Traitement n ELSE Traitement n+1 ; End ; ; . ;

Remarques : Slecteur : est une variable ou une expression de type scalaire (entier, caractre, ) ; la valeur du slecteur ne peut jamais tre de type rel. Liste de valeur i : peut tre une ou plusieurs valeurs ou un intervalle de valeurs. Dans le cas o on a plusieurs valeurs qui dclenchent le mme traitement, il faut les sparer par des virgules. Traitement i : est une suite dinstructions. La partie ELSE est optionnelle selon les versions de pascal (existe en turbo pascal).

-9-