wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Recursia

Total questions: 10

Worksheet time: 5mins

Name
Class
Date
1.

Avem următorul algoritm recursiv:

F(0) = 1, F(1) = 1

F(n) = F(n–1) + F(n-2), n > 1

Cu ce este egală valoarea funcției F(7)?

În răspuns avem numai partea întreagă a numărului.

a)

25

b)

21

c)

35

d)

24

2.

Calcululul următorului membru al progresiei aritmetice este prezentat prin algoritmul recursiv?

a)

da

b)

nu

c)

uneori

3.

Avem următorul algoritm recursiv:

F(1)= 1; F(2)=1;

F(n) = F(n-2) * n, n >2.

Cu ce este egală valoarea funcției F(7)? În răspuns avem numai

numărul natural.

a)

87

b)

105

c)

93

d)

117

4.

Avem următorul algoritm recursiv:

F(1) = 1

F(2) = 2

F(n) = F(n–1) − F(n–2) + 2 * n, n >2

Cu ce este egală valoarea funcției F(6)?

a)

14

b)

1

c)

16

d)

15

5.

Se consideră funcţia f definită recursiv. Ce va returna f(5)? int f(int i)

{

if (i==0) return 0;

if(i%2==0) return f(i-1)+i;

else return f(i-1)-i;

}

a)

-4

b)

-3

c)

0

d)

3

6.

Se consideră funcţia f definită recursiv.

Ce va returna f(6)?

int f(int x)

{

if(x<=1) return x;

else return f(x-2)+x;

}

a)

6

b)

8

c)

12

d)

15

7.

Se consideră funcţia f definită recursiv.

Ce va returna f(3)?

float f(int i)

{

if (i==0) return 0;

return f(i-1)+i*(i+1);

}

a)

15

b)

10

c)

20

d)

5

8.

Se consideră funcţia f definită recursiv.

Ce va returna f(10)?

int f(int x)

{

if(x<1) return 0;

else return f(x-3)+x;

}

a)

12

b)

14

c)

15

d)

22

9.

Găsiţi varianta corectă în funcţia de mai jos

a)

int suma(int i)

{

if (i==0) return 0;

else

if (a[i]%2==0)

return suma(i+1)+a[i]; else return suma(i-1);

}

b)

int suma(int i)

{

if (i==0) return 0;

else

if (a[i]%2==0)

return suma(i-1)+a[i]; else return suma(i-1);

}

c)

int suma(int i)

{

if (i==0) return 0;

else

if (a[i]%2!=0)

return suma(i+1)+a[i]; else return suma(i-1);

}

d)

int suma(int i)

{

if (i==0) return 0;

else

if (a[i]%2==0)

return suma(i+1)+a[i]; else return suma(i+1);

}

10.

Ce valori vor conţine variabilele x şi y pentru valorile iniţiale a=75, b=12,x=0,y=0, în urma executării funcţiei f?

void f(longa,long b,long &x,long &y) {

if (y>=b)

{

y=a-b; x++;

f((a-b,b,x,y);

}}

a)

x=0, y=5

b)

x=1, y=5

c)

x=0, y=0

d)

x=75, y=12