Sunteți pe pagina 1din 2

R1

1. (2p) Se consider urmtorul subprogram:


int f(int n)
{
if (n==0) return 0;
else return f(n-1)+n;
}
a) Ce se afieaz la apelul f(10)? Dar la apelul f(100)?
b) Ce realizeaz subprogramul?

Raspuns: f(10)=55
f(100)=5050
Calculeaz suma n+(n-1)+(n-2)+.....+2+1

2. (2p) Se consider urmtorul subprogram:


int f(int a,int b)
{
if (b==1) return a;
else return a+f(a,b-1);
}
a) Ce se afieaz la apelul f(4,5)?
b) Ce realizeaz subprogramul?

Raspuns: f(4,5)=20
Calculeaz 4+4+4+4+4 de 5 ori, adic 4X5.

3. (1p) Descriei pe scurt metoda Divide et Impera.

4. (1p) Notai cu A-Adevrat sau F-Fals:


Metoda Divide et Impera mparte problema n dou subprobleme.
Metoda Divide et Impera nu se poate aplica tablourilor unidimensionale.
Metoda Divide et Impera const n descompunerea n dou sau mai multe probleme mai
simple.
Metoda Divide et Impera se aplic numai problemelor iterative.

Raspuns: FFAF
R2
1. (2p) Se consider urmtorul subprogram:
int f(int n)
{
if (n<=0) return 0;
else return f(n-2)+n;
}
a) Ce se afieaz la apelul f(10)? Dar la apelul f(100)?
b) Ce realizeaz subprogramul?

Raspuns: f(10)=30
f(100)=2550
Calculeaz suma n+(n-2)+....4+2 dac n-par sau n+(n-2)+....3+1 dac n-impar.

2. (2p) Se consider urmtorul subprogram:


int f(int a,int b)
{
if (b==1) return a;
else return a+f(a,b-1);
}
a) Ce se afieaz la apelul f(5,4)?
b) Ce realizeaz subprogramul?

Raspuns: f(5,4)=20
Calculeaz 5+5+5+5 de 4 ori, adic 5X4

3. (1p) Descriei pe scurt metoda Divide et Impera.

4. (1p) Notai cu A-Adevrat sau F-Fals:


Metoda Divide et Impera nu se poate aplica problemelor iterative.
Metoda Divide et Impera combin soluiile tuturor subproblemelor n soluia final.
Soluiile obinute dup aplicarea metodei Divide et Impera sunt reinute ntr-o matrice
ptratic dup care acestea se combin.
Metoda Divide et Impera mparte problema ntr-o infinitate de subprobleme.

Raspuns: FAFF