Fonction
NomDeLaFonction (
ListeDeParametresDUnAppel ) Retourner
TypeElementaire SuiteFonction
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.
Type TA
/*****/
...
Fonction FMethode1(F : Fichier) Retourner Booleen;
Fonction FMethode2() Retourner Caractere;
...
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
Retourner 1;
Sinon
Retourner E*Factorielle(E-1);
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
/******/
A : Entier;
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
- | - | - | - | - | - | - | - | - |