Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: 2.2 Programmation Sup.: Fonctions interprétées Préc.: Fonctions interprétées Index Table des matières


2.1 Utilisation

   

La définition des fonctions est donnée en format libre (chapitre 1), sur une ou plusieurs lignes, en colonnes 1 à 72. La forme générale est la suivante :

fonction(parametre1, parametre2, ...) = expression ;

Exemple :

F(X,Y,Z) = (X-X**3) * (Y-Y**3) * (Z-Z**3)

+ LOG(X+Y+Z+1)

- 5.9 ;

Ainsi, les blancs sont admis, et un point-virgule (;) marque la fin de la définition de la fonction. Cette forme est assez naturelle et les expressions simples ne soulèvent aucune difficulté. Pour les cas plus complexes, le lecteur trouvera ci-dessous deux présentations différentes : la première se situe par rapport à Fortran 77, et la deuxième est plus formelle.

Présentation par rapport à Fortran 77

La forme est très voisine de celle des ``statement functions'' de Fortran 77. Cependant, quelques différences doivent être notées :

 
Figure: Les identificateurs réservés 

Présentation formelle

 

Rappelons la forme générale (section 2.1) :

fonction(parametre1, parametre2, ...) = expression ;

Cette syntaxe est symbolisée par le diagramme de la figure 2.2.

 
Figure: Diagramme de la définition d'une fonction 

identificateur
est une suite non vide de lettres (A-Z), de soulignés (_) et de chiffres (0-9). Le premier caractère est obligatoirement une lettre ou un souligné. La longueur d'un identificateur est limitée uniquement par celle des lignes d'entrée, soit 72 caractères. L'analyseur syntaxique vérifie que tout identificateur est différent des mots réservés (figure 2.1).

fonction
est l'identificateur de la fonction à définir, considérée comme réelle simple précision.

paramètre1, paramètre2, ...
sont les identificateurs des paramètres formels pouvant apparaître dans l'expression, ces paramètres étant considérés comme des variables réelles simple précision.

expression
est une construction formée d'opérandes, d'opérateurs et de parenthèses, retournant une valeur réelle simple précision. Les opérandes sont des paramètres ou des constantes numériques. La liste des opérateurs disponibles est donnée dans la section suivante.

un point-virgule
termine la définition de toute fonction.

Les opérateurs disponibles

 
Figure: Priorités des opérateurs 

La figure 2.3 donne, pour chaque opérateur inséré ou de type fonction, sa cardinalité et sa priorité :

Optimisation

Afin d'optimiser le temps d'exécution et la précision des calculs, certaines exponentiations sont remplacées automatiquement par des multiplications. Ainsi, ne pas hésiter à taper (X+1)**2 plutôt que (X+1)*(X+1) !


Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: 2.2 Programmation Sup.: Fonctions interprétées Préc.: Fonctions interprétées Index Table des matières