3° Anno TEORIA 7.1 - Slide Procedure e Funzioni | Page 136

A2. Esempio di RICORSIONE DIRETTA: il fattoriale di un numero

Soluzione non ricorsiva( algoritmo iterativo) del fattoriale di un numero
FUNZIONE Fattoriale( VAL num: INT): INT i, fatt: INT INIZIO fatt� 1 PER i�num INDIETRO A 1 ESEGUI fatt � i * fatt i � i- 1 FINE PER RITORNA( fatt) FINE
Soluzione ricorsiva( algoritmo ricorsivo) del fattoriale di un numero
FUNZIONE Fattoriale( VAL num: INT): INT fatt: INT INIZIO SE( num = 0)
ALLORA
Chiamata ricorsiva DIRETTA N. B. Chiamata UNA VOLTA SOLA allo stesso sottoprogramma
fatt� 1 /* caso particolare: condizione di arresto */ ALTRIMENTI fatt� num * Fattoriale( num- 1) /* caso generale: relazione funzionale */ FINE SE RITORNA( fatt) FINE