Professional Documents
Culture Documents
COURS
DALGORITHMIQUE/PASCAL
1re ANNEE ESI
Chapitre 2
langage commun
Communication
1
cours d'algorithmique pascal 16/11/2008
FIN
1. L'enchanement (squencement)
2. La conditionnelle et lalternative
3. La rptitive
2
cours d'algorithmique pascal 16/11/2008
1. L'enchanement (squencement)
Les actions primitives sont excutes dans l'ordre d'apparition dans
l'algorithme.
DEBUT
Action 1 Action 1
Action 2 Action 2
. BLOC .
. .
. Action n
Action n FIN
FSIN
16/11/2008 Cours Algo-Pascal Nadji MEDJAOUI 6
3
cours d'algorithmique pascal 16/11/2008
LALTERNATIVE EXEMPLES
exemple 1
Il sagit de lire une note et de dafficher lapprciation correspondante :
Trs bien si note >= 16 , Bien si note <16 et <= 14 , Assez bien si note
<14 et >=12 , Passable si note <12 et >=10 et Echec si note <10
4
cours d'algorithmique pascal 16/11/2008
ALGORITHME Apprciation
VAR N : ENTIER
DEBUT
LIRE (N)
SI N >= 16 ALORS
DSI
ECRIRE (La mention est : Trs bien)
FSI
SINON
DSIN
SI N >=14 ALORS
DSI
ECRIRE (La mention est : Bien)
FSI
SINON
DSIN
SI N >= 12 ALORS
DSI
ECRIRE (La mention est : Assez Bien)
FSI
SINON
DSIN
SI N >=10 ALORS
DSI
ECRIRE (La mention est : Passable)
FSI
Cours Algo-Pascal Nadji MEDJAOUI
SINON
DSIN
ECRIRE (ECHEC)
FSIN
FSIN
FSIN
FIN FSIN
LALTERNATIVE EXEMPLES
exemple 2
Il sagit de lire 3 ENTIERS A , B , C et de les classer par ordre croissant
cest---dire mettre la plus petite valeur dans A et la plus grande dans C
cest
5
cours d'algorithmique pascal 16/11/2008
DEBUT
-Soient A B C trois entiers LIRE (A,B,C)
-On compare A et B si dsordre SI A>B ALORS
permuter A et B DSI
SA
-On compare ensuite B et C si A B
dsordre permuter B et C B S
FSI
-Enfin on compare nouveau A et B
et si dsordre permuter A et B SI B>C ALORS
DSI
Pour permuter deux variables on SC
utilise une troisime S qui nous B C
CS
permet de sauvegarder la valeur de FSI
lune et de procder la permutation
2 SI A>B ALORS
DSI
A B SA
1 3 A B
B S
FSI
S
FIN
6
cours d'algorithmique pascal 16/11/2008
3. La rptitive
Il arrive souvent que lon ait besoin de rpter une action ou un
ensemble dactions (bloc) plusieurs fois. Pour ce faire on utilise une
structure rptitive
1. La structure POUR
2. La structure TANT QUE
3. La structure REPETER
BLOC
FPOUR
REMARQUE : Cette structure est utilise lorsque le nombre de fois rpter est
connu lavance
7
cours d'algorithmique pascal 16/11/2008
FONCTIONNEMENT :
Pour chaque valeur de la variable de contrle qui varie de la valeur
initiale la valeur finale avec un pas gal 1 le bloc sera excut.
Chaque excution du bloc est appele itration (ou boucle).
1. initialisation de la variable de contrle
2. incrmentation chaque itration
3. test de fin
8
cours d'algorithmique pascal 16/11/2008
BLOC
FTQ
9
cours d'algorithmique pascal 16/11/2008
DTQ
K A* I
AK
II+1 Incrmentation
FTQ
Exemple 1 :
Ecrire lalgorithme qui permet de savoir si un nombre entier N lu
au clavier est premier ou non.
Analyse :
Soit un nombre entier N
On divise N par des diviseurs I que lon gnre partir de 2
jusqu au plus N DIV 2
Ce processus sarrte au premier I qui divise N ou bien
lorsque I dpasse N DIV 2
A la fin du processus, pour savoir si N est premier ou pas on
regarde la manire dont le processus prcdent sest
termin. Si N MOD I = 0 alors N nest pas premier Sinon il
lest.
10
cours d'algorithmique pascal 16/11/2008
EXEMPLE 2
Ecrire un algorithme qui permet de lire 20 nombres entiers positifs ,
qui calcule et imprime la somme de ces nombres et qui imprime le plus
grand nombre saisi.
ANALYSE :
Soit un nombre entier positif N
On cumule N SOM initialis 0
On compare N au plus grand nombre PGN initialis 0
Si N > PGN alors PGN N
On rpte ces actions 20 fois
11
cours d'algorithmique pascal 16/11/2008
ALGORITHME Exemple
VAR
I,N , PGN , SOM : ENTIER
DEBUT
PGN 0
SOM 0
POUR I ALLANT DE 1 A 20 FAIRE
DPOUR
LIRE (N)
SOM SOM + N
SI N > PGN ALORS
DSI
PGN N
FSI
FPOUR
ECRIRE ( La somme est : , SOM)
ECRIRE ( Le plus grand nombre saisi est : , PGN)
FIN
16/11/2008 Cours Algo-Pascal Nadji MEDJAOUI 23
ACTION n
REMARQUE
Les actions qui forment le bloc ne sont pas encadres par DEBUT et FIN
12
cours d'algorithmique pascal 16/11/2008
13
cours d'algorithmique pascal 16/11/2008
Variable expression
FONCTIONNEMENT :
14
cours d'algorithmique pascal 16/11/2008
Exemples:
45 + I * J / 3
N DIV 5 MOD J
A=5 ET N MOD J <> 0
15
cours d'algorithmique pascal 16/11/2008
Les priorits
Niveau 1 : NON
Niveau 2 : * / DIV MOD ET
Niveau 3 : + - OU
Niveau 4 : Les oprateurs de
relation
Niveau 5 : DANS
16/11/2008 Cours Algo-Pascal Nadji MEDJAOUI 32
16
cours d'algorithmique pascal 16/11/2008
17
cours d'algorithmique pascal 16/11/2008
18