0% ont trouvé ce document utile (0 vote)
7 vues2 pages

Décomposition Modulaire en Programmation

Le document traite de la décomposition modulaire en programmation, expliquant l'importance de diviser des problèmes complexes en sous-modules pour simplifier leur résolution. Il aborde également les concepts de fonctions et de procédures, ainsi que les modes de passage des paramètres. Enfin, il souligne les avantages de l'analyse modulaire, notamment la facilité de détection des erreurs et la réutilisation des modules.

Transféré par

sarrourabenrhouma
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues2 pages

Décomposition Modulaire en Programmation

Le document traite de la décomposition modulaire en programmation, expliquant l'importance de diviser des problèmes complexes en sous-modules pour simplifier leur résolution. Il aborde également les concepts de fonctions et de procédures, ainsi que les modes de passage des paramètres. Enfin, il souligne les avantages de l'analyse modulaire, notamment la facilité de détection des erreurs et la réutilisation des modules.

Transféré par

sarrourabenrhouma
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

[Link].

Essef Prof : Mme Naima El Mabrouk Bayoudh

Décomposition Modulaire
def saisir ():
Activité : n=int(input("Donnez un nombre positif"))
Taper et expliquer les programmes suivants : while n < 0:
n=int(input("donnez une autre valeur :"))
def saisir (): return n
n=int(input("Donnez un nombre positif"))
while n < 0: def sommediv(x):
n=int(input("donnez une autre valeur :")) s=1
return n for i in range(2,x//2+1):
if x % i ==0 :
def fact(x): s=s+i
f=1 return s
for i in range(2,x+1):
f=f*i a=saisir()
return f b=saisir()
a=saisir()
b=saisir() if (sommediv(a)==b)and (sommediv(b)==a):
print(a,'!= ',fact(a)) print(a,' et ', b , 'sont amis')
print(b,'!= ',fact(b)) else:
print(a,' et ', b , 'ne sont pas amis')
I. Introduction
Un programme devient compliqué dés que le nombre de traitements augmente ou on trouve des traitements
répétés dans des différents endroits du programme.
Lorsque le problème devient compliqué ou long il est préférable de le décomposer en des sous problèmes
ou ………………….. qui peuvent être à leur tour être décomposés en des sous modules jusqu’à avoir des
modules simples à résoudre.
Un module peut être une …………………ou une ………………………. Cette division s’appelle
……………………………… : On trouve un problème principal et les différents modules.
L’analyse modulaire (division en modules) présente plusieurs avantages :
- Eviter ………………………… des parties des programmes.
- ………………………… la résolution ;
- …………………………. les modules
- ………………….. les fautes et les ……………………. facilement.
II. Fonction
Définition
Une fonction est ……………………………………………………………………..…………………..
………………………………………………………………………………………………………………..
Syntaxe d’une fonction
En Algorithme
Fonction Nom_fonction (pf1: type1, pf2: type2, … , pfn : typen) : Type_résultat
DEBUT
Traitement
Retourner Résultat Dresser le TDO Locaux à la
FIN fonction

Décomposition Modulaire : cours et Série Page 1 / 2


[Link] Prof : Mme Naima El Mabrouk Bayoudh

• L’appel d’une focntion :


Objet  Nom_fonction (pe1, pe2, …, pen)
……………………………………………….
……………………………………………….
Le programme appelant peut appeler la fonction autant de fois que nécessaire.
III. Procédure
Définition
Si on a un module qui retourne ………….. résultats ou un résultat de type ……………, ce module ne peut
pas être de type …………..  donc on utilise un module de type …………….

Une procédure est un module plus ………………., peut donner ……………………..
résultats même de type …………….

Syntaxe
Procédure Nom_procédure (pf1: type1, pf2: type2, … , pfn: typen)
DEBUT
Traitement
FIN Dresser le TDO Locaux à la
procédure
 L’appel d’une procédure :
Nom_procédure (pe1, pe2, … , pen)

N.B. Dans l'entête de la procédure, on doit faire précéder les paramètres formels transmis par référence (par
adresse) par le symbole @
Iv. Mode de passage des paramètres
Le remplacement des paramètres effectifs aux paramètres formels est appelé ………………………………. :
transfert des données entre le programme appelant et le programme appelé :
Passage par valeur : A l'appel, l'appelant transmet une ou plusieurs valeurs à l'appelé, l'appelé ne modifie
pas ses valeurs au moment du [Link]ès l’appel les paramètres effectifs ne changent pas de valeurs.
Passage par référence : (seulement pour les procédures : précédé par @) A l'appel, l'appelant transmet une
ou plusieurs valeurs à l'appelé, de même l'appelé rend un ou plusieurs résultats à l'appelant au moment du
retour.
Après l’appel les paramètres effectifs peuvent changer de valeurs.
A retenir
 Un paramètre …………………. est un paramètre utilisé dans la définition d’un module
 Un paramètre ……………………. est un paramètre utilisé dans l’appel d’un module
 Les deux paramètres formels et effectifs doivent s’accorder au niveau ……………., type et …….
 L’appel d’un module se fait par le ……….. de la module suivi par les paramètres ………. entre
parenthèses et qui remplacent les paramètres ………….. au moment de l’appel du module.
 Les objets locaux sont tous les objets (constantes, types, variables et sous-programme) qui sont
déclarés dans un sous-programme.
 Les objets globaux sont les objets qui peuvent être utilisés dans un module et non déclarés dans
celui-ci.
 Toute modification du paramètre formel ……………. entraîne automatiquement la modification de
la valeur du paramètre effectif.

Décomposition Modulaire : cours Page2 / 2

Vous aimerez peut-être aussi