Anteprima
Vedrai una selezione di 1 pagina su 3
Esercizi con soluzione sul linguaggio C, Algoritmi Pag. 1
1 su 3
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

/*

1) Spiegare cosa fa la funzione f1 e dafinirne una versione ricorsiva f1_r:

int f1(int N1, int N2) {

int x = N1;

N1++;

while( N2 >= N1 ) {

x += N1;

N1++;

}

return x;

}

La funzione f1, ricevuti due interi N1 ed N2, calcola e restituisce la somma di

tutti gli interi appartenenti all'intervallo [N1, N2].

Una versione ricorsiva di f1 è la seguente:

int f1_r(int N1, N2) {

if( N1 == N2 )

return N1;

return ( N1 + f1_r(N1 + 1, N2) );

}

2) Spiegare cosa fa la funzione f2 e dafinirne una versione ricorsiva f2_r:

int f2(int a[], int N) {

int x = a[0];

int i = 1;

for( i = 1; i < N; i++ )

if( a[i] > x )

x = a[i];

return x;

}

La funzione f2, ricevuti un array di interi a ed un numero intero N, calcola e

restituisce il massimo tra i primi N elementi di a.

Una versione ricorsiva di f1 è la seguente:

int f2_r(int a[], int N) {

Dettagli
Publisher
A.A. 2014-2015
3 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher saimonlebone di informazioni apprese con la frequenza delle lezioni di Algoritmi e strutture dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi Roma Tre o del prof Patrignani Maurizio.