Une fonction dispose d'arguments qui correspondent à des
informations qui lui sont transmises et elle fournit un résultat
unique, désigné par le nom même de la fonction
.
Exemple. création d'une unité de compilation (FUNCTION)
FUNCTION polynome(a,b,c,x)
IMPLICIT NONE
REAL, INTENT(IN) :: a,b,c,x
REAL :: polynome
polynome = a*x*x+b*x+c
END FUNCTION polynome
Ici Appel d'une fonction.
y = polynome(a,b,c,x)
est équivalent à
Il est nécessaire que le compilateur connaisse le type de la fonction c-à-d le type du résultat qu'elle fournit. On peut déclarer dans le programme principal :
real :: polynome
mais dans ce cas le compilateur ne vérifie pas le type
d'argument fourni par la fonction. Pour remédier à cet
inconvénient on peut utiliser une interface.