Estratto del documento

Ricorsione

Definizione: “La ricorsione è un procedimento tramite cui definiamo un’entità in termini di sé stessa.”

Esempi

  • Broccolo romanesco
  • Triangolo di Sierpinsky
  • Fotografia con all’interno uno specchio

Usiamo la ricorsività anche in matematica, ad esempio per il fattoriale o per le prove per induzione.

Dato che la ricorsione esiste nella natura, nella realtà, è necessario introdurla anche nei linguaggi di programmazione.

La ricorsività in C è definita come una funzione che invoca sé stessa. Nella pratica, abbiamo bisogno di alcuni elementi:

  • Caso base, di partenza: ad esempio per il fattoriale 0!=1 oppure x0 = 1
  • Passo ricorsivo: la funzione chiama sé stessa, sempre per il fattoriale: n! = n*(n-1)!
  • Costruzione della soluzione: costruiamo la soluzione sulla base della chiamata delle n ricorsioni, fino ad arrivare al caso base, nel caso del fattoriale, n(n-1)(n-2)*....*0!

Uso della memoria nella programmazione ricorsiva

  • La programmazione ricorsiva comporta spesso un uso inefficiente della memoria per la gestione degli spazi di lavoro delle chiamate generate
  • In alcuni casi viene comunque preferita ad altri approcci per la sua eleganza e semplicità
  • In altri casi si può ricorrere ad implementazioni iterative

Fattoriale e ricorsione in C

lo fattoriale= base 81071casa

Ricorsione ) 1)gluglu n= -

In C: iterazione che già visto iterativa avevamo soluzione distingue con fattoriale si da [ ,include tdio.li# > ( ) intint fattoriale ricorsiva n ;-)(int )mainint 8;num ,i " "Tod )&(sceaug num ;, )(fattoriale ricorsivolo ;num= _ "d )" % 8(printf & ; #, }& fattoriale ricorsivoi _(a)! n }

fattoriale D= Si(ricorsivo1. ←- :fattorereturn :0 ; -1-1=1} (1)1fattoriale (1)2. ricorsivo = '- ÷2.1=2= (2)n""i. ÷ ÷ .- (2)fattoriale ricorsivo3. Se= 6c-- fattoriale ricorsivoint fr 3.2=6; = _(3)})(if -0n = fIn 1 ;_-} 3}che )(fattoriale ricorsivofren 1* ;n -_} frreturn ;} scriverlo modo più di Esiste compatto: un })( modo fatt nic questointint i

Anteprima
Vedrai una selezione di 3 pagine su 8
Ricorsione Pag. 1 Ricorsione Pag. 2
Anteprima di 3 pagg. su 8.
Scarica il documento per vederlo tutto.
Ricorsione Pag. 6
1 su 8
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher kevinziroldi di informazioni apprese con la frequenza delle lezioni di Fondamenti di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Milano o del prof Mirandola Raffaela.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community