Vous êtes sur la page 1sur 0

Cours

dalgorithmique
Page - 2 -
I. DFINITIONS 4
a. Dfinition dun algorithme :
b. Dfinition dun algorigramme :
Quelques symboles utiliss dans la construction dun algorigramme : 4
1. Symbole gnral
2. Renvoi
3. Sous-programme
4. Entre-Sortie
5. Commentaire
6. Branchement
II. L ALGORITHME : 5
Le langage de description dalgorithme
III. STRUCTURE DUN ALGORITHME 5
a. Reprsentation : 5
1. Len-tte
2. Les dclarations
3. Le corps
4. Les commentaires :
IV. DCLARATION DE CONSTANTES, DE VARIABLES ET DE STRUCTURES :6
a. Les constantes :
b. Les variables :
c. Les structures :
V. DCLARATION DE PROCDURES ET DE FONCTIONS : 7
a. La procdure :
b. La fonction :
1. Les paramtres :
VI. LES TYPES DE BASE 8
1. Lentier
2. Le rel
3. Le boolen
4. Le caractre
5. La chane de caractres
VII. LES OPRATEURS 9
a. Oprateurs sur les entiers et les rels
Page - 3 -
b. Oprateurs sur les entiers et les boolens
c. Oprateurs sur les caractres et les chanes
d. Priorit des oprateurs
e. Laffectation
VIII. LES STRUCTURES ALGORITHMIQUES FONDAMENTALES : 10
a. Caractristique de la structure linaire 10
b. Caractristique de la structure alternative 10
c. Caractristique de la structure de choix 11
d. Caractristique de la structure itrative 12
Page - 4 -
I. Dfinitions
a. Dfinition dun algorithme :
Cest un ensemble de rgles opratoires rigoureuses, ordonnant un processeur
dexcuter dans un ordre dtermin un nombre fini doprations lmentaires ; il oblige une
programmation structure.
Un algorithme est crit en utilisant un langage de description dalgorithme (LDA).
Lalgorithme ne doit pas tre confondu avec le programme proprement dit.
b. Dfinition dun algorigramme :
Cest une reprsentation graphique de lalgorithme. Pour le construire, on utilise des
symboles normaliss.
Quelques symboles utiliss dans la construction dun algorigramme :
SYMBOLE DESIGNATION SYMBOLE DESIGNATION
Symboles de traitement Symboles auxiliaires
Symbole gnral
Opration ou groupe
doprations sur des
donnes, instructions,
pour laquelle il nexiste
aucun symbole
normalis.
Renvoi
Symbole utilis deux fois
pour assurer la continuit
lorsquune partie de ligne de
liaison nest pas
reprsente.
Sous-programme
Portion de programme
considre comme une
simple opration.
Dbut, fin , interruption
Dbut, fin ou interruption
dun algorigramme.
Entre-Sortie
Mise disposition dune
information traiter ou
enregistrement dune
information traite.
Commentaire
Symbole utilis pour donner
des indications sur les
oprations effectues.
Symbole de test
Branchement
Exploitation de
conditions variables
impliquant un choix
parmi plusieurs.
Les diffrents symboles sont relis entre eux par des
lignes de liaisons.
Sens conventionnel des liaisons
Le sens gnral des lignes de liaison doit tre :
De haut en bas
De gauche droite
Lorsque le sens gnral ne peut pas tre respect, des pointes de flche cheval sur la ligne indiquent le
sens utilis.
Page - 5 -
II. L algorithme :
a. Le langage de description dalgorithme
Ce langage utilise un ensemble de mots cls et de structures permettant de dcrire de
manire complte, claire, lensemble des oprations excuter sur des donnes pour obtenir
des rsultats ; on nhsitera donc pas agrmenter lalgorithme de nombreux commentaires.
Lavantage dun tel langage est de pouvoir tre facilement transcrit dans un langage de
programmation structur ( Pascal, C)
III. Structure dun algorithme
a. Reprsentation :
Tous les mots cls sont souligns et crits en minuscule.
Une marque de terminaison ( ;) est utilise entre chaque action.
algorithme nom de lalgorithme ;
const
liste des constantes ;
var
liste des variables ;
struct
liste des structures ;
fonc
liste des fonctions ;
proc
liste des procdures ;
dbut
action 1 ;
action2 ;
.
.
.
action n ;
fin algorithme
Len-tte
Les dclarations de constantes, variables, structures
Les dclarations de fonctions et procdures
Le corps de lalgorithme
Page - 6 -
1. Len-tte
Il permet tout simplement didentifier un algorithme.
2. Les dclarations
Cest une liste exhaustive des objets, grandeurs utiliss et manipuls dans le
corps de l algorithme ; cette liste est place en dbut dalgorithme.
3. Le corps
Dans cette partie de lalgorithme, sont places les tches (instructions,
oprations) excuter.
4. Les commentaires :
Pour permettre une interprtation aise de lalgorithme, lutilisation de
commentaires est vivement conseille.
Mot cl : co fco
IV. Dclaration de constantes, de variables et de structures :
a. Les constantes :
Elles reprsentent des chiffres, des nombres, des caractres, des chanes de
caractres, dont la valeur ne peut pas tre modifie au cours de lexcution de
lalgorithme.
Mot cl : const
b. Les variables :
Elles peuvent stocker des chiffres des nombres, des caractres, des chanes
de caractres, dont la valeur peut tre modifie au cours de lexcution de
lalgorithme.
Mot cl : var
Les constantes et les variables sont dfinies dans la partie dclarative par deux caractristiques
essentielles, savoir :
L identificateur : cest le nom de la variable ou de la constante. Il est compos de lettres et de
chiffres
Le type : il dtermine la nature de la variable ou de la constante (entier, rel, boolen, chane de
caractres)
Pour pouvoir envisager des exemples dutilisation, il faut introduire ds
prsent linstruction daffectation ; elle scrit de la faon suivante :
identificateur de variable valeur ;
: symbole daffectation (ou assignation)
Voir exemple 1
Voir exemple 2
Page - 7 -
Laffectation se fait toujours en deux temps :
1. valuation de lexpression situe droite du symbole
2. affectation du rsultat lidentificateur de variable
ainsi dans linstruction daffectation suivante y 2*x+3
c. Les structures :
Elles permettent de rassembler plusieurs variables ou constantes sous un
mme identificateur ; on parle aussi dentits ou dobjets.
Mot cl : struct
V. Dclaration de procdures et de fonctions :
a. La procdure :
Cest un ensemble dinstructions rfrenc par un nom, et dont l excution
est provoque par le simple nonc de ce nom.
Mot cl : proc
b. La fonction :
Comme pour la procdure, l excution dune fonction est provoque par la
simple vocation de son nom, la diffrence quelle se voit assigner une valeur dont
le type doit tre dfini.
Mot cl : fonc
!
Procdures et fonctions sont des groupes de tches effectuer. L intrt de grouper ces tches est
de permettre :
une lecture plus facile de lalgorithme principal(appel galement ordonnancement).
de dvelopper de manire indpendante des parties dalgorithmes dont lemploi multiple au sein
de lalgorithme principal est ainsi rendu plus ais.
1. Les paramtres :
Pour fournir une procdure les informations qui doivent tre traites, et
pour que la procdure puisse fournir en contrepartie des rsultats, on utilise des
paramtres. On distinguera trois types de paramtres:
les paramtres entrants peuvent tre consults (et ventuellement modifis)
l'intrieur de la procdure
Voir exemple 2
1) on value
2) on affecte
Page - 8 -
les paramtres sortants dont la valeur est dtermine l'intrieur de la procdure
et utilisable aprs l'appel la procdure
les paramtres mixtes ont une valeur l'entre dans la procdure, valeur qui peut
tre modifie l'intrieur de celle-ci, la modification tant rpercute l'extrieur
de la procdure
VI. Les types de base
Nous avons vu quune des deux caractristiques des constantes et des
variables tait leur type.
Nous considrerons cinq types de base :
1. Lentier
notation
45, 36, 564, 0 en dcimal
45h, 0FBh, 64h en hexadcimal
% 10101111, %1011 en binaire
Mot cl : entier
2. Le rel
-3.67, 4.2569, 564.0,18.36 10 e
-6

