3° Anno TEORIA 7.1 - Slide Procedure e Funzioni | Page 133
Esempio: Supponiamo di avere una chiamata ricorsiva del tipo: pot � Potenza( 2, 5) Ecco cosa accade nella PILA delle ATTIVAZIONI:
1 ° call ricorsiva pot � Potenza( 2, 5) 2 ° call ricorsiva pot � 2 * Potenza( 2, 4) 3 ° call ricorsiva pot � 2 *( 2 * Potenza( 2, 3)) 4 ° call ricorsiva pot � 2 *( 2 *( 2 * Potenza( 2, 2))) 5 ° call ricorsiva pot � 2 *( 2 *( 2 *( 2 * Potenza( 2, 1)))) 6 ° call ricorsiva pot � 2 *( 2 *( 2 *( 2 *( 2 * Potenza( 2, 0))))) calcolo pot � 2 *( 2 *( 2 *( 2 *( 2 * 1))))
STOP RICORSIONE
A1. Esempio di RICORSIONE DIRETTA: la potenza di un numero Schematizzazione della chiamata ricorsiva Potenza( 2, 5)
Esempio: Supponiamo di avere una chiamata ricorsiva del tipo: pot � Potenza( 2, 5) Ecco cosa accade nella PILA delle ATTIVAZIONI:
1 ° call ricorsiva pot � Potenza( 2, 5) 2 ° call ricorsiva pot � 2 * Potenza( 2, 4) 3 ° call ricorsiva pot � 2 *( 2 * Potenza( 2, 3)) 4 ° call ricorsiva pot � 2 *( 2 *( 2 * Potenza( 2, 2))) 5 ° call ricorsiva pot � 2 *( 2 *( 2 *( 2 * Potenza( 2, 1)))) 6 ° call ricorsiva pot � 2 *( 2 *( 2 *( 2 *( 2 * Potenza( 2, 0))))) calcolo pot � 2 *( 2 *( 2 *( 2 *( 2 * 1))))
STOP RICORSIONE
Push
2
Push
2 2
Push
2 2 2
Push
Push
1 2 2 2 2 2
2 2 2 2
Push
2 2 2 2 2