Sunteți pe pagina 1din 2

Numele si prenumele__________________________________Nota_________________ Data _____________

TEST DE VERIFICAREA CUNOSTINTELOR (X – C )


Semestrul II NR 1

1. Ce intelegeti prin subprogram?

2. Ce intelegeti prin parametrii actuali?

3. Functia m() are doi parametri reali si furmizeaza cea mai mica valoare dintre cei doi parametri. Care
dintre urmatoarele instructiuni afiseaza cea mai mica valoare dintre a, b si c
a) cout<<m(a,b,c); b) cout<<m(m(a,b),m(b,c)); d)
cout<<m(m(a,b),c);

4. Ce valori vor fi afisate in urma executarii urmatorului program


# include<iostream.h> void p(int &a,int &b) Void main()
int x,y; {int x; x = a*b; a = a+ x; b = a+x; {x=5; y=10; p(x,y);
cout<<a<<’ ‘<<b<<’ ‘;} cout<<x<<’ ‘<<y;)
a) 55 105 50 105 b) 55 55 50 55 c) 55 105 50 55 d) 55 105 55 105

5. Consideram subprogramul urmator:


Int p(int &x) While (x!=0)
{ int s=0; {s+=x%2; x/=2;} return s)
Consideram ca variabila intreaga n, declarata global, are valoarea 32. Ce se va fisa in urma apelului
cout<<p(n) + p(n)+1?
a) 2 b) 3 c) 4 d) 1

6. Ce va afisa urmatorul program?


# include<iostream.h> void g(int &a, int b) void main()
void f(int a, int &b) {b++; a=b; a++;} {int x,y; x=4;x=-2;
{a++; b=a; b++;} f(x,y); g(y,x);
cout<<x<<”,”<<y;}
a) 6, 7 b) 6, -2 c) 6, 6 d)4, 6

II
1. Se considera un vector cu n componente numere naturale mai mici sau egale cu 6000. Sa se realizeze un
care program care afiseaza numarul sau numerele care au cel mai mare numar de cifre de 1 in
descompunerea in baza 2. Se vor folosi subprograme pentru rezolvarea problemei. Ex pentru n=5 si
tabloul (12, 23, 26, 45, 14) subprogramul va returna valoarile 23 si 45, pentru ca au acelasi numar de
cifre de 1).

Barem de corectare
I.
Subiectul II. Oficiu
1 2 3 4 5 6
punctaj 10 10 10 10 10 10 30 10
Numele si prenumele__________________________________Nota_________________ Data _____________
TEST DE VERIFICAREA CUNOSTINTELOR (X – C )
Semestrul II NR 2

1. Ce este o functie procedurala?

2. Ce sunt parametrii formali?

3. Se considera ca urmatoarea functie furnizeaza cel mai mare divizor comun a doua numere transmise ca
parametru.
int cmmdc(int a, int b) a-=b; else b-=a;
(while (….) return a;}
if (a>b) Ce conditie trebuie scrisa in instructiunea while
?
a) a>b b) a!=b c) a==b d) a<b

4. Ce valori vor fi afisate in urma executarii urmatorului program


#include<iostream.h> void main ()
int n=21987; { cout<<cif(n)+cif(n);}
int cif (int &x)
{ int c; c=x % 10; x=x/10; return (c+x%10)%10;}
a)12 b)10 c) 32 d) 30

5. Cate elemente divizibile cu 10 se vor afisa in urma executarii programului urmator


#include<iostream.h> void main()
int f(int &y, int x) int x=101, y=10;
{ y=y/10 + x; cout<<f(x,y)<<” “;
return x+y;} cout<<x<<” “<<y<<” “; cout<<f(x,y);}
a) 1 b) 2 c) 3 d) 4

6. Fie doua functii suma si prod care calculeaza suma, respective produsul numerelor intregi x, y ce le sunt
transmise ca parametri. Antetul celor doua functii este indicat mai jos:
int suma(int x, int y) si int prod(int x, int y)
fie variabilele a, b, c de tip intreg care dintre expresiile de mai jos calculeaza valoarea expresiei
(a+b)*(a+c)*(b+c)
a) prod(suma(a,b),suma(a,c),suma(b,c)) b)prod(suma(a,b),prod(suma(a,c),suma(b,c)))
c) prod(prod(suma(a,b),suma(a,c),prod(suma(b,c),suma(a,b)))

II.
1. Se considera un vector cu n componente numere naturale. Sa se realizeze un program care afiseaza
toate elementele sirului care contin un numar maxim de cifre. Se vor folosi subprograme pentru rezolvarea
problemei

Barem de corectare
I.
Subiectul II. Oficiu
1 2 3 4 5 6
punctaj 10 10 10 10 10 10 30 10

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