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

Dettagliamo la seguente chiamata ricorsiva
…. s � Somma( 5)
Il valore del parametro attuale( costante intera) trasferito al parametro formale n è 5. Attivata la funzione viene eseguita l’ istruzione s � 5 + Somma( 4)
che non può essere eseguita e risolta direttamente in quanto contiene una chiamata allo stesso sottoprogramma( procedura ricorsiva diretta) che conduce alla seguente successione s� 5 +( 4 + Somma( 3))
s� 5 +( 4 +( 3 + Somma( 2))) s� 5 +( 4 +( 3 +( 2 + Somma( 1)))) s� 5 +( 4 +( 3 +( 2 +( 1)))) che è uguale a 15
Fin qui TUTTO OK.... ma che succede se compio qualche piccolo errore nella progettazione dell’ algoritmo ricorsivo?????

Problemi con la ricorsione

Dettagliamo la seguente chiamata ricorsiva

…. s � Somma( 5)

…..

Il valore del parametro attuale( costante intera) trasferito al parametro formale n è 5. Attivata la funzione viene eseguita l’ istruzione s � 5 + Somma( 4)

che non può essere eseguita e risolta direttamente in quanto contiene una chiamata allo stesso sottoprogramma( procedura ricorsiva diretta) che conduce alla seguente successione s� 5 +( 4 + Somma( 3))

s� 5 +( 4 +( 3 + Somma( 2))) s� 5 +( 4 +( 3 +( 2 + Somma( 1)))) s� 5 +( 4 +( 3 +( 2 +( 1)))) che è uguale a 15

Fin qui TUTTO OK.... ma che succede se compio qualche piccolo errore nella progettazione dell’ algoritmo ricorsivo?????