0% ont trouvé ce document utile (0 vote)
44 vues6 pages

Chapitre5 Sous Programmes

Le chapitre 5 traite de l'analyse modulaire, qui consiste à décomposer un programme principal en sous-programmes pour faciliter la résolution de problèmes. Il distingue les procédures et les fonctions, en expliquant leur définition, leur syntaxe et les modes de transmission des paramètres. Les avantages de cette approche incluent une meilleure organisation du code, la réutilisation des instructions et une détection plus aisée des erreurs.

Transféré par

OussamaHajSalem
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)
44 vues6 pages

Chapitre5 Sous Programmes

Le chapitre 5 traite de l'analyse modulaire, qui consiste à décomposer un programme principal en sous-programmes pour faciliter la résolution de problèmes. Il distingue les procédures et les fonctions, en expliquant leur définition, leur syntaxe et les modes de transmission des paramètres. Les avantages de cette approche incluent une meilleure organisation du code, la réutilisation des instructions et une détection plus aisée des erreurs.

Transféré par

OussamaHajSalem
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

Chapitre 5 : les sous_programmes

I. L‘analyse modulaire
1. Définition
L’analyse modulaire a pour objectif de décomposer un problème initial représentant un programme principal en des modules appelés
des sous programmes, ces sous programmes peuvent être à leur tour décomposés en d’autres sous programmes plus simples et ainsi de
suite jusqu’à ce qu’on obtient des sous programmes élémentaires.

Programme principal : programme appelant Problème initial

sous programmes : programmes appelés Module 1 Module 2 Module N

Module Module
2.1 2.2

…………..……..

On distingue deux types de sous programmes : Les procédures et les fonctions


2. Avantages
- Faciliter la résolution des problèmes.
- Améliorer l’écriture de l’algorithme en évitant les répétitions.
- Faciliter la détection et la localisation des erreurs.
- Permettre la réutilisation des instructions.
- Faciliter l’évolution et la mise à jour des programmes.

1
II. Les procédures
1. Définition
Une procédure est un sous programme composé d’une ou plusieurs instructions qui permettent la résolution d’un problème
donné. Elle peut avoir plusieurs résultats
2. Appel d’une procédure.
L’appel d’une procédure se fait en écrivant son nom suivi d’entre parenthèses la liste des paramètres effectifs séparés par des
virgules en respectant la syntaxe suivante :
PROC Nom_procédure (paramètre effectif1, paramètre effectif 2, ... , paramètre effectif n)
3. Syntaxe
En algorithme
0) DEFPROC Nom_Procedure (Liste et type des paramètres formels )
1) instruction 1
2) instruction 2
……
n-1) instruction
n) Fin Nom_Procedure
En pascal
Procedure Nom_Procedure (Liste et type des paramètres) ;
{Déclaration des éventuels objets locaux(types, constantes, variables,..)}
Begin
Instruction 1
Instruction 2

Instructions N ;
End ;

2
III. Déclaration, accès aux objets et mode de transmission
1. Types d’objets
a. Objets globaux
Un objet global est déclaré au sein du programme principal. Il peut être utilisé dans un sous-programme sans être déclaré
dans celui-ci.
b. Objets locaux
Un objet local est déclaré dans un sous-programme. Cet objet est accessible et connu ou sein du sous programme où il est
déclaré ou par un sous-programme appelé.
2. Les paramètres et leurs modes de transmission
a. Types de paramètres
 Paramètres effectifs
Un paramètre effectif est celui utilisé dans une instruction d’appel d’un sous programme.
 Paramètres formels
Un paramètre formel est celui qui figure dans l’entête de la définition d’un sous-programme.
Remarques :
- Les paramètres formels et les paramètres effectifs doivent se correspondre en :
 Nombre
 Ordre
 Type
- les identificateurs des paramètres formels et effectifs peuvent être différents.
- Les paramètres d’un sous programme ne sont pas des variables, il ne faut donc pas les déclarer.

3
b. Modes de transmission des paramètres.
Lors de l’appel d’un module les paramètres effectifs substitueront les paramètres formels, c.à.d. le transfert de données entre
le programme appelant et le programme appelé. On parle, ainsi de passage de paramètres
Il existe de modes de passage :
 Passage par valeur
L’échange de données se fait dans un seul sens :

Appelant Appelé

Dans ce cas, La modification d’un paramètre formel n’entraîne pas la modification du paramètre effectif correspondant.
Remarque : les paramètres d’une fonction sont passés par valeur.
 Passage par variable( ou par référence).
L’échange de données se fait dans les deux sens :

Appelant Appelé

Dans ce Le paramètre formel subit obligatoirement une modification qui permettra un changement de la valeur du
paramètre effectif. Le paramètre formel doit obligatoirement être précédé par le mot clé var.
IV. Les fonctions
1. Définition
Une fonction est un sous-programme qui retourne un seul résultat de type simple (entier, réel, booléen, caractère, chaîne de
caractères). Ce type est celui de la fonction.
Remarque : Une fonction est un cas particulier d’une procédure.

4
2. Appel d’une fonction.
L’appel d’une fonction engendre le retour d’une valeur, qu’on peut :
 L’affecter dans une variable :
Nom_Variable FN nom fonction (param eff1, param eff2, …, param effn)
 L’afficher directement :
écrire (FN nom fonction (param eff1, param eff2, …, param effn)
 La faire figurer dans une expression arithmétique ou logique :
si FN nom fonction (param eff1, param eff2, …, param effn)) alors …
3. Syntaxe.
En algorithme
0) DEFFN Nom_Fonction (Liste et type des paramètres formels ) : Type_résultat
1) instruction 1
2) instruction 2
……
n-1) Nom_Fonction  Résultat
n) Fin Nom_Fonction
En pascal
Function Nom_Fonction (Liste et type des paramètres) : Type_Résultat ;
{Déclaration des éventuels objets locaux(types, constantes, variables,..)}
Begin
Instruction 1
Instruction 2

Nom_Fonction := Résultat ;
End ;

5
Conclusion :

Structure générale d’un programme pascal


Program Nom_programme ;
Uses wincrt ;
{Déclaration des éventuels objets globaux(types, constantes, variables)}
{définition des sous programmes appelés(entête, déclaclaration & corps)}
Begin
{corps du programme principal}
End.

Vous aimerez peut-être aussi