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 polynomeIci sert au nom de la fonction et pour désigner le résultat.
Appel d'une fonction.
y = polynome(a,b,c,x)est équivalent à . Bien sûr et sont des réels.
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 :: polynomemais 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.