1
- Définition mathématique d’une fonction
Une fonction est une relation qui
associe à un ou plusieurs éléments de l’ensemble de départ une image et une seule dans l’ensemble d’arrivé.
Ex : f : IR X IR IR
X , Y f ( X , Y ) = 3X + 5Y
f ( 6 , 2 ) = 3 x 6 + 5 x 2 = 28
2
- Définition algorithmique d’une fonction
On appelle fonction un module (sous
programme) généralement paramètré, retournant un résultat unique de type
simple (entier, réel, caractère, booléen ) ou de type chaîne de caractères.
Une
fonction ne peut pas retourner un tableau ou deux entiers par exemples.
Ecrire un programme MINIMUM qui lit deux entiers N1 et N2 puis détermine et affiche leur minimum.
Réponse
1-
Analyse
Nom = MINIMUM |
||
Séquences |
Lexique des Définitions Explicites
(L . D . E .) |
O.U. |
3 1 2 4 |
Résultat
= Ecrire (‘’ La plus petite valeur est ‘’ ,
FN Min ( N1 , N2 ) ) N1
= donnée (‘’ Saisir le 1 er entier
‘’), N2
= donnée (‘’ Saisir le 2 ème entier ‘’), FIN
MINIMUM |
N1 N2 Min |
2- Tableau de déclaration des objets
Objet |
Code |
Type |
Rôle |
N1 |
N1 |
Entier |
Première valeur donnée |
N2 |
N2 |
Entier |
Deuxième valeur donnée |
Min |
Min |
Fonction |
Détermine le minimum de 2
entiers |
3-
Algorithme
0) début MINIMUM
1)
Ecrire (‘’ Saisir le
1 er entier ‘’), Lire(N1) ;
2)
Ecrire (‘’ Saisir le 1 er entier ‘’), Lire(N2) ;
3) Ecrire (‘’ La plus petite valeur est ‘’ ,
FN Min ( N1 , N2 ) )
4)
Fin
MINIMUM
Constatation
Min : IN X IN IN
n
, m Min (
n , m )
Exemple : N1
= 15 et N2 = 9
Min ( N1 , N2 ) = 9
|
N1
et N2 sont des paramètres effectifs |
1-
Analyse de la
fonction MIN
DEF FN Min (n , m : entier) : entier |
||
Séquences |
Lexique des Définitions Explicites
(L . D . E .) |
O.U. |
2 1 3 |
Résultat
= Min Min
¬
R [init] si
n < m alors R ¬ n sinon R ¬ m finsi FIN
Min |
R |
2-
Tableau de
déclaration des objets
Objet |
Code |
Type |
Rôle |
R |
R |
Entier |
Variable
locale à la fonction (intermédiaire) |
3-
Algorithme de
la fonction MIN
0) DEF FN MIN (n , m : entier) : entier
1) si n < m
alors
R
¬
n
sinon
R
¬
m
Finsi
2) Min ¬ R
3) FIN Min
3-1- Au niveau de la définition (la
création, la rédaction,…) d’une fonction
0)
DEF FN nom_de_fonction
(pf1,pf2,…:typeI ; pf1,pf2,…:typeII;…): type_résultat
1) .
paramètres
formels
. nom_de_fonction ¬ R 3-2- Au niveau de l’appel :
paramètres
effectifs -
-
d’un autre sous
programme (module) M ¬ FN
nom_de_fonction (pe1,pe2,…, pe1,pe2,…) Retenons - le nom d’une fonction se comporte
comme une expression et non pas comme une instruction. - Les paramètres effectifs et les paramètres formels doivent
s’accorder du point de vue nombre, ordre et types compatibles. -L’écriture des paramètres formels est
à la fois une déclaration et une initialisation aux valeurs d’appels (celles
des paramètres effectifs). -Les variables qui ne sont pas en entrée
(paramètres formels) sont déclarées localement à la fonction. On les appelles
des variables locales. -Une variable locale est une variable déclarée dans un
sous programme et n’est utilisable qu’à l’intérieur de
celui-ci. - Une variable globale est une variable déclarée dans la
partie déclaration des variables du
programme principal, et est utilisable par le programme principal et par les
sous programmes (ex : les fonctions
et autres). Traduire en pascal les
2 algorithmes MINIMUM et MIN puis saisir l’ensemble du programme sur machine
d’après le model suivant :
Série d’exercices Exercice N° 1 Ecrire un programme
modulaire en turbo pascal qui permet de calculer le minimum et le maximum de
quatre réels quelconques A, B, C et C. Exercice N° 2 Soient T1 et T2 deux
tableaux de N réels non nuls. Ecrire un
programme modulaire en turbo pascal qui permet de calculer le plus petit réel
et le plus grand réel dans T1 puis de vérifier leur existence dans T2. Exercice N° 3 Soient U et V deux
vecteurs de 10 coordonnées réels chacun. Ecrire un
programme modulaire en turbo pascal qui permet de calculer et afficher la norme
de U et la norme de V ainsi que leur produit scalaire. Exercice N° 4 -
. < traitement >
n) FIN nom_de_fonction
Une fonction peut
être appelée à partir :
du
programme principal
IV / Application en Turbo Pascal
Ecrire un
programme modulaire en turbo pascal qui permet de calculer et afficher la somme
de la suite S