Vous êtes sur la page 1sur 2

L'analyse modulaire

I-Introduction:
Afin de faciliter la rsolution d'un problme
complexe et/ou de grande taille, on doit le
dcomposer en sous problmes indpendants et
de taille rduite.
II-L'analyse modulaire:
1-Dfinition:
Lanalyse modulaire consiste ! di"iser un problme
en sous problme de difficults moindres. ces
derniers sont aussi soumis ! cette di"ision #us$u'!
ce $uon arri"e ! un ni"eau abordable de difficult.
2-Intrts :
%lus dorganisation en sparant les
difficults et les tac&es.
'occuper dun seul problme ! la fois.
(n cas derreur la di"ision en module
permet de sa"oir $uel module ! corriger
%lus facile ! faire "oluer.
%ermet d"iter la rptition dun m)me
traitement dans un programme.
Notion de sous-programme:
*est la dcomposition modulaire d'un programme
en plusieurs sous-programmes. +n sous
programme est appel aussi une procdure ou une
fonction. *'est une portion de texte analogue ! un
programme, dclar dans un programme ou dans
un sous programme et dont la partie instruction
peut )tre excute plusieurs fois au cours du
traitement du programme gr,ce ! des appels.
Exemple d'analyse modulaire:
tude de fonction mat&mati$ue.
Leon 2
Les procdures
--.finition:
Les procdures sont des sous-programmes $ui
peu"ent a"oir plusieurs rsultats
/-0ocabulaire et syntaxe:
En analyse:
DEF PROC nom(paramtres formels: type)
Rsultat=
traitement
Fin nom
En algorithme:
12 .(3 %45* nom 6paramtres formels: type2
-2 7raitement
/2 3in8om
en Pascal:
%rocedure nom 6paramtres formels: type2 9
.claration des "ariables locales9
:egin
7raitement9
(nd9
Appel de la procdre:
%roc nom;procdure 6paramtres effectifs2
L'appel d'une procdure doit se trou"er dans une
instruction d'appel et ne peut pas )tre dans une
expression comme c'est le cas d'une fonction
Remar!e: Il est possible de dfinir un sous-
programme sans paramtres. La communication a"ec
l'appelant se produit gr,ce aux ressources 6ob#ets2
communes partages entre l'appel et l'appelant.
Dclaration acc!s aux o"#ets
et mode de transmission
I-.claration et accs aux ob#ets
"#$es o%&ets loca': tous les ob#ets 6constantes,
types,"ariables et sous-programme2 dclars dans
un sous-programme sont dits locaux ! celui-ci.
(#$es o%&ets glo%a': les ob#ets utiliss dans un
sous-programme et non dclars dans celui-ci
sont des ob#ets globaux dclars ailleurs.
)#Accs a' o%&ets: tous les ob#ets locaux d'un
sous-programme sont inaccessible:
par le programme principal, par les sous-
programmes dclars au m)me ni"eau $ue le sous-
programme considr, par le sous programme $ui
englobent les sous-programmes considr.
II- Les paramtres et leur mode de
transmission: 5n distingue deux types de paramtres:
"#$es paramtres formels: $ui figurent dans la
dfinition de la procdure.
(#$es paramtres effectifs: $ui figures dans
l'appel de la procdure et $ui sont manipuls par
celle-ci.
Remar!e: Les paramtres formels et les paramtres
effectifs doi"ent s'accorder de point de "ue nombre et
ordre et leurs types doi"ent )tre identi$ue ou
compatible, selon le mode de passage des paramtres.
)#*ode de passage des paramtres: il existe /
modes de passage des paramtres:le mode par "aleur
et le mode par "ariable.%our le cas de fonction,nous
dfinissions seulement le mode par "aleur.
*ode de passage par +aler:
-%ermet au programme appelant de transmettre
une "aleur au sous-programme appel.
-Le transfert d'information est effectu dans un
seul sens : du programme appelant "ers le
sous-programme appel.
-Au moment de l'appel, la "aleur du paramtre
effectif est copie dans la "ariable locale
dsigne par les paramtres formels
correspondants.
Remar!e : 7oute modification du paramtre formel
est sans cons$uence sur le paramtre effectif
*ode de passage par +aria%le:
-Le passage de paramtres par "ariables
permet au programme appelant de transmettre
une "aleur au sous-programme appel et
in"ersement.
-.ans l'ent)te de la procdure, on doit prcder
les paramtres formels transmis par "ariable
par le mot cl 0A4.
Remar!e : 7oute modification du paramtre
formel entra<ne automati$uement la modification de
la "aleur du paramtre effectif.
Chapitre 5:Les sous-programmes
Leon 1
Leon 3
D
e
v
o
i
r
s

e
t

e
x
a
m
e
n
s

s
u
r

:

w
w
w
.
K
i
t
e
b
.
n
e
t
Leon 4
Les fonctions
"#Dfinition:
+ne fonction est un sous-programme $ui ren"oie
une "aleur de type simple, ce type sera le type
de la fonction.
(#,ynta'e:
Dclaration d'une fonction:
En analyse:
DEFFN nom (paramtres formels: type): Rsultat
Rsultat
Nom rsultat !al!ul
Traitement
Fin nom
En a lgorithme:
0) DEFFN nom (paramtres formels: tpe) : Tpe!Resultat
1) Traitement
") Nom rsultat #al#ul
3) FinNom
En Pascal:
Fun#tion nom (paramtres formels: tpe) : Tpe!Resultat$
D#laration %es &aria'les lo#ales$
(e)in
Traitement$
Nom:=Rsultat*al#ul$
(nd9
$ppel de la fonction:
Analyse
-F. f(') ( ' est n paramtre effectif)
/DO:
o'+et tpe,nature r-le
f Fon#tion f(.)=/////////
Remar!es:
L'appel de la fonction se fait ! l'aide de 38
Le prfixe 38 est a#out de"ant le nom de la
fonction $ue nous a"ons cre9 =a nous
aidera ! nous rappeler $u'il faudra analyser.
3 est l'appelant.
.ans l'analyse :
.(338 nom f6>:entier2 : type;entier
?x paramtre formel@
> est d#! dclars au ni"eau de l'ent)te de
la fonction.
3 est une fonction ayant un seul paramtre
formel x. Il est possible $u'une fonction ait
plusieurs paramtres.
Les "ariables dclars dans la fonction sont
appels "ariables locales ! la fonction f.
+ne fonction est constitue de trois partie:
") La partie entte de la fonction ou nous trou"ons
son nom $ui est sui"it entre parent&ses des
paramtres en entre et de leur mode de passage,
puis du type du rsultat.
() La partie dclarati%es ou tous les ob#ets locaux de
la fonction sont dclars.
)) La partie instruction ou nous trou"ons les
instructions propres ! la fonction. Il est bon de
rappeler $ue ces instructions sont excutes ! la
demande de l'appelant par une instruction d'appel.
)#/ransmission d rsltat de la fonction:
+ne fonction possde un type, c'est celui du
rsultat $uelle calcule.
5n appelle une fonction en utilisant
simplement son nom sui"i de la liste des
paramtres effectifs spar par des "irgule 6,2
+n appel de fonction figure obligatoirement
dans une expression sous forme sui"ante:
0 38 nom de la fonction 6liste des paramtres effectifs2
(xemple: y 38 f6x2
Il doit y a"oir ncessairement dans la
partie instruction de la fonction au moins
une affectation explicite ayant
l'identificateur de la fonction ! gauc&e du
symbole d'affectation.
0#Dfinition d1ne fonction:
Lors de l'utilisation d'une fonction, il faut:
'pcifier le type de la fonction
.clarer, si ncessaire, une "ariable locale
de m)me type $ue la fonction 6pour faire
les calcules intermdiaires2
Affecter le rsultat de calcul de la fonction
au nom de la fonction, obligatoirement,
a"ant la fin du bloc.
2#*ode de passage:
%our le cas de la fonction, nous dfinissant
seulement le mode de passage par "aleur.
Remar!es:
.ans la partie instruction de la fonction, les
paramtres formels transmis par "aleur ne
doi"ent en aucun cas se trou"er ! gauc&e
du symbole d'une instruction d'affectation.
A)me si par erreur la "aleur du paramtre
formel transmis par "aleur est modifi dans
l'appel au retour aprs excution, les
paramtres effectifs gardent la m)me "aleur
original transmise lors de l'appel.
(n effet, au ni"eau de l'appel on manipule
$u'une copie.
+n identificateur peut cac&er un autre. 6un
ob#et local ! un sous programme a le m)me
nom $u'un ob#et global 6&omonyme22.
L'ordre des sous programmes est important,
lors$ue un sous programme fait appel ! un
autre, alors ce dernier doit )tre dfinit a"ant.
Fon#tion
D
e
v
o
i
r
s

e
t

e
x
a
m
e
n
s

s
u
r

:

w
w
w
.
K
i
t
e
b
.
n
e
t