les fonctions: explication simple et détaillée

Aller en bas

les fonctions: explication simple et détaillée

Message  Admin le Dim 13 Mar - 21:52

1. DEFINITION :
Une fonction procédure particulière qui retourne au programme appelant un seul résultat (une seule valeur) de type Simple (caractère, entier, réel, booléen) ou de type chaîne (il ne peut pas être de type tableau) .A chaque fonction, on doit préciser le type qui est en même le type du résultat à transmettre.
2. SYNTAXE

• au niveau analyse.

DEFN NOM_FONCTION (PF1 :TYPE1,PF2 :TYPE2,….,PFN :TYPEN) :TYPE_FONCTION
RÉSULTAT = NOM_FONCTION
..
..
..
FIN NOM_FONCTION

• algorithme
algorithme fonction nom_fonct (pf1 :type ;…. ;pfn :type n) : type
debut
instruction de la fonction
nom_fonct <- résultat
fin

• Pascal
function nom_fonct (pf1 :type1 ;…. ;pfn : typen) :type;
var :liste des variables locales ;
begin
instructions de la fonction ;
nom_fonct :=résultat;
end ;

Remarque :
Pour déclarer une fonction il faut ;
préciser le type de la fonction.
ranger le contenu de la variable locale ajouter (le résultat de la fonction) dans le nom de la fonction.

3. Déclaration et accès aux objets

Une variable locale est déclarée au sein d’un sous programme et elle n’est utilisable qu’à l’intérieur de ceci.
Une variable globale est déclaré dans le programme principal et elle est utilisable par le programme principal et par ses différents modules (sous programmes) qui le forment.
Niveaux des sous-programmes : L’ensemble des déclarations de sous programmes qui peuvent être imbriqués, forme une hiérarchie de sous-programmes caractérisés par leur niveau dans la hiérarchie. Cette dernière peut être représentée par un arbre ou le niveau 1 correspond à sa racine, les autres niveaux correspondent quant a eux aux diverses imbrications des sous-programmes entre eux. Pour représenter un arbre, on considère que sa racine est l’identificateur du programme principal, ses nœuds correspondent aux divers sous programme le composant, et les arcs représente la relation « déclare » ou « est déclaré par ».
Accès aux objets : Tous les objets dans un sous-programme S à un niveau i est inaccessible par les sous programmes de niveau j<=i et par les sous-programmes de niveau k>i qui ne sont pas englobés par s.

4. Les paramètres et leurs modes de transmission

a-Les paramètres effectifs et les paramètres formels
On a deux types de paramètres :
• Les paramètres formels qui figurent lors de la définition de la procedure (ou fonctions) dans l’entete da sa déclaration.Il sont utilisés dans les instructions de la procédure seulement ( il correspondent à des variables locales).
• Les paramètres effectifs qui figurent dans l’instruction d’appel de la procedure (ou la fonctions)dans le programme appelant.Au moment de l’appel de la procedure ces paramètres subsituent ceux formels et donc ce sont les paramètres effectifs qui seront manipulés par la procedure.
b- Mode de passage des paramètres :
Passage de paramètres : substitution des paramètres effectifs aux paramètres formels il correspond à un transfert de données entre le programme appelant (programme principal ou sous programme) et sous programme.
On distingue :
Le passage de paramètres par valeur : le paramètre formel n’est pas précédé de VAR
• passage par valeur.
Ce mode de passage permet au programme appelant de transmettre une valeur à la fonction appelée.
EN effet avant d’exécuter les instructions de la fonction, la valeur du paramètre effectif est substituée au paramètre formel.
Conclusion.
Le transfert d’information est donc effectué dans un seul sens : du programme principal vers la fonction :
Toute modification du paramètre formel est sans effet sur le paramètre effectif.

5. APPEL :
L’appel d une fonction se réalise dans une expression de la forme suivante.
En ALGO : v <-- nom_fonction (PE1,PE2,…)
En PASCAL : v := nom_fonction (PE1,PE2,…) ;

V : est une variable de même type que celui du résultat de la fonction.
NB :
l ‘ appel de la fonction peut être fait dans :
• une construction d écriture, écrire (compte(X, C))
• une expression : si min(X, Y) > 0

A retenir
Une fonction est constituée de trois parties:
1) La partie entête de la fonction OÙ nous trouvons son nom qui est suivi entre parenthèses des paramètres en entrée et de leur mode de passage, puis du type du résultat.
2) La partie déclarative où tous les objets locaux de la fonction sont déclarés.
3 La partie instruction où nous trouvons les instructions propres à la fonction.

Admin
Admin

Messages : 137
Date d'inscription : 29/12/2010

Voir le profil de l'utilisateur http://aidescolaire.yoo7.com

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum