Quant aux fonctions, elle sont appelées à partir du programme
principal, d'une procédure ou d'une autre fonction. Le programme affecte des valeurs à leur
variables (comme pour les procédures paramétrées, il faudra faire attention à l'ordre
d'affectation des variables). Ces fonctions, après lancement, sont affectées
elles-mêmes d'une valeur intrinsèque issue de leur fonctionnement interne. Il faut déclarer une
fonction en lui donnant tout d'abord un identidiant (c'est-à-dire un nom d'appel), en déclarant les
variables locales dont elle aura besoin et enfin, il faudra préciser le type correspondant à
la valeur que prendra en elle-même la fonction (string, real, etc.).
Attention, on ne peut pas affecter un type complexe (array, record) à une
fontion : seuls les types simples sont acceptés (voir chapitre 20 sur les types
simples et complexes). De plus, comme le montre les syntaxes suivantes, on peut fabriquer une fonction sans
paramètre (ex: random). Il ne faut surtout pas oublier, en fin (ou cours) de fonction,
de donner une valeur à la fonction c'est-à-dire d'affecter le contenu d'une variable ou le résultat
d'une opération (ou autre...) à l'identifiant de la fonction (son nom) comme le montrent les syntaxes suivantes.
Syntaxes :
Function
nom de fonction (variable : type ) : type ;
Var déclaration de variables locales ;
Begin
... := une valeur ;
End ; Function nom de fonction : type ;déclaration de variables locales
Var ;...
commandes
...
nom de fonction := une valeur ;
End ;
Program exemple10 ;exposant
Uses crt ;
Function ( i , j : integer ) : integer ;exposant
Var i2 , a : integer ;
For a := 1 To j Do i2 := i2 * i ;
:= i2 ;resultat, x, n
End ;
Var : integer ;Entrez un nombre :
BEGIN
') ;Entrez un exposant :
Readln (x) ;
Write('') ;resultat
Readln (n) ;
:= exposant ( x , n ) ;resultat
Writeln ( ) ;
Readln ;
END.