Fonction - Définition du corps d'une méthode ou d'une fonction

Instruction. Définition du corps d'une méthode d'un type ou d'une fonction.

Syntaxe

TypeDAcces Fonction NomDeLaFonction ( ListeDeParametresDUnAppel ) Retourner TypeElementaire SuiteFonction

Description

L'instruction Fonction permet de définir le corps du traitement correspondant à une fonction. Cette fonction peut être soit rattachée à un type soit être autonome dans le composant.

Un fonction doit retourner un résultat conforme au type défini dans son prototype. L'arrêt de l'exécution des instructions du corps de la fonction et le renvoi du résultat s'effectue au moyen de l'instruction Retourner.

Les fonctions peuvent être surchargées par polymorphisme : il existe plusieurs fonctions portant le même nom. Ces fonctions diffèrent par leur prototype.

Tout programme doit comporter une fonction spéciale qui débute le programme. Il s'agit de la fonction Principal. Le type de son résultat est Entier. Il s'agit du compte-rendu d'exécution du programme.

Un paramètre de fonction peut être nommé ou non. S'il est nommé, il se comportera comme une variable locale à la fonction. S'il n'est pas nommé, son symbole est ? et, bien que transmis, il est ignoré dans le corps de la fonction. Les paramètres non nommés sont utiles lorsqu'il s'agit d'écrire des fonctions génériques pour lesquels tous les paramètres ne sont pas pertinents dans tous les contextes.

Un paramètre peut posséder une valeur défaut qui est en ce cas soit Nul ou soit une constante en accord avec le type du paramètre. Seuls les derniers paramètres peuvent être optionnels : un paramètre optionnel ne peut être suivi d'un paramètre obligatoire. Lors de l'appel de la fonction, les n derniers paramètres optionnels peuvent être omis. En ce cas, les valeurs transmises correspondent aux valeurs par défaut.

Exemple

Type TA
/*****/
Fin Type
/* Le type TA comporte deux methodes (FMethode1 et FMethode2). */

/****************************************************************/
Fonction TA.FMethode1(F : Fichier) Retourner Booleen
/* Objet : Methode FMethode1 de TA. */
/****************************************************************/
...
Fin Fonction

Fonction TA.FMethode2() Retourner Caractere
/* Objet : Methode FMethode2 de TA. */
/****************************************************************/
...
Fin Fonction
/****************************************************************/
Fonction Factorielle(E : Entier) Retourner Entier
/* Objet : Fonction factorielle. */
/****************************************************************/
Debut
Si E==1 Alors Sinon Fin Si
Fin Fonction

/****************************************************************/
Fonction F(A : Entier, ? : Entier, B : Entier=0, C : Entier=0) Retourner Entier
/* Objet : Fonction avec un paramètre non nommé et deux paramètres optionnels. */
/****************************************************************/
Debut
...
Fin Fonction

Principal
/*******/
Variable
/******/

Debut
A=F(1,2,3,4)
/* Appel de F. Tous les paramètres sont transmis. */
A=F(1,2,3);
/* Appel de F. Le dernier paramètre optionnel n'est pas transmis. */
A=F(1,2);
/* Appel de F. Les deux derniers paramètres optionnels ne sont pas transmis. */
Retourner 0;
Fin Principal

Voir aussi

Procedure, Operateur et Rappel pour connaître les autres types d'appels possibles. Principal pour définir la fonction principale.

Traduction

---------