Une fonction est dite récursive si elle s'appelle elle même. On peut écrire la fonction factorielle sous la forme suivante.
function factorielle(n:integer):integer;
(*calcul recursif de la factorielle de n*)
begin
if n=1 then factorielle:=1
else factorielle:=n*factorielle(n-1);
end;