mag 06

16. La ricorsione

Categoria: Senza categoria

Visite 101

Guadagna denaro contante con il tuo sito web!

Nel capitolo precedente abbiamo parlato delle funzioni e della loro utilità nello strutturare il codice. Le funzioni sono utilizzate in tutti i linguaggi di programmazione e, qualsiasi programma che utiliziamo, è stato scritto con delle funzioni. Esiste un tipo di funzione che si chiama ricorsiva. Oggi parleremo appunto di questa funzione e di come è strutturata.

16. La ricorsione

 


La ricorsione è una proprietà di una funzione. Essa si chiama così perchè richiama se stessa all’interno della funzione. E’ come immaginare la funzione somma, che richiama al suo interno una nuova funzione somma. Algoritmi con tali tipi di funzioni compaiono generalmente nei test delle selezioni scolastiche delle olimpiadi internazionali di informatica.

 

Esse sono molto importanti, ma deve essere anche strutturata bene. Un piccolo sbaglio può portare il programma in loop infinito, e quindi interrompere l’esecuzione del programma. Ciò che è importante è innanzi tutto capire quando ci serve una funzione ricorsiva. All’interno di una funzione ricorsiva, generalmente, compare una struttura di selezione. Questo è importante perchè altrimenti il programma non potrebbe mai uscire dal ciclo di ripetizione della funzione.

Un esempio di utilità della ricorsione è, ad esempio, nella funzione fattoriale. Noi dobbiamo ripetere i prodotti finchè il fattore non è 0. Quando sarà 0 daremo per scontato 1. Anzichè un esempio pratico (comunque il fattoriale si può ottenere con un ciclo for a STEP negativi), preferisco darvi un esempio piuttosto generico di funzione ricorsiva.

Inizio Funzione ricorsiva (a : tipo) : tipo

SE (a > 0) ALLORA
ricorsiva = ricorsiva ((a – 1)/2)
ALTRIMENTI
ricorsiva = 1
FINE SE

FINE

Possiamo notare come grazie al controllo SE (o IF), possiamo far si che solo ad una determinata condizione si ripeta la funzione stessa.

E con questo chiudiamo la serie di capitoli sulle funzioni. Se avete dubbi, richieste di chiarimenti o desiderate confrontarvi, lasciateci un commento. Dal prossimo capitolo parleremo di Array e Matrici, e saranno i capitoli conclusivi di questa nostra guida.

 

 

Tags:

Lascia un commento