Mot cl : rel
3. Le boolen
Il ne peut prendre que deux tats : VRAI ou FAUX
Mot cl : boolen
4. Le caractre
a, A,*,7,z, !.
Mot cl : car
5. La chane de caractres
lectronique, cd ROM de 80mn
Mot cl : chane
Voir exemple 2
Page - 9 -
VII. Les oprateurs
a. Oprateurs sur les entiers et les rels
Arithmtiques
+
-
*
/
DIV

Addition
Soustraction
Multiplication
Division
Division entire
Puissance
comparaisons
>
<

"
=

Suprieur
Infrieur
Suprieur ou gal
Infrieur ou gal
Egal
Diffrent
b. Oprateurs sur les entiers et les boolens
Fonctions logiques
Mot cl
et
ou
oux
non
non et
non ou
>>
<<
Fonction ET
Fonction OU
Fonction OU exclusif
Fonction NON
Fonction NON ET
Fonction NON OU
Dcalage droite
Dcalage gauche
Fonctions de comparaison pour les boolens
=

Egal
Diffrent
c. Oprateurs sur les caractres et les chanes
Fonctions de concatnation
+ Concatnation
Fonctions de comparaison pour les chanes
=

>
<
Egalit
Diffrent
Suprieur
Infrieur
d. Priorit des oprateurs
Priorit la multiplication et la division.
Voir exemple 3
Page - 10 -
e. Laffectation
Elle permet daffecter une valeur une variable.
Syntaxe : identificateur de la variable expression ;
Lexpression est une suite doprations sur des constantes ou des variables
dj dclares.
VIII. Les structures algorithmiques fondamentales :
Les oprations lmentaires relatives la rsolution dun problme peuvent, en
fonction de leur enchanement tre organises suivant quatre familles de structures
algorithmiques fondamentales.
structures linaires
structures alternatives
structures de choix
structures itratives (ou rptitives)
a. Caractristique de la structure linaire
La structure linaire se caractrise par une suite dactions excuter
successivement dans lordre nonc.
Notation : faire action ;
b. Caractristique de la structure alternative
La structure alternative noffre que deux issues possibles la poursuite de
lalgorithme et sexcluant mutuellement.
On peut rencontrer deux types de structures alternatives :
1. une structure alternative complte
Dans cette structure lexcution dun
des deux traitements distincts ne dpend que
du rsultat dun test effectu sur la condition
qui peut tre une variable ou un vnement ;
- si la condition est vrifie seul le
premier traitement est excut ;
- si la condition nest pas vrifie
seul est effectu le second
traitement.
Notation : si condition alors
action1 ;
sinon
action2 ;
fsi ;
CONDITION
Action1 Action2
Voir exemple 5
Voir exemple 4
Page - 11 -
2. une structure alternative rduite
La structure alternative rduite se
distingue de la prcdente par le fait que seule
la situation correspondant la validation de la
condition entrane lexcution du traitement,
lautre situation conduisant systmatiquement
la sortie de la structure.
Notation : si condition alors
action ;
fsi ;
c. Caractristique de la structure de choix
La structure de choix permet, en fonction de plusieurs conditions de type
boolen, deffectuer des actions diffrentes suivant les valeurs que peut prendre une
mme variable.
Notation : suivant valeur faire
valeur1 : action1 ;
valeur2 : action2 ;
:
:
valeurN : actionN ;
sinon actionN+1 ;
fsuivant ;
CONDITION
Action
Voir exemple 6
Voir exemple 7
Condition1
Action1
Condition2
ConditionN
Action2
ActionN ActionN+1
Page - 12 -
d. Caractristique de la structure itrative
La structure itrative rpte lexcution dune opration ou dun traitement.
On considrera 2 cas :
premier cas : Le nombre de rptitions nest pas connu ou est variable.
On distingue 2 structures de base :
structure RPTER JUSQU
Dans cette structure, le traitement est
excut une premire fois puis sa
rptition se poursuit jusqu ce que la
condition soit vrifie.
Par traitement on entend :
soit une structure isole,
soit une succession dinstructions.
Laction est toujours excute au moins
une fois.
Notation : rpter
action;
jusqu condition vraie ;
structure TANT QUE FAIRE
Dans cette structure, on commence
par tester la condition ; si elle est
vrifie, le traitement est excut.
Par traitement on entend :
soit une structure isole,
soit une succession dinstructions.
Laction peut ne jamais tre excute .
Notation : tant que condition faire
action;
ftant que ;
Voir exemple 8
CONDITION
ACTION
CONDITION
ACTION
Voir exemple 9
Page - 13 -
deuxime cas : le nombre de rptitions est connu.
structure POURDE.... FAIRE
Dans cette structure, la sortie de la boucle ditration seffectue lorsque le
nombre souhait de rptition est atteint.
On utilise donc une variable (ou indice) de contrle ditration caractrise par :
sa valeur initiale,
sa valeur finale,
son pas de variation.
Si la valeur finale de lindice est infrieure sa valeur initiale le pas de
variation est ngatif, la structure est dite pour dcroissante (Figure 1);
dans le cas contraire, le pas est positif et la structure est dite pour
croissante (Figure 2).
V : variable
Vi : valeur initiale de V
Vf : valeur finale de V
Notation : pour variable de dbut fin pas n faire
action ;
fpour ;
V = V
f
?
ACTION
V = V
i
V = V + pas
V = V
f
?
ACTION
V = V
i
V = V - pas
Figure 1 Figure 2
Voir exemple 10
Exemples
Page - 2 -
Exemple 1 :
algorithme exemple1 ;
const
abscisse cest 10 ;
ordonne cest 30 ;
vrai cest 1 ;
faux cest 0 ;
var
entier x, y;
struct
disque cest
entier abs,ord ; co centre du disque fco
entier rayon ;
entier couleur ;
boolen visible ;
fstruct
dbut

