I. INTRODUCTION
On peut distinguer deux structures de traitement conditionnel à savoir :
La structure conditionnelle simple, dans la quelle on a à choisir entre deux traitements ou plus,
La structure conditionnelle au choix multiple, dans la quelle on a la possibilité de choisir un traitement parmi plusieurs.
II. FORME SIMPLE
1.
NotationAnalyse et algorithmique Notation en Turbo Pascal
[Init] {si la partie Init existe}
Si Condition Alors Inst1 Inst2
……
Inst n Sinon
Inst’1 Inst’2
……
Inst’n FinSi
[Init] ; {si la partie Initiation existe}
If Condition Then Begin
Inst1 ; Inst2 ;
……
Inst n ; End
Else Begin
Inst’1 ; Inst’2 ;
……
Inst’n ; End ;
2. A
PPLICATIONEcrire un programme qui permet de saisir un entier et de décider s’il est pair ou impair.
conditionnelles
III. FORME GENERALISEE
1. N
OTATIONAnalyse et algorithmique Notation en Turbo Pascal [Init]
Si Condition1 Alors traitement1 Sinon
Si Condition2 Alors traitement2 ..……….
Sinon
Si Condition n-1 Alors traitement n-1 Sinon traitement n FinSi
[Init] ;
If Condition1 Then traitement1 Else
If Condition2 then traitement2 ..……….
Else
If Condition n-1 Then traitement n-1 Else traitement n ;
2. A
PPLICATIONEcrire un programme qui permet de saisir un caractère quelconque c et d’afficher son type (Lettre, chiffre ou symbole).
a. Analyse
Résultat = Ecrire ("Ce caractère est ", message) Message = [ ] Si Majus (car) Dans ["A".."Z"] Alors
Message "une lettre"
Sinon Si car Dans ["0".."9"] Alors
Message "un chiffre"
Sinon
Message "symbole"
FinSi
car = Donnée("introduire un caractère")
message car
M C
Chaîne Caractère
Recevoir un message Saisie du caractère
b. Algorithme
0-
Début Type_car1-
Ecrire (" Introduire un caractère : "), Lire (C)2-
Si Majus(C) dans ["A".."Z"] AlorsM " une lettre "
Sinon Si C dans ["0" .. "9"] Alors
M " un chiffre "
Sinon
M " un symbole"
FinSi
3-
Ecrire ("Ce caractère est ", M)4-
Fin Type_carC
. Traduction en Pascal Program
Type_car ;Uses wincrt ; Var c :char ; M :string ; Begin
Writeln(‘introduire un caractere :’) ; readln(c) ; If upcase(c) in [‘A’..’Z’] then m:=’lettre’
Else if c in [‘0’..’9’] then m:=’chiffre’
Else m:=’symbole’;
Writeln(‘Ce caractere est un(e) : ‘,m);
End .
IV. STRUCTURES DE CHOIX
1. N
OTATIONAnalyse et algorithmique Notation en Turbo Pascal
[Init]
Selon sélecteur Faire
Ensemble1 de valeurs : trait1 Ensemble2 de valeurs : trait2 ………
Ensemble n-1 de valeurs : trait n-1
Sinon trait n
FinSelon
[Init] ;
Case sélecteur OF
Ensemble1 de valeurs : trait1 ; Ensemble2 de valeurs : trait2 ; ………
Ensemble n-1 de valeurs : trait n-1 ;
Else trait n;
End ; 2. A
PPLICATIONEcrire un programme qui saisie un numéro de mois n et affiche le nombre de jours nbj qui lui correspond.
a. Analyse
Résultat = Ecrire ("Ce mois contient ", nombre, "jours") nombre = [ ] Selon numéro Faire
1,3,5,7,8,10,12 : nombre 31 4,6,9,11 : nombre 30
2 : année = Donnée(‘’Donner une année’’) Si année MOD 4 = 0 Alors
Nombre 29 Sinon
Nombre 28 FinSi
FinSelon
numéro = Donnée("introduire un numéro de mois")
Algorithme
0-
Début nbre_jours1-
Ecrire (" Introduire le numéro de mois : "), Lire (n)2-
Selon n Faire1,3,5,7,8,10,12
:
nbj 31 4,6,9,11:
nbj 302
:
Ecrire (" Introduire l’année : "), Lire (a) Si a MOD 4 = 0 Alorsnbj 29 Sinon
nbj 28 FinSi
Sinon ecrire("erreur") FinSelon
3-
Ecrire ("le mois ",n, " contient ", nbj , "jours")4-
Fin nbre_joursTDO
Objet Nature Rôle
n a nbj
Entier Entier Entier
Saisie du n° du mois Saisie de l’année Contient le nombre de jours
d .Traduction en Pascal
Program nbre_jours ; Uses wincrt ;
Var a,nbj,n :integer ; begin
Writeln('introduire le numero du mois : ') ; readln(n) ; Case n of
1,3,5,7,8,10,12 : nbj :=31 ; 4,6,9,11 : nbj :=30 ; 2 : Begin
writeln('introduire l''annee : ') ; readln(a) ;
Else nbj:= 28;
End;
else
Writeln('Le mois ',n,' n''existe pas');
end;
Writeln('Le mois ',n,' contient ',nbj,' jours') End .