Developpez.com

Plus de 14 000 cours et tutoriels en informatique professionnelle à consulter, à télécharger ou à visionner en vidéo.

Developpez.com - Pascal
X

Choisissez d'abord la catégorieensuite la rubrique :

 

CHAPITRE VIII : Fonctions

Par Hugo ETIEVANT

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
...
commandes
...
nom de fonction := une valeur ;
End ;

Function
nom de fonction : type ;
Var
déclaration de variables locales ;
Begin
...
commandes
...
nom de fonction := une valeur ;
End ; >


Program
exemple10 ;
Uses crt ;
Function
exposant ( i , j : integer ) : integer ;
Var i2 , a : integer ;
Begin
i2 := 1 ;
For a := 1 To j Do i2 := i2 * i ;
exposant := i2 ;
End ;
Var resultat, x, n : integer ;
BEGIN
Write ('Entrez un nombre : ') ;
Readln (x) ;
Write('
Entrez un exposant : ') ;
Readln (n) ;
resultat := exposant ( x , n ) ;
Writeln (
resultat ) ;
Readln ;
END.
Responsables bénévoles de la rubrique Pascal : Gilles Vasseur - Alcatîz -