Funcions recursives

A continuació hi ha un programa que calcula el factorial d'un nombre enter. (El factorial és el resultat de n*(n-1)*(n-2)...3*2)

Entreu una dada a la casella de l'esquerra i feu clic en el botó:


Nombre:   Factorial:

La funció factorial() s'invoca ella mateixa, minvant en una unitat el valor de la variable introduïda com argument.

Mitjançant l'expressió if (n>1) posem fi a l'execució de la funció; altrament es produiria un bucle sense fi. (Llevat que la funció recursiva tingui per missió fer canvis continus, com ara actualitzar contínuament mostrar l'hora en pantalla, cal proveir algun mecanisme que n'aturi l'execució).

L'ús de return fa possible fer servir la pròpia funció com una variable.

Notem, a més, que la funció resultat conté la funció factorial(n).