3° Anno TEORIA 7. Metodologie di progettazione e programmazione | Page 27

6 . Metodologia top-down e sottoprogrammi Versione 5.0 – Aprile 2023
ALTRI TIPI DI RICORSIONE
DEF 2 : Un sottoprogramma implementa la ricorsione MULTIPLA quando nella sua definizione compaiono ALMENO DUE CHIAMATE al sottoprogramma stesso .
Primo esempio : la successione di FIBONACCI
L ' intento di Fibonacci era quello di trovare una legge matematica che potesse descrivere la crescita di una popolazione di conigli individuando e registrandone la ragione quantitativa di incremento .
I primi numeri di Fibonacci sono :

1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , 55 , 89 , 144 …

In matematica la definizione ricorsiva della serie di Fibonacci relativa ad un numero n intero non negativo
Fib ( n ) = 1 se n = 0
Fib ( n ) = 1
se n = 1
Fib ( n ) = Fib ( n-1 ) + Fib ( n-2 )
se n >= 2
Una possibile pseudocodifica di una funzione RICORSIVA MULTIPLA per calcolare i numeri di Fibonacci di nome Fibonacci è la seguente :
FUNZIONE Fibonacci ( VAL num : INT ) : INT fib : INT

INIZIO

SE (( num = 0 ) OR ( num = 1 ))

ALLORA fib � 1 ALTRIMENTI fib � Fibonacci ( num -1) + Fibonacci ( num-2 ) /* Chiamata ricorsiva MULTIPLA */ FINE SE

RITORNA ( fib )
N . B . Due chiamate ricorsive FINE
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it )
Pag . 27