Vous êtes sur la page 1sur 3

Mohamed BOUDABBOUS Les sous-programmes Cours

Titre Description Remarques


Introduction : Face à un problème long et complexe, on a intérêt à décomposer le
programme en sous-programmes (modules) de degré de complexité
plus abordé.
Activité : Ecrire un programme qui saisit un entier N (NЄ[5..20]), remplit un (voir vidéo)
tableau T par N réels positifs, calcule et affiche la somme de ses valeurs.

1ère étape : Dans cette étape, on va essayer de décomposer notre problème Pour la
la décomposition : en parties (sous-programmes ou modules). On peut utiliser une décomposition, on
méthode graphique ou une méthode textuelle : peut utiliser une
des deux méthodes,
Méthode textuelle textuelle ou
 Sous-programme1 graphique. La
 Sous-programme2 deuxième méthode,
 Sous-programme3 graphique, est plus
 … utile pour la suite
Méthode graphique de l’exercice.

Programme Entrées
principal
Entrées
Entrées
Sous-
programme3
Sous-
programme1 Sous-
1 programme2
1 Sorties

Sorties
Sorties
Une fois la décomposition est effectuée, il faut identifier le type de
chaque sous-programme (Procédure ou Fonction)
Définitions :
 Une fonction est un sous-programme qui calcule et retourne
une seule valeur résultat de type simple (entier, réel, booléen,
caractère ou chaine de caractère).
 Une procédure est un sous-programme qui retourne 0 ou
plusieurs valeurs
2ème étape : Après la décomposition, il faut passer à l’analyse du programme
L’analyse du P.P. : principal où on va appeler (utiliser) les sous-programmes
envisagés.
Syntaxe :
La forme générale de l’appel d’une procédure :
PROC nom_procedure(pe1,pe2, …)

La forme générale de l’appel d’une fonction :


Var_resultat FN nom_fonction(pe1,pe2, …)

pe1,pe2 : représentent les paramètres effectifs
var_resultat : représente la variable résultat dans laquelle on va
mettre le résultat de la fonction.

Cours En Ligne Pour s’inscrire : www.TuniSchool.com Page 1 sur 3


Mohamed BOUDABBOUS Les sous-programmes Cours

Titre Description Remarques


3ème étape : Dans l’algorithme du programme principal (PP), on doit organiser
L’algorithme du l’analyse du PP dans l’ordre ascendant comme suit.
PP : 0) DEBUT PP
1) Sous-programme1
2) Sous-programme2
3) Sous-programme3
4) ….
5) FIN PP
4ème étape : Durant cette étape, on doit analyser chaque module envisagé.
L’analyse des sous
programmes : Analyse d’une procédure :
La syntaxe de l’analyse d’une procédure est comme suit:

DEF PROC nom_procédure(pfe :type ; VAR pfs :type)


RESULTAT=pfs
traitement TDO LOCAUX
FIN nom_procedure


pfe: paramètres formels en entrée
pfs: paramètres formels en sortie
Oli: objet locaux: ce sont les objets utilisés au sein
de la procédure autre que les paramètres formels

Analyse d’une fonction :


La syntaxe de l’analyse d’une fonction est comme suit :

DEF FN nom_fonction(pfe :type) : type_fonction


RESULTAT=nom_fonction
nom_fonctionvar_resultat
traitement pour calculer var_resultat
FIN nom_fonction TDO LOCAUX


pfe: paramètres formels en entrée
var_resultat: variable locale contenant le résultat calculé
au sein de la fonction
Oli: objet locaux: se sont les objets utilisés au sein de la
fonction autres que les paramètres formels

5ème étape : On doit préparer un algorithme pour chaque sous-programmes


les algorithmes analysé :
des sous- Algorithme d’une procédure :
programmes La syntaxe de l’algorithme d’une procédure est comme suit:

0) DEF PROC nom_procédure(pfe :type ; VAR pfs :type)


1) traitement
2) …..
3) …..
N) FIN nom_procedure

Cours En Ligne Pour s’inscrire : www.TuniSchool.com Page 2 sur 3


Mohamed BOUDABBOUS Les sous-programmes Cours

Titre Description Remarques


Algorithme d’une fonction :
La syntaxe de l’algorithme d’une fonction est comme suit :

0) DEF FN nom_procédure(pfe :type) : type_fonction


1) traitement pour calculer var_resultat
2) …..
3) …..
n-1) nom_fonctionvar_resultat
n) FIN nom_fonction
6ème étape : Pour traduire un programme modulaire en pascal, on doit
la traduction en respecter l’ordre suivant :
pascal 1. L’entête du programme
2. Les objets globaux
3. Les sous-programmes en pascal
4. Le programme principal

La syntaxe de la traduction en pascal d’une procédure est :


Appel d’une procédure en pascal:
nom_procedure(pe1,pe2);

Définition d’une procédure:


PROCEDURE nom_procédure(pfe :type ; VAR pfs :type)
Var OL1,OL2…:type;
BEGIN
Traitement;
END;

La syntaxe de la traduction en pascal d’une fonction est comme


suit :
Appel d’une fonction en pascal :
Var_resultat := nom_fonction(pe1,pe2, …) ;

Définition d’une fonction en pascal :


FUNCTION nom_fonction(pfe :type) : type_fonction ;
VAR ol1,ol2,…:type;
BEGIN
traitement pour calculer var_resultat;
nom_fonction:=var_resultat;
END;

Cours En Ligne Pour s’inscrire : www.TuniSchool.com Page 3 sur 3