Académique Documents
Professionnel Documents
Culture Documents
FACULTÉ DE MÉDECINE
DÉPARTEMENT DE PHARMACIE
Chapitre IV
Fonctions et Procédures
1
Dr Asma BENCHIHEB
Plan
Introduction
Les Fonctions
Déclaration d’une fonction
Appel d’une
Les Procédures
Déclaration d’une procédure
Appel d’une procédure
2
Introduction
Fonctions Mathématique :
Procédures
3
Les Fonctions Déclaration d’une fonction
FONCTION NomFonction (Param1 : type1, Param2 : type2,.., ParamN : typeN) : typeResultat
Variable
VarLocal1 : typeVarLocal1
…..
VarLocalN : typeVarLocalN
Syntaxe DEBUT
4
Les Fonctions Déclaration d’une fonction
FONCTION NomFonction (Param1 : type1, Param2 : type2,.., ParamN : typeN) : typeResultat
Variable
VarLocal1 : typeVarLocal1
…..
VarLocalN : typeVarLocalN Nom de la fonction type du résultat retourné
par la fonction
Syntaxe DEBUT
5
Les Fonctions Déclaration d’une fonction
FONCTION NomFonction (Param1 : type1, Param2 : type2,.., ParamN : typeN) : typeResultat
Variable
VarLocal1 : typeVarLocal1
…..
VarLocalN : typeVarLocalN Paramètres formels
Syntaxe DEBUT
6
Les Fonctions Déclaration d’une fonction
FONCTION NomFonction (Param1 : type1, Param2 : type2,.., ParamN : typeN) : typeResultat
Variable
VarLocal1 : typeVarLocal1
…..
VarLocalN : typeVarLocalN Types des Paramètres formels
Syntaxe DEBUT
7
Les Fonctions Déclaration d’une fonction
FONCTION NomFonction (Param1 : type1, Param2 : type2,.., ParamN : typeN) : typeResultat
Variable
VarLocal1 : typeVarLocal1
….. Variables locales
VarLocalN : typeVarLocalN
Syntaxe DEBUT
8
Les Fonctions Déclaration d’une fonction
A retenir :
- Les variables locales sont définies et reconnues par la fonction uniquement (où elles sont déclarées) donc,
elles ne peuvent pas être accessibles ni par le programme principal ni par les autres fonctions ou procédures.
Ainsi, dès que se termine l’exécution de la fonction, ces variables locales disparaissent de la mémoire.
- Une fonction doit toujours renvoyer un seul résultat. Ce dernier est contenu dans son nom.
- Les paramètres de la fonction sont des variables qui vont recevoir des données. Ces dernières proviennent du
programme ou du sous-programme appelant.
9
Les Fonctions Appel d’une fonction
on doit utiliser le nom de la fonction suivi de ses paramètres effectifs placés entre parenthèse
Syntaxe Algorithmique X NomFonction(var1, var2, .. varN)
Syntaxe Pascal X := NomFonction(var1, var2, .. varN)
10
Les Fonctions Exemple
Exemple 3: Ecrire un algorithme qui utilise la fonction pour le calcul d’un périmètre d’un rectangle.
11
Les Procédures Déclaration d’une procédure
Début
Begin
{corps de la procédure} {corps de la procédure}
B1 := <expression1> ; B1 := <expression1> ;
…….. ……..
Bn := <expressionN> ; Bn := <expressionN> ;
Fin ; End ;
13
Les Procédures Exemple
Algorithme Racine
Variable a, b, c, X1, X2, Signe: réel
Procédure
Procédure Calcul
Solutions (a,b,(a,c b,
: réels ; ;
c : réels
Var Signe, X1,X2
Var Signe, X1,X2 : réels) : réels); ;
Variable
Variable
Delta
Delta :: réel
réel
Début
Début
Delta
Delta b*bb*b –– 4*a*c
4*a*c
Si (Delta
Si (Delta ≥0.)
≥0.) alors
alors Déclaration et
Signe
Signe =1=1 définition de la
𝑋1(−𝑏
𝑋1(−𝑏 + + 𝑆𝑞𝑟𝑡(𝐷𝑒𝑙𝑡𝑎))/(2
𝑆𝑞𝑟𝑡(𝐷𝑒𝑙𝑡𝑎))/(2 × × 𝑎)
𝑎)
𝑋2(−𝑏 procédure
𝑋2(−𝑏 − 𝑆𝑞𝑟𝑡(𝐷𝑒𝑙𝑡𝑎)/(2 × 𝑎)
− 𝑆𝑞𝑟𝑡(𝐷𝑒𝑙𝑡𝑎)/(2 × 𝑎)
Sinon
Sinon
Afficher
Afficher (‘Pas
(‘Pas dede Solution
solutionsréels’)
réels’)
Signe =-1
Signe =-1
FinSi
FinSi
Fin
Fin {Fin
{Fin dede la
la procédure
procédure Calcul}
Calcul}
DEBUT
Afficher (’a =’)
Lire (a)
Afficher (‘b =‘)
Lire (b)
Afficher (‘c =‘)
Lire (c)
Signe = 0
Appel de la
Solutions (a,b,c, Signe ,X1,X2)
procédure
Si (Signe =1) alors
Afficher (‘X1 =‘, X1)
Afficher (‘X2 =‘, X2)
FinSi
Afficher (‘Fin de calcul ‘) 14
FIN
Les Modes de transmission
Les paramètres formels utilisés dans les déclarations des sous-programmes/sous-algorithmes (fonction
ou procédure) permettent d’avoir deux types de transmission :
transmission par valeur
transmission par adresse (ou variable ou référence).
15
Les Modes de transmission Transmission par valeur
La transmission par valeur consiste à copier la valeur transférer au sein du sous-algorithme pour que
ce dernier puisse l’utiliser dans ses calculs sans jamais modifier la valeur originale.
Le paramètre transmis par valeur n'est jamais affecté par les modifications dans la procédure ou la
fonction.
Pour réaliser une transmission par valeur d’une variable, il faut juste spécifier son nom et son type dans
la liste des paramètres formels.
Dans une transmission par adresse (ou par référence ou par variable), lors de l’appel du sous-
algorithme/sous-programme, il y a non seulement copie des valeurs mais également une transmission
des adresses des variables
Le paramètre transmis dans ce cas peut être modifié et on récupère le résultat dans la variable.
17
Les Modes de transmission Exemple
Exemple 5 : Observer les écritures des deux algorithmes ci-dessous et déduire les valeurs des variables
A et B qui seront affichées à la fin.
18
Les Modes de transmission Exemple
Exemple 6 : Observer l’écriture de l’algorithme ci-dessous et déduire les valeurs affichées dans
chaque cas :
19
Les Modes de transmission Exemple
Exemple 6 : Observer l’écriture de l’algorithme ci-dessous et déduire les valeurs affichées dans
chaque cas :
20
Les Modes de transmission Exemple
Exemple 7 : Observer l’écriture de l’algorithme ci-dessous et déduire les valeurs affichées de x
dans chaque cas :
21
Les Modes de transmission Exemple
Exemple 7 : Observer l’écriture de l’algorithme ci-dessous et déduire les valeurs affichées de x
dans chaque cas :
Algorithme Exemple8
Type
Table : TABLEAU [1..10] DE entier
Variable
i, N : entier
Tab : Table;
Procédure MultMAT (N : integer ; Var Tab : Table);
Var j: integer
Début
Pour j De 1 A N Faire
Tab [j] 3 * Tab [j]
FinPour
Fin
Début
Afficher (’Donnez la dimension N du tableau avec N≤ 10 : N=’)
Lire (N)
Pour i De 1 A N Faire
Afficher (‘Table[‘, i, ‘] =‘)
Lire (Table [i])
FinPour
MultMAT (N, Tab);
Pour i De 1 A N Faire
Afficher (‘Table[‘, i, ‘] =‘, Table [i] )
FinPour
Fin
23