Sunteți pe pagina 1din 2

Nume....................................... Clasa......................... Data...................

Test
1.Precizaţi ce valori se vor afişa, în ordine, în urma execuţiei funcţiei recursive afişare, dacă primul apel
(cel din main) este afişare(2).
void afisare( int k){ if(k<6){ cout<<2*k-1; afisare(k+1);}} ...........................................(1p)

2. Se consideră următoarea funcţie: int ce( int i){ if(i<=1)return i; else ce(i-2)+i;}
Ce valoare va returna ce(5) ? .......................................... (1p)

3.Care este valoarea returnată de funcţia următoare, la apelul f(4) ?


int f( int x){ if(x<=0) return 3; else f(x-1)*2; } .......................................... (1p)

4. Se consideră funcţia definită recursiv:


int ce( int i){ if (i==0) return 0; else ce(i-2)+2*i;}
Ce valoare va returna ce(6) ? .......................................... (1p)

5. Modificați programul Turnurile din Hanoi(care mută n discuri de pe țărușul A pe B) astfel încât să
numere de câte ori a fost mutat un disc de pe țărușul A pe C. (2p)

6. Fiind dată o matrice dreptunghiulară ce conține doar 1 și 0 determinați cea mai mare zonă
dreptunghiulară ce conține doar cifre de 0 folosind divide et impera. (3p)

7. Scrieți un program care, folosind divide et impera, calculează radical de ordinul 3 dintr-un număr
primit ca parametru cu o precizie de o miime. (3p)

8. Scrieți un program care determină, folosind divide et impera, câte numere pare sunt într-un vector de
numere întregi. (2p)

Alegeți și încercuiți problemele pe care decideți să le rezolvați, astfel încât suma punctajelor să nu
depășească 9. Se acordă un punct din oficiu.
Nume....................................... Clasa......................... Data...................

Test
1.Precizaţi ce valori se vor afişa, în ordine, în urma execuţiei funcţiei recursive afişare, dacă primul apel
(cel din main) este afişare(2).
void afisare( int k){ if(k<6){ cout<<2*k+1; afisare(k+1);}} ...........................................(1p)

2. Se consideră următoarea funcţie: int ce( int i){ if(i<=1)return i; else ce(i-2)+i;}
Ce valoare va returna ce(6) ? .......................................... (1p)

3.Care este valoarea returnată de funcţia următoare, la apelul f(5) ?


int f( int x){ if(x<=0) return 3; else f(x-2)*2; } .......................................... (1p)

4. Se consideră funcţia definită recursiv:


int ce( int i){ if (i==0) return 0; else ce(i-1)+2*i;}
Ce valoare va returna ce(5) ? .......................................... (1p)

5. Modificați programul Turnurile din Hanoi(care mută n discuri de pe țărușul A pe B) astfel încât să
numere de câte ori a fost mutat un disc de pe țărușul A pe B. (2p)

6. Fiind dată o matrice dreptunghiulară ce conține doar 1 și 0 determinați cea mai mare zonă
dreptunghiulară ce conține doar cifre de 1 folosind divide et impera. (3p)

7. Scrieți un program care, folosind divide et impera, calculează radical de ordinul 3 dintr-un număr
primit ca parametru cu o precizie de o miime. (3p)

8. Scrieți un program care determină, folosind divide et impera, câte numere impare sunt într-un vector de
numere întregi. (2p)

Alegeți și încercuiți problemele pe care decideți să le rezolvați, astfel încât suma punctajelor să nu
depășească 9. Se acordă un punct din oficiu.

S-ar putea să vă placă și