1. Introduction :
La programmation modulaire permet d’éviter les instructions répétitives, elle permet de
décomposer les programmes en plusieurs parties et de regrouper dans le programme principal
pour ne pas recopier une même suite d’instructions.
2. Procédure :
Est un sous programme défini dans la partie déclaratif. Une procédure est constituée d’un entête
et d’un corps.
2.1. Syntaxe :
Exemple :
Algorithme exemple ;
Var i : entier ;
Procedure Climat ;
Debut
Ecrire(‘il ne fait pas beau’) ;
Fin ;
Debut
Pour i 1 à 5 faire
Climat ;
Fin.
Paramètres formels sont des variables déclarées dans l’entête de la fonction ou la procédure.
Paramètres réels (effectifs) sont des variables utilisés dans la procédure (programme principal)
lors de l’appel
5.1. Passage des paramètres par valeur : Le passage par valeur consiste à recopier la valeur à
transférer au sein de la procédure elle-même, cette dernière travaille alors avec cette copie sans
toucher à la valeur d’origine.
1
Procédures et Fonctions
Exemple
Algorithme valeur ;
Var x,y :réel ;
Procedure echange (a,b :réel) ;
Var c :reel ;
Debut
A x;
B y;
C a;
Fin;
Debut
Ecrire('donnez x et y: ') ;
Lire(x,y) ;
echange (x,y) ;
ecrire(x,y) ;
Fin.
5.2. Passage des paramètres par adresse: Il faut rappeler qu’une variable possède un nom
(identificateur) et une adresse en mémoire.
Lors de l’appel de la procédure il y’a non plus une recopie des valeurs mais la transmission des
adresses des variables.
Exemple
Algorithme valeur ;
Var x,y :réel ;
Procedure echange (var a,b :réel) ;
Var c: reel;
Debut
A x;
B y;
C a;
Fin;
Debut
Ecrire()donnez x et y) ;
Lire(x,y) ;
echange (x,y) ;
ecrire(x,y) ;
Fin.
6. Fonction :
2
Procédures et Fonctions
6.1. Définition :
Une fonction est une procédure particulière, qui ne génère qu’un et un seul résultat de type
simple : Entier, réel, booléen, caractère.
Remarque : Il existe dans tous les langages de programmation des fonctions standard prédéfinies.
6.2. Syntaxe :
fonction NomDeFonction (Liste Paramètres ) :Type Résultat;
Déclarations des variables locales autres que les paramètres
Début
Partie instructions
Fin
finFonction;
Remarque : La liste des paramètres (en général passés par valeur) est de la même forme que pour
une procédure.
Exemple:
Fonction Moyenne (Note1 : Réel, Note2 : Réel) : Réel ;
Variable Som : Réel
Début
Som Note1 + Note2
Moyenne Som/ 2
Fin
3
Procédures et Fonctions
Module : Algorithme Responsable : Mr BENSAHA
Exercice N°01: Ecrire un algorithme qui calcule les deux formules suivantes et ceci en
utilisant la notion de procédure: C = A * B ; D = (A-1) * (B+1) ;
4
Procédures et Fonctions
Exercice N°05: Ecrire un algorithme qui calcule la fonction suivante et cela en utilisant deux
(02) fonctions, la 1ère calcule la fraction et la 2ème calcule la somme:
b
F= ∑ ( i + k) / ( cos ( i-k ))
i=a
Exercice N°06: Ecrire un algorithme qui calcule la moyenne générale d’un étudiant en
informatique en utilisant:
a) Procédure lecture ;
b) Procédure Affichage ;
c) Fonction Addition ;
d) Fonction Multiplier ;
e) Fonction Division ;
f) Procédure Calcul.
Utiliser quatre (4) modules.
Exercice N°07: deux nombres naturels P et Q sont dits « Amis » si l’un est la somme des diviseurs
de l’autre et vice versa. C-a-d :
P = Somme des diviseurs de Q ; Q = Somme des diviseurs de P ;
Ecrire un algorithme qui vérifie si deux (02) nombres P et Q sont dits « Amis » ou non.
N.B: Utilisez trois (03) fonctions :
la 1ère détermine les diviseurs de P et de Q ;
la 2ème calcule la somme des diviseurs de P et de Q ;
la 3ème teste si P et Q sont amis ou non.
Par exemple 220 et 284 sont amis car :
220 est divisible par 1,2,4,5,10,11,20,22,44,55 et 110 :
Alors que 1+2+4+5+10+11+20+22+44+55+110 =284 ;
284 est divisible par 1,2,4,71,142 :
Alors que 1+2+4+71+142 =220 ;
5
Procédures et Fonctions
Exercice N°8 :
Le P.G.C.D (Plus Grand Commun Diviseur) de deux nombres M et N, peut être calculé à
l’aide de l’algorithme d’Euclide :
1. Diviser M par N, R est le reste ;
2. Si R vaut 0, alors N est le PGCD (fin)
Sinon M N ; N R aller au point 1.
Sur la base de cette méthode, écrire un algorithme utilisant une fonction permettant de
déterminer le PGCD de deux nombres N et M.
Exercice N°9 :
En utilisant les procédures ou fonctions ; Ecrire un Algorithme qui évalue l’expression
suivante :
F= (A * B)P !
Exercice N°10 :
Ecrire un algorithme qui calcule l’expression suivante et cela en utilisant la boucle
Tant que ou Répéter :
N
Z = ∑ k * ( Xi /i ! )
i=1