Piero Scotto - C14 1
C14 #7 Do While – BreakFunzioni ricorsive
Piero Scotto - C14 2
Finalità del corso
Finalità del corso
Finalità del corso
Finalità del corso
Finalità del corso
Piero Scotto - C14 3
Piero Scotto - C14 4
Piero Scotto - C14 5
Piero Scotto - C14 6
Piero Scotto - C14 7
Piero Scotto - C14 8
Piero Scotto - C14 9
Piero Scotto - C14 10
Piero Scotto - C14 11
Piero Scotto - C14 12
Piero Scotto - C14 13
Piero Scotto - C14 14
Piero Scotto - C14 15
Piero Scotto - C14 16
Piero Scotto - C14 17
Piero Scotto - C14 18
7OL Esercizio N° 19 Olimpiadi 2010– La risposta vale 3 punti. Si consideri il seguente frammento di programma:int succ(int i) {if (i<=2)return(1);elsereturn(3*succ(i-1)+2*succ(i-2)-succ(i-3));}main() {printf("num=%d\n",succ(7));}Cosa viene visualizzato a video dall’esecuzione di main()?
Piero Scotto - C14 19
int succ(int i) {if (i<=2)return(1);elsereturn(3*succ(i-1)+2*succ(i-2)-succ(i-3));}main() { printf("num=%d\n",succ(7)); }La funzione succ è ricorsiva perché richiama se stessa. Per capirne il funzionamento possiamo inserire il numero 7 (che rappresenta i)
Piero Scotto - C14 20
int succ(int i) {if (i<=2)return(1);elsereturn(3*succ(i-1)+2*succ(i-2)-succ(i-3));}se i=7 (3*succ(6)+2*succ(5)-succ(4)) Ora ciascuna succ(n) richiama se stessa:succ(6)=3*succ(5)+2*succ(4)-succ(3)succ(5)=3*succ(4)+2*succ(3)-succ(2) con succ(2)=1succ(4)=3*succ(3)+2*succ(2)-succ(1) con succ(1)=1succ(3)=3*succ(2)+2*succ(1)-succ(0) con succ(0)=1succ(3)=3*1+2*1-1=4 da cui si calcolano le altre
Top Related