fin algorithme exemple1.


Exemple 2 :
algorithme exemple2 ;
const

var
chane chane_lue ;
struct

fstruct
proc
afficher une chane de caractres(chane machane) ;

fonc
lire n caractres dune chane(chane machane ,entier depuis la position , entier n) :chane ;

dbut

chane_lue lire n caractres dune chane(BEPEL ,0, 3) ;

afficher une chane de caractre(chane_lue) ;


fin algorithme exemple2.
Exemple 3 :
A+ller donne comme rsultat aprs concatnation : Aller
alpha+numrique donne comme rsultat aprs concatnation : alphanumrique
paramtre entrant
paramtre sortant
Exemples
Page - 3 -
Exemple 4
Mise en marche dun quipement
Avant de procder la mise en service dun quipement, il est ncessaire deffectuer
un certains nombre doprations indispensables son bon fonctionnement :
a) monte en temprature : mise en route de lacclrateur de chauffage AC ;
b) distribution dair comprim : ouverture de llectrovanne dadmission EV.
c) mise en route du dispositif de lubrification : pompe darrosage P sous
tension.
Complter lalgorithme suivant :
algorithme Mise en service dun quipement ;
const Marche cest 1 ;
Arrt cest 0 ;
var
AC co Acclrateur de chauffage fco ;
EV co Electrovanne dadmission dair fco
P co Pompe de lubrification fco
EQ co Equipement fco
dbut
fin algorithme Mise en service dun quipement .
Construire lalgorigramme correspondant.
Exemples
Page - 4 -
Exemple 5
Tri de sacs
A la sortie de latelier de conditionnement dune usine de fabrication dengrais, un
mme convoyeur
bande transporte
indiffremment des
sacs de 25 kg et des
sacs de 50 kg.
Un dispositif
de tri automatique
dirige ces sacs vers
deux zones distinctes
de stockage D1 et
D2.
Construire lalgorithme correspondant :
algorithme tri automatique;
const
var
dbut
fin algorithme tri automatique.
Construire lalgorigramme correspondant.
D1
D2
Sacs de 25 kg et de 50 kg
Sacs de 50 kg
Sacs de 25 kg
Pese
Aiguillage
Exemples
Page - 5 -
Exemple 6
Ouverture de la porte dun garage
Le capteur de prsence de la voiture du
propritaire du garage dclenche louverture
automatique de la porte et uniquement dans ce cas.
Construire lalgorithme correspondant :
algorithme ouverture automatique;
const
var
dbut
fin algorithme ouverture automatique.
Construire lalgorigramme correspondant.
Exemples
Page - 6 -
Exemple 7
Exemples
Page - 7 -
Exemple 8
Utilisation dun four micro ondes
Un four micro ondes doit fonctionner pendant un temps t
f
gal au
temps t
p
, programm par lutilisateur.
Complter lalgorithme suivant :
algorithme dure de fonctionnement du four ;
var
t
f
co temps de chauffe fco ;
t
p
co temps programm fco
fonc
mesurer le temps de chauffe() : tf ;
dbut
fin algorithme dure de fonctionnement du four.
Construire lalgorigramme correspondant.
Exemples
Page - 8 -
Exemple 9
Embouteillage
Dans une usine de fabrication de jus de fruits, les bouteilles sont conditionnes par
six, aprs contrle, sous un film plastique rtractable:
Complter lalgorithme suivant :
algorithme Mise sous film plastique ;
var
V co Nombre de bouteilles conditionner fco
proc
contrler() ;
dbut
fin algorithme Mise sous film plastique .
Construire lalgorigramme correspondant.