Sunteți pe pagina 1din 111

Ministerul Educaţiei al Republicii Moldova

Colegiul de Informatică din Chişinău


Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 11

Nume, Prenume______________________________ Data______________

I. Continuati fraza :  (6 puncte)


 Includerea fisierelor intr-un program se face cu ajutorul directivei __________________
 Pentru crearea iteratiei cu postconditie se utilizeaza instructiunea __________________
 Tipul si ordinea valorilor parametrilor actuali nu are importanta. Adevarat/ Fals
 Ce inseamna expresia int *a[3]  ;  _________________________________________
 Operatia & se numeste__________________________________________________
 Clasa de la care se creeaza mostenirea se numeste______________________________

Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


 int speed = 5;  char s1[]=”abcde”; int s[8]={1,2,7,0,4,11,8,5};
while ( speed < 60 )  char s2[]=”123”; int k;
speed += 10;  n=2; for(k=0;k<8;k++)
cout<<speed; strncpy(s1,s2, n); {
cout<<s1<<endl<<s2; s[k]-=3;
cout<<s[k]<<” “;
}

Raspuns (1punct): Raspuns (1 punct):


Raspuns (1 punct):
________________________ ___________________
___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________


4 (3 puncte) 5 (3 puncte) 6 (3 puncte)
int *p, *q; int p[5]={1,2,7,0,4}; int x=3,y=5;
int a=3; cout<<*(p+2)+3; if(x>y) x+=2;
float b=7.5; cout<<x<<' '<<y;
*p=a; *q=b;
Cout<<*p<<” “<<*q;

Raspuns (1 punct): Raspuns(1 punct): Raspuns(1 punct):


________________ ___________________ ___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)

void Test(int, int, int); Prototipul functiei


int main()
_______________________________
{
int a, b, c; Variabilele locale

_______________________________
Test(a, b, c);

}
void Test(int d, int e, int f)
{
int g,h;
} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include<iostream> patrat:: patrat (int temp)


using namespace std; {
class patrat a=temp;
{ }
private: float patrat:: p1()
int a; {
public: return 4*a;
int p1(); }
void patrat(); int main()
void patrat(int temp); {
~patra(); patrat *k;
}; k = new patrat (3);
patrat::patrat() cout<<k->p1();
{ } delete k;
patrat::~patrat() return 0;
{ } }

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza produsul unui sir de numere impare (1,3,5,7,…,n).
(6 puncte)

Puncte acumulate:________

VI. Scrieti functia care returneaza elementul minim a unui tabel unidimensional de numere intregi.
(8 puncte)

Puncte acumulate:________
VII. Scrieti ordinea operatorilor care vor elimina un elemet din stiva. Elementele stivei sunt
simboluri. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “dreptunghi” a carui cimpuri (domenii) sunt lungimile laturilor dreptunghiului.
Clasa trebuie sa contina metode pentru calcularea perimetrului, ariei si diagonalelor dreptunghiului.
Creati constructorul cu doi parametri a tipului intreg (dimensiunile drreptunghiului), ce poate fi
utilizat ca constructor implicit. Creati destructorul. (15 puncte)
Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:

Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.
Ministerul Educaţiei al Republicii Moldova
Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 12

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)

 Ce inseamna expresia  : p=new (int) ; _________________________________________


 Pentru crearea iteratiei cu preconditie se utilizeaza instructiunea __________________
 Functiile trebuie sa aiba cel putin un parametru formal : Adevarat / Fals.
 Functia alipeste (concateneaza) doua siruri:__________________________________
 Afisarea in fisier se face cu ajutorul functiei:__________________________________
 Recursia se numeste______________________________________________________
Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


 int speed = 30;  char s1[]=”abcde”; int s[]={1,4,-1,8,-5};
while ( speed > 10 )  char s2[]=”123”; int k;
speed -= 5;  strcpy(s1,s2); for(k=0;k<5;k++)
cout<<speed cout<<s1<<endl<<s2 {
s [k]*=-1;
cout<<s[k]<<" ";
Raspuns (1punct): }
________________________
Raspuns (1 punct):
Raspuns (1 punct):
___________________
___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________


4 (3 puncte) 5 (3 puncte) 6 (3 puncte)
int *p, *q; int p[3][3]={{1,2,7},{0,4,1}, int x=3,y=5;
int a=2; {1,8,2}}; if(x>y) x-=2;
int b=5; cout<<*(*(p+1)+2); else y=0;
p=&a; q=&b; cout<<x<<' '<<y;
cout<<*p+1<<" "<<*q-2;

Raspuns (1 punct): Raspuns(1 punct):


________________ Raspuns(1 punct): ___________________
___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)

int Test(float, float, float); Tipul rezultatului functiei


int main()
_______________________________
{
float a, b, c; Lista parametrilor actuali

_______________________________
cout<<Test(a, b, c);

}
int Test(float a1, float b1, float c1)
{
int g,h;
} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include<iostream> patrat:: patrat (int temp)


using namespace std; {
class patrat a=temp;
{ }
private: float patrat:: p2()
int a; {
public: return 4*a;
int p2 (); }
patrat (); int main()
patrat (int temp); {
~ patrat (); patrat *k;
}; k = new patrat (5);
void patrat:: patrat () cout<<k->p2();
{ } delete k;
void patrat::~ patrat () return 0;
{ } }

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza suma numerelor impare divizibile cu 3.


(6 puncte)

Puncte acumulate:________

VI. Scrieti functia care returneaza numarul de elemente pozitive a unui tabel bidimensional de
numere intregi.
(8 puncte)

Puncte acumulate:________
VII. Scrieti ordinea operatorilor care vor elimina un element din coada. Elementele cozii sunt
simboluri. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “triunghi” a carui cimpuri (domenii) sunt lungimile laturilor triunghiului. Clasa
trebuie sa contina metode pentru calcularea perimetrului, ariei si tipul triunghiului (ehilateral, isoscel,
arbitrar). Creati constructorul cu trei parametri a tipului intreg (dimensiunile drreptunghiului), ce
poate fi utilizat ca constructor implicit. Creati destructorul.
(15 puncte)
Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:

Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.
Ministerul Educaţiei al Republicii Moldova
Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 13

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)


 Ce inseamna expresia : delete (pa) ; _________________________________________
 Cind se initializeaza contorul iteratiei while: inainte / dupa cuvintul cheie while. Incercuiti
varianta corecta.
 Functia de afisare a datelor la ecran este : ______________________________________
 Functia copie sirul doi in primul sir:____________________________________________
 Pentru a avea acces la citirea din fisier trebuie declarata o variabila astfel:______________
 Variabila locala se numeste______________________________________________

Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


int speed = 5; char str[20]; int sum = 0;
do strcpy(str,"Hello int a[3][]={{0,1,2},{3,4,5},
{ world!"); {6,7,8}};
speed += 10; int m = strlen(str);  for (int i = 0; i < 3 ; ++i)
cout<<speed<<" "; cout<<m;  {
}    for (int j = 2; j < 3 ; j+
while ( speed < 50 ); +)
   {     sum += a[i][j];   }
 }
  cout << sum << endl;

Raspuns (1 punct): Raspuns (1punct): Raspuns (1 punct):


___________________ ________________________ ___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


int d=12,e=3,*d1,*e1; int p[]={1,2,7,0,4,-2}; int x=3,y=2;
d1=&d; e1=&e; cout<<*(p+3)+2; switch (2*x+1)
*d1+=*e1; {
cout<<*d1; case 3: cout<<x+1<<' '<<y+1; break;
case 5: cout<<x-1<<' '<<y-1; break;
case 7: cout<<2*x<<' '<<2*y; break;
default: cout<<x<<' '<<y; break;
}
Raspuns (1 punct): Raspuns(1 punct):
________________ ___________________ Raspuns(1 punct):
___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)

int Test(float, float, float); Prototipul functiei


int main()
_______________________________
{
float a, b, c; Vaiabilele locale

_______________________________
cout<<Test(a, b, c);

}
int Test(float a1, float b1, float c1)
{
int g,h;
} Puncte acumulate:________
IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include <iostream.h> void main(void)


#include <string.h> { 
class employee   employee worker, boss; 
{    strcpy(worker.name, "John Doe"); 
private:    worker.employee_id = 12345; 
  char name [64];    worker.salary = 25000; 
  long employee_id;    strcpy(boss.name, "Happy Jamsa"); 
  float salary;    boss.employee_id = 101; 
  void show_employee(void)
  boss.salary = 101101.00; 
  { 
  worker.show_employee(); 
     cout <<"Имя: " << name << endl;  }
     cout <<"Номер: " << employee_id <<
endl; 
     cout <<"Оклад: " << salary << endl; 
   }; 
};

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza suma unui sir de numerelor impare (1+3+5+7+…+n, unde n
– numar natural).
(6 puncte)

Puncte acumulate:________
VI. Scrieti functia care returneaza produsul elementelor pozitive divizibile la 2 si 3 a unui tablou
unidimensional de numere intregi.
(8 puncte)

Puncte acumulate:________

VII. Sa se creeze o lista cu numere intregi folosind crearea prin adaugarea elementelor la inceputul
listei. Sa se afiseze continutul listei. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “patrat” a carui cimpuri (domenii) sunt lungimile laturilor patrulaterului. Clasa
trebuie sa contina metode pentru calcularea perimetrului, ariei si diagonala patratului. Creati
constructorul cu un parametru a tipului intreg (dimensiunile patratului), ce poate fi utilizat ca
constructor implicit. Creati destructorul.
(15 puncte)
Puncte acumulate:________
Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:

Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.
Ministerul Educaţiei al Republicii Moldova
Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 14

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)


 Ce inseamna expresia: float **q[10]  ; _______________________________________
 Operatorul && este pentru: ______________________________________________
 Functia de scriere a datelor este : ___________________________________________
 Functia copie sirul doi in primul sir:_________________________________________
 Pentru a inchide un fisier se utilizeaza instructiunea:____________________________
 Variabila globala se numeste______________________________________________

Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


int speed = 5; char str1[]="abc"; struct Foo
do char str2[]="abc1"; {
{ cout<<strcmp(str1,str2); int x=3;
speed += 10; int y=2;
cout<<speed<<" "; }f;
} Raspuns (1punct): if(f.x>f.y) f.x+=1;
while ( speed < 50 ); ________________________ else f.y-=1;

Raspuns (1 punct):
Raspuns (1 punct): ___________________
___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):
Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


int d=10,e=5,*d1,*e1; int p[2][3]={{1,2,7}, int x=12,y;
d1=&d; e1=&e; {0,3,5}}; if(x<-1) y=2*x;
*d1-=*e1; cout<<*(*(p+1)+2); else if (x<=5) y=x+3;
cout<<*d1; else if (x<12) y=x*x;
else y=2*x+3;
Raspuns (1 punct): cout<<x<<' '<<y;
________________ Raspuns(1 punct):
___________________ Raspuns(1 punct):
___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)

float Test(int, char, int); Operatorul apelarii functiei


int main()
_______________________________
{
int a, c; char b; Tipul variabilelor locale

_______________________________
cout<<Test(a, b, c);

}
void Test(int x, char y, int z)
{
int t,t1;
} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include <iostream.h> void main(void)


#include <string.h> { 
class employee   employee worker, boss; 
{    strcpy(worker.name, "John Doe"); 
private:    worker.employee_id = 12345; 
  char name [64];    worker.salary = 25000; 
  long employee_id; 
  float salary;    strcpy(boss.name, "Happy Jamsa"); 
  void show_employee(void)   boss.employee_id = 101; 
  {    boss.salary = 101101.00; 
     cout <<"Nume: " << name << endl;    worker.show_employee(); 
     cout <<"Numar: " << employee_id << }
endl; 
     cout <<"Salary: " << salary << endl; 
   }; 
};

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza numarul de numere pare a N numere intregi introduse de la
tastatura).
(6 puncte)

Puncte acumulate:________

VI. Scrieti functia care returneaza suma elementelor pozitive a diagonalelor unui tablou
bidimensional de numere intregi.
(8 puncte)
Puncte acumulate:________

VII. Sa se creeze o lista cu numere intregi folosind crearea prin adaugarea elementelor la inceputul
listei. Sa se afiseze suma elementelor listei. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “vector” alcatuit din elemente de tipul int. Clasa trebuie sa contina metode
pentru introducerea si extragerea elementelor si calcularea sumei elementelor. Creati constructorul cu
un parametru a tipului intreg (dimensiunile vectorului), ce poate fi utilizat ca constructor implicit.
Creati destructorul. (15
puncte)
Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:

Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.
Ministerul Educaţiei al Republicii Moldova
Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 15

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)

 Ce inseamna expresia: char *h[10]  ; _______________________________________


 Operatorul || este pentru: ______________________________________________
 Operatorul ternar este : ___________________________________________
 La apelul unei functii se specifica numele si tipul parametrilor actuali. Adevarat/ Fals.
 Arbore binar se numeste:____________________________
 Parametrii formali ai unei functii sunt:________________________________________
Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


int speed = 20; char str1[]="abc"; ifstream f;
do char str2[]="abc1"; f.open("dat.txt");
{ cout<<strncmp(str1,str2,2) int s=0,x;
speed -= 5; ; while(!f.eof())
cout<<speed<<" ";
}
while ( speed > 10 );

{
Raspuns (1 punct): Raspuns (1punct): f>>x;
___________________ ________________________ s+=x;
}
cout<<s;
f.close();
Raspuns (1 punct):
___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


int d=10,e=5,*d1,*e1; int p[3][3]={{1,2,7}, Cit va fi suma urmatoarei secvente de
d1=&d; e1=&e; {0,3,5},{0,1,8}}; program :
(*d1)++; *e1--; cout<<*(p[2]+1); s=0 ; do {s+=i ; i++ ;} while (i<=6);
cout<<*d1<<endl;

Raspuns(1 punct):
Raspuns (1 punct): ___________________ Raspuns(1 punct):
________________ ___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)

float Test(int, char, int); Tipul rezultatului functiei


int main()
_______________________________
{
int a, c; char b; Parametrii actuali

_______________________________
cout<<Test(a, b, c);

}
void Test(int x, char y, int z)
{
int t,t1;
} Puncte acumulate:________
IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include<iostream> int main()


class Students {
{ Students *student = new Students(2);
private: return 0;
Students(int default_score) }
{
for (int i = 0; i < 5; ++i)
{
scores[i] = default_score;
cout<< scores[i] <<” “;
}
}
public:
int scores[5];
};

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza suma unui sir de numere pare (2+4+6+...n, unde n – numar
natural). (6 puncte)

Puncte acumulate:________

VI. Scrieti functia care schimba toate vocalele alfabetului latin cu simbolul “*” si afiseaza la ecran
sirul obtinut. (8 puncte)
Puncte acumulate:________

VII. Sa se creeze o lista cu numere intregi folosind crearea prin adaugarea elementelor la inceputul
listei. Sa se afiseze elementul maxim al listei. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “matrice” alcatuit din elemente de tipul int. Clasa trebuie sa contina metode
pentru introducerea si extragerea elementelor si calcularea elementului minim. Creati constructorul cu
doi parametri a tipului intreg (dimensiunile matricei), ce poate fi utilizat ca constructor implicit.
Creati destructorul.
(15 puncte)
Puncte acumulate:________
Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:

Nota:

Profesorul_______________Gairunova N.
Şef de catedră______________Gabura N.

Ministerul Educaţiei al Republicii Moldova


Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 16

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)


 Ce inseamna expresia a=&k; ___________________________________________
 Operatorul || este pentru: ______________________________________________
 La apelul unei functii se specifica numele si tipul parametrilor actuali. Adevarat/ Fals
 O lista unidirectionala se numeste:__________________________________________
 Parametrii actuali ai unei functii sunt:________________________________________
 Functia main() este:_____________________________________________________

Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


int speed = 20; char s1[]="abc"; De cite ori va fi parcursa iteratia :
do char s2[]="defg";
{ cout<<strncpy(s1,s2,2); for (i=1 ; i<=7 ; i++) 
speed -= 5;
cout<<speed<<" ";
}
while ( speed > 10 );

Raspuns (1 punct): Raspuns (1punct):


___________________ ________________________ Raspuns (1 punct):
___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


Ce afiseaza urmatoarea int Cit va fi rezultatul
secventa de program : p[]={1,2,7,0,3,5,0,1,8}; variabilelor?
int *a,b,c ; main() cout<<*p+4; int a = 1, b = 2, c = 3, d =4, 
{a=new(int) ; pentru:
*a=2; a * b / ++ c  /d--            
b=3;
c=*a+b;
cout<<c;}

Raspuns(1 punct): Raspuns(1 punct):


Raspuns (1 punct): ___________________ ___________________
________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)


# include <iostream>
using namespace std;
int suma(int, int);
int a,b; Variabilele globale________________
int main()
{ cin>>a>>b; Variabilele locale_________________
cout<<suma(a, b)<<endl;
return 0;}
int suma(int u, int p)
{ return u+p;} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)
#include<iostream> int main()
class Students {
{ Students *student = new Students(2);
private: return 0;
Students(int default_score) }
{
for (int i = 0; i < 5; ++i)
{
scores[i] = default_score;
cout<< scores[i] <<” “;
}
}
public:
int scores[5];
};

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care afiseaza numarul oglinda (de exemplu pentru 2587, va fi afisat 7852).
(6 puncte)

Puncte acumulate:________

VI. Scrieti functia care rertuneaza cite elemente nule sint intr-un tablou bidimensional de numere
intregi. (8 puncte)
Puncte acumulate:________

VII. Sa se creeze o lista cu numere intregi folosind crearea prin adaugarea elementelor la sfirsitul
listei. Sa se afiseze elementul maxim al listei. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “matrice” alcatuit din elemente de tipul int. Clasa trebuie sa contina metode
pentru introducerea si extragerea elementelor si aflarea elementului maxim. Creati constructorul cu
doi parametri a tipului intreg (dimensiunile matricei), ce poate fi utilizat ca constructor implicit.
Creati destructorul.
(15 puncte)
Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:

Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.
Ministerul Educaţiei al Republicii Moldova
Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 17

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)


 Ce inseamna expresia float &k; ___________________________________________
 Operatorul || este pentru: ______________________________________________
 La apelul unei functii se specifica numele si tipul parametrilor actuali. Adevarat/ Fals
 O lista dublu inlantuita se numeste:__________________________________________
 Parametrii formali ai unei functii sunt:________________________________________
 Functia main() este:_____________________________________________________

Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


Cit va fi rezultatul urmatoarei char s1[]="abc"; De cite ori va fi parcursa iteratia :
expresii daca n=23 : char s2[]="defg";
int n, s=0, a; cout<<strncpy(s1,s2,2); for (i=1 ; i<=9 ; i++) 
while (n>0)
{a=n%10;
s+=a;
n/=10;}
cout<<s;

Raspuns (1 punct): Raspuns (1punct): Raspuns (1 punct):


___________________ ________________________ ___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


Ce afiseaza urmatoarea int Cit va fi rezultatul
secventa de program : p[]={1,2,7,0,3,5,0,1,8}; variabilelor?
int *a,b,c ; main() cout<<*p+4; int a = 1, b = 2, c = 3, d =4, 
{a=new(int) ; pentru:
*a=2; ++a * b-- / c + d            
b=3;
c=*a+b;
cout<<c;}

Raspuns (1 punct): Raspuns(1 punct): Raspuns(1 punct):


________________ ___________________ ___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)


# include <iostream>
using namespace std;
int suma(int, int);
int a,b; Tipul rezultatului functiei____________
int main()
{ cin>>a>>b; Variabilele locale_________________
cout<<suma(a, b)<<endl;
return 0;}
int suma(int u, int p)
{ return u+p;} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include<iostream> int main()


class Students {
{ Students *student = new Students(2);
private: return 0;
Students(int default_score) }
{
for (int i = 0; i < 5; ++i)
{
scores[i] = default_score;
cout<< scores[i] <<” “;
}
}
public:
int scores[5];
};

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care afiseaza numarul oglinda (de exemplu pentru 2587, va fi afisat 7852).
(6 puncte)

Puncte acumulate:________

VI. Scrieti functia care rertuneaza cite elemente negative sint intr-un tablou unidimensional de
numere reale. (8 puncte)
Puncte acumulate:________

VII. Sa se creeze o lista cu numere intregi folosind crearea prin adaugarea elementelor la sfirsitul
listei. Sa se calculeze si afiseze suma elementelor. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “matrice” alcatuit din elemente de tipul int. Clasa trebuie sa contina metode
pentru introducerea si extragerea elementelor si aflarea elementului maxim. Creati constructorul cu
doi parametri a tipului intreg (dimensiunile matricei), ce poate fi utilizat ca constructor implicit.
Creati destructorul.
(15 puncte)
Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:

Nota:
Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.

Ministerul Educaţiei al Republicii Moldova


Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 18

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)


 Ce inseamna expresia float &k; ___________________________________________
 Operatorul || este pentru: ______________________________________________
 Recursia se numeste______________________________________________________
 O lista dublu inlantuita se numeste:__________________________________________
 Functia alipeste (concateneaza) doua siruri:__________________________________
 Functia main() este:_____________________________________________________

Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


for(int i=2;i<7;i=i+2) char s1[]="abc"; int sum = 0;
cout<<3*i-2<<" "; char s2[]="de"; int a[3][3]={{0,1,2},{5,4,3},
cout<<strcpy(s1,s2); {8,6,7}};
for (int i = 1; i < 3 ; ++i)
{
for (int j = 1; j < 3 ; j+
+)
{ sum += a[i][j]; }
}
cout << sum << endl;

Raspuns (1 punct): Raspuns (1punct):


___________________ ________________________ Raspuns (1 punct):
___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


int a = 6; int s[10], i; int x=3,y;
int *p; int k=4; if(x<1) y=2*x;
p= &a; for(i=0;i<10;i++) else if (x<=4) y=x+4;
*p=3; s[i]=2*i; else if (x<8) y=x*x;
cout << a << ' ' << *p << cout<<*s+k<<endl; else y=2*x+3;
endl; cout<<x<<' '<<y;

Raspuns (1 punct):
________________ Raspuns(1 punct): Raspuns(1 punct):
___________________ ___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)


# include <iostream>
using namespace std;
int suma(int, int);
int a,b; Tipul rezultatului functiei____________
int main()
{ cin>>a>>b; Variabilele globale_________________
cout<<suma(a, b)<<endl;
return 0;}
int suma(int u, int p)
{ return u+p;} Puncte acumulate:________
IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include<iostream> int main()


class patrat {
{ patrat *k;
private: k = new patrat (6);
int a; k.show();
public: delete k;
patrat (int t=1):a(t){} return 0;
~ patrat (); }
void show();
};
patrat::~ patrat (){ }

void patrat:: show ( )


{
cout<<a<<" "<<4*a<<" "<<a*a;
}

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza ridicarea la putere a unui numar. (6 puncte)

Puncte acumulate:________

VI. Scrieti functia care inscrie intr-un fisier text datele despre 10 studenti (nume, prenume, grupa,
nota medie). Datele despre studenti se introduc de la tastatura. (8 puncte)
Puncte acumulate:________

VII. Sa se creeze o lista cu numere intregi folosind crearea prin adaugarea elementelor la sfirsitul
listei. Sa se calculeze si afiseze suma elementelor. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “grup de prieteni”, cimpurile careia sunt alcatuite din- nume, prenume, virsta
fiecaruia din prieteni. Clasa trebuie sa contina metode pentru introducerea si extragerea elementelor si
aflarea virstei medii fiecarui prieten. Creati constructorul cu trei parametri. Creati destructorul.
(15 puncte)
Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:

Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.
Ministerul Educaţiei al Republicii Moldova
Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 19

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)


 Ce inseamna expresia: int *k[10]  ; _______________________________________
 Operatorul || este pentru: ______________________________________________
 Operatorul ternar este : ___________________________________________
 La apelul unei functii se specifica numele si tipul parametrilor actuali. Adevarat/ Fals.
 Arbore binar se numeste:_____________________________________________
 Parametrii formali ai unei functii sunt :_____________________________________
Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.
1 (3 puncte) 2 (3 puncte) 3 (3 puncte)
for(int m=5;m>=1;m--) char s1[]="abc"; int sum = 0;
cout<<m<<" "; char s2[]="de"; int a[3][3]={{1,0,2},{5,4,3},
cout<<strcat(s1,s2); {8,6,7}};
for (int i = 1; i < 3 ; ++i)
{
sum += a[i][i];
}
cout << sum << endl;

Raspuns (1 punct):
Raspuns (1 punct): Raspuns (1punct): ___________________
___________________ ________________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


int a = 6; int s[10], i; int x=28;
int *p; int k=5; switch (x%2)
p= &a; for(i=0;i<10;i++) {
cout << a << ' ' << *p; s[i]=2*i; case 0: cout<<2*x-7; break;
cout<<*(s+k)<<endl; case 1: cout<<x/4; break;
}
Raspuns (1 punct):
________________

Raspuns(1 punct): Raspuns(1 punct):


___________________ ___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)

# include <iostream>
using namespace std;
int suma(int, int);
int a,b; Numele functiei____________
int main()
{ cin>>a>>b; Parametrii actuali_________________
cout<<suma(a, b)<<endl;
return 0;}
int suma(int u, int p)
{ return u+p;} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include<iostream> int main()


class patrat {
{ patrat *k;
private: k = new patrat (6);
int a; k.show();
public: delete k;
patrat (int t=1):a(t){} return 0;
~ patrat (); }
void show();
};
patrat::~ patrat (){ }

void patrat:: show ( )


{
cout<<a<<" "<<4*a<<" "<<a*a;
}

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza cel mai mare divizor comun a doua numere naturale a si b.
(6 puncte)

Puncte acumulate:________

VI. Scrieti functia care returneaza numarul de vocale intr-un sir de simboluri (se includ in sir litere
mari si mici ale alfabetului latin). (8 puncte)
Puncte acumulate:________

VII. Sa se creeze o lista cu numere intregi folosind crearea prin adaugarea elementelor la sfirsitul
listei. Sa se afiseze elementele negative. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “grupa de studenti”, cimpurile careia sunt alcatuite din - nume, prenume, nota
medie fiecaruia din studenti. Clasa trebuie sa contina metode pentru introducerea si extragerea datelor
si aflarea medii grupei intregi. Creati constructorul cu trei parametri. Creati destructorul.
(15 puncte)
Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:

Nota:

Profesorul_______________Gairunova N.
Şef de catedră______________Gabura N.

Ministerul Educaţiei al Republicii Moldova


Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 20

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)


 Ce inseamna expresia float &k; ___________________________________________
 Operatorul || este pentru: ______________________________________________
 La apelul unei functii se specifica numele si tipul parametrilor actuali. Adevarat/ Fals
 O lista dublu inlantuita se numeste:__________________________________________
 Parametrii formali ai unei functii sunt:________________________________________
 Functia main() este:_____________________________________________________

Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


for(int m=5;m>1;m--) char s1[]="abc"; int sum = 0;
cout<<2*m<<" "; char s2[]="defgh"; int a[3][3]={{1,0,2},{5,4,3},
cout<<strncat(s1,s2,3); {8,6,7}};
for (int i = 1; i < 3 ; ++i)
{
sum += a[i][i];
}
cout << sum << endl;
Raspuns (1 punct): Raspuns (1punct): Raspuns (1 punct):
___________________ ________________________ ___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


int a = 5; int s[10], i; int x=5,y;
int *p = &a; int k=5; if(x<1) y=2*x;
cout << a << ' ' << *p << for(i=0;i<10;i++) else if (x<=4) y=x+1;
endl; s[i]=2*i; else if (x<10) y=x*x;
cout<<*(s+k)<<endl; else y=2*x+3;
cout<<x<<' '<<y;
Raspuns (1 punct):
________________

Raspuns(1 punct): Raspuns(1 punct):


___________________ ___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)

# include <iostream>
using namespace std;
int prod(int, int);
int n,m; Numele functiei____________
int main()
{ cin>>n>>m; Variabilele locale_________________
cout<<prod(n,m)<<endl;
return 0;}
int prod(int n, int m)
{ return n*m;} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include<iostream> int main()


class patrat {
{ patrat *k;
private: k = new patrat (6);
int a; k.show();
public: delete k;
patrat (int t=1):a(t){} return 0;
~ patrat (); }
void show();
};
patrat::~ patrat (){ }

void patrat:: show ( )


{
cout<<a<<" "<<4*a<<" "<<a*a;
}

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza cite cifre contine un numar natural n. (6 puncte)

Puncte acumulate:________

VI. Scrieti functia care returneaza elementul minim a unui tablou bidimensional. (8 puncte)
Puncte acumulate:________

VII. Sa se creeze o lista cu numere intregi folosind crearea prin adaugarea elementelor la inceputul
listei. Sa se afiseze elementele pozitive. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “produse”, cimpurile careia sunt alcatuite din - denumire, cantitate, pretul
fiecaruia din produse. Clasa trebuie sa contina metode pentru introducerea si extragerea sumei totale
a preturilor produselor. Creati constructorul cu trei parametri. Creati destructorul.
(15 puncte)
Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:
Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.

Ministerul Educaţiei al Republicii Moldova


Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 21

Nume, Prenume______________________________ Data______________

I. Continuati fraza :  (6 puncte)


 Includerea fisierelor intr-un program se face cu ajutorul directivei __________________
 Pentru crearea iteratiei cu postconditie se utilizeaza instructiunea __________________
 Tipul si ordinea valorilor parametrilor actuali nu are importanta. Adevarat/ Fals
 Ce inseamna expresia int *a[3]  ;  _________________________________________
 Operatia & se numeste__________________________________________________
 Clasa de la care se creeaza mostenirea se numeste______________________________

Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


 int speed = 5;  char s1[]=”abcde”; int s[8]={1,2,7,0,4,11,8,5};
while ( speed < 60 )  char s2[]=”123”; int k;
speed += 10;  n=2; for(k=0;k<8;k++)
cout<<speed; strncpy(s1,s2, n); {
cout<<s1<<endl<<s2; s[k]-=3;
cout<<s[k]<<” “;
}

Raspuns (1 punct): Raspuns (1punct): Raspuns (1 punct):


___________________ ________________________ ___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


int *p, *q; int p[5]={1,2,7,0,4}; int x=3,y=5;
int a=3; cout<<*(p+2)+3; if(x>y) x+=2;
float b=7.5; cout<<x<<' '<<y;
*p=a; *q=b;
Cout<<*p<<” “<<*q;

Raspuns (1 punct): Raspuns(1 punct): Raspuns(1 punct):


________________ ___________________ ___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)

void Test(int, int, int); Prototipul functiei


int main()
_______________________________
{
int a, b, c; Variabilele locale

_______________________________
Test(a, b, c);

}
void Test(int d, int e, int f)
{
int g,h;
} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include<iostream> patrat:: patrat (int temp)


using namespace std; {
class patrat a=temp;
{ }
private: float patrat:: p1()
int a; {
public: return 4*a;
int p1(); }
void patrat(); int main()
void patrat(int temp); {
~patra(); patrat *k;
}; k = new patrat (3);
patrat::patrat() cout<<k->p1();
{ } delete k;
patrat::~patrat() return 0;
{ } }

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza produsul unui sir de numere impare (1,3,5,7,…,n).
(6 puncte)

Puncte acumulate:________

VI. Scrieti functia care returneaza elementul minim a unui tabel unidimensional de numere intregi.
(8 puncte)
Puncte acumulate:________

VII. Scrieti ordinea operatorilor care vor elimina un elemet din stiva. Elementele stivei sunt
simboluri. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “dreptunghi” a carui cimpuri (domenii) sunt lungimile laturilor dreptunghiului.
Clasa trebuie sa contina metode pentru calcularea perimetrului, ariei si diagonalelor dreptunghiului.
Creati constructorul cu doi parametri a tipului intreg (dimensiunile drreptunghiului), ce poate fi
utilizat ca constructor implicit. Creati destructorul. (15 puncte)
Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:

Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.
Ministerul Educaţiei al Republicii Moldova
Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 22

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)

 Ce inseamna expresia  : p=new (int) ; _________________________________________


 Pentru crearea iteratiei cu preconditie se utilizeaza instructiunea __________________
 Functiile trebuie sa aiba cel putin un parametru formal : Adevarat / Fals.
 Functia alipeste (concateneaza) doua siruri:__________________________________
 Afisarea in fisier se face cu ajutorul functiei:__________________________________
 Recursia se numeste______________________________________________________
Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


 int speed = 30;  char s1[]=”abcde”; int s[]={1,4,-1,8,-5};
while ( speed > 10 )  char s2[]=”123”; int k;
speed -= 5;  strcpy(s1,s2); for(k=0;k<5;k++)
cout<<speed cout<<s1<<endl<<s2 {
s [k]*=-1;
cout<<s[k]<<" ";
Raspuns (1punct): }
Raspuns (1 punct): ________________________
___________________ Raspuns (1 punct):
___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


int *p, *q; int p[3][3]={{1,2,7},{0,4,1}, int x=3,y=5;
int a=2; {1,8,2}}; if(x>y) x-=2;
int b=5; cout<<*(*(p+1)+2); else y=0;
p=&a; q=&b; cout<<x<<' '<<y;
cout<<*p+1<<" "<<*q-2;

Raspuns (1 punct): Raspuns(1 punct):


________________ Raspuns(1 punct): ___________________
___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)

int Test(float, float, float); Tipul rezultatului functiei


int main()
_______________________________
{
float a, b, c; Lista parametrilor actuali

_______________________________
cout<<Test(a, b, c);

}
int Test(float a1, float b1, float c1)
{
int g,h;
} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include<iostream> patrat:: patrat (int temp)


using namespace std; {
class patrat a=temp;
{ }
private: float patrat:: p2()
int a; {
public: return 4*a;
int p2 (); }
patrat (); int main()
patrat (int temp); {
~ patrat (); patrat *k;
}; k = new patrat (5);
void patrat:: patrat () cout<<k->p2();
{ } delete k;
void patrat::~ patrat () return 0;
{ } }

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza suma numerelor impare divizibile cu 3.


(6 puncte)

Puncte acumulate:________

VI. Scrieti functia care returneaza numarul de elemente pozitive a unui tabel bidimensional de
numere intregi.
(8 puncte)
Puncte acumulate:________

VII. Scrieti ordinea operatorilor care vor elimina un element din coada. Elementele cozii sunt
simboluri. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “triunghi” a carui cimpuri (domenii) sunt lungimile laturilor triunghiului. Clasa
trebuie sa contina metode pentru calcularea perimetrului, ariei si tipul triunghiului (ehilateral, isoscel,
arbitrar). Creati constructorul cu trei parametri a tipului intreg (dimensiunile drreptunghiului), ce
poate fi utilizat ca constructor implicit. Creati destructorul.
(15 puncte)
Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:

Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.
Ministerul Educaţiei al Republicii Moldova
Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 23

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)


 Ce inseamna expresia : delete (pa) ; _________________________________________
 Cind se initializeaza contorul iteratiei while: inainte / dupa cuvintul cheie while. Incercuiti
varianta corecta.
 Functia de afisare a datelor la ecran este : ______________________________________
 Functia copie sirul doi in primul sir:____________________________________________
 Pentru a avea acces la citirea din fisier trebuie declarata o variabila astfel:______________
 Variabila locala se numeste______________________________________________

Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.
1 (3 puncte) 2 (3 puncte) 3 (3 puncte)
int speed = 5; char str[20]; int sum = 0;
do strcpy(str,"Hello int a[3][]={{0,1,2},{3,4,5},
{ world!"); {6,7,8}};
speed += 10; int m = strlen(str);  for (int i = 0; i < 3 ; ++i)
cout<<speed<<" "; cout<<m;  {
}    for (int j = 2; j < 3 ; j+
while ( speed < 50 ); +)
   {     sum += a[i][j];   }
 }
  cout << sum << endl;

Raspuns (1 punct): Raspuns (1punct): Raspuns (1 punct):


___________________ ________________________ ___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


int d=12,e=3,*d1,*e1; int p[]={1,2,7,0,4,-2}; int x=3,y=2;
d1=&d; e1=&e; cout<<*(p+3)+2; switch (2*x+1)
*d1+=*e1; {
cout<<*d1; case 3: cout<<x+1<<' '<<y+1; break;
case 5: cout<<x-1<<' '<<y-1; break;
case 7: cout<<2*x<<' '<<2*y; break;
default: cout<<x<<' '<<y; break;
}
Raspuns (1 punct): Raspuns(1 punct):
________________ ___________________ Raspuns(1 punct):
___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)

int Test(float, float, float); Prototipul functiei


int main()
_______________________________
{
float a, b, c; Vaiabilele locale

_______________________________
cout<<Test(a, b, c);

}
int Test(float a1, float b1, float c1)
{
int g,h;
} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include <iostream.h> void main(void)


#include <string.h> { 
class employee   employee worker, boss; 
{    strcpy(worker.name, "John Doe"); 
private:    worker.employee_id = 12345; 
  char name [64];    worker.salary = 25000; 
  long employee_id;    strcpy(boss.name, "Happy Jamsa"); 
  float salary;    boss.employee_id = 101; 
  void show_employee(void)
  boss.salary = 101101.00; 
  { 
  worker.show_employee(); 
     cout <<"Имя: " << name << endl;  }
     cout <<"Номер: " << employee_id <<
endl; 
     cout <<"Оклад: " << salary << endl; 
   }; 
};

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza suma unui sir de numerelor impare (1+3+5+7+…+n, unde n
– numar natural).
(6 puncte)
Puncte acumulate:________

VI. Scrieti functia care returneaza produsul elementelor pozitive divizibile la 2 si 3 a unui tablou
unidimensional de numere intregi.
(8 puncte)

Puncte acumulate:________

VII. Sa se creeze o lista cu numere intregi folosind crearea prin adaugarea elementelor la inceputul
listei. Sa se afiseze continutul listei. (10 puncte)

Puncte acumulate:________
VIII. Descrieti clasa “patrat” a carui cimpuri (domenii) sunt lungimile laturilor patrulaterului. Clasa
trebuie sa contina metode pentru calcularea perimetrului, ariei si diagonala patratului. Creati
constructorul cu un parametru a tipului intreg (dimensiunile patratului), ce poate fi utilizat ca
constructor implicit. Creati destructorul.
(15 puncte)

Puncte acumulate:________
Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:

Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.

Ministerul Educaţiei al Republicii Moldova


Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 24

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)


 Ce inseamna expresia: float **q[10]  ; _______________________________________
 Operatorul && este pentru: ______________________________________________
 Functia de scriere a datelor este : ___________________________________________
 Functia copie sirul doi in primul sir:_________________________________________
 Pentru a inchide un fisier se utilizeaza instructiunea:____________________________
 Variabila globala se numeste______________________________________________

Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


int speed = 5; char str1[]="abc"; struct Foo
do char str2[]="abc1"; {
{ cout<<strcmp(str1,str2); int x=3;
speed += 10; int y=2;
cout<<speed<<" "; }f;
} Raspuns (1punct): if(f.x>f.y) f.x+=1;
while ( speed < 50 ); ________________________ else f.y-=1;

Raspuns (1 punct):
Raspuns (1 punct): ___________________
___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


int d=10,e=5,*d1,*e1; int p[2][3]={{1,2,7}, int x=12,y;
d1=&d; e1=&e; {0,3,5}}; if(x<-1) y=2*x;
*d1-=*e1; cout<<*(*(p+1)+2); else if (x<=5) y=x+3;
cout<<*d1; else if (x<12) y=x*x;
else y=2*x+3;
Raspuns (1 punct): cout<<x<<' '<<y;
________________ Raspuns(1 punct):
___________________ Raspuns(1 punct):
___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)

float Test(int, char, int); Operatorul apelarii functiei


int main()
_______________________________
{
int a, c; char b; Tipul variabilelor locale

_______________________________
cout<<Test(a, b, c);

}
void Test(int x, char y, int z)
{
int t,t1;
} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include <iostream.h> void main(void)


#include <string.h> { 
class employee   employee worker, boss; 
{    strcpy(worker.name, "John Doe"); 
private:    worker.employee_id = 12345; 
  char name [64];    worker.salary = 25000; 
  long employee_id;    strcpy(boss.name, "Happy Jamsa"); 
  float salary;    boss.employee_id = 101; 
  void show_employee(void)
  boss.salary = 101101.00; 
  { 
  worker.show_employee(); 
     cout <<"Nume: " << name << endl;  }
     cout <<"Numar: " << employee_id <<
endl; 
     cout <<"Salary: " << salary << endl; 
   }; 
};

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza numarul de numere pare a N numere intregi introduse de la
tastatura).
(6 puncte)

Puncte acumulate:________

VI. Scrieti functia care returneaza suma elementelor pozitive a diagonalelor unui tablou
bidimensional de numere intregi.
(8 puncte)
Puncte acumulate:________

VII. Sa se creeze o lista cu numere intregi folosind crearea prin adaugarea elementelor la inceputul
listei. Sa se afiseze suma elementelor listei. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “vector” alcatuit din elemente de tipul int. Clasa trebuie sa contina metode
pentru introducerea si extragerea elementelor si calcularea sumei elementelor. Creati constructorul cu
un parametru a tipului intreg (dimensiunile vectorului), ce poate fi utilizat ca constructor implicit.
Creati destructorul. (15
puncte)

Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:

Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.

Ministerul Educaţiei al Republicii Moldova


Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 25

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)

 Ce inseamna expresia: char *h[10]  ; _______________________________________


 Operatorul || este pentru: ______________________________________________
 Operatorul ternar este : ___________________________________________
 La apelul unei functii se specifica numele si tipul parametrilor actuali. Adevarat/ Fals.
 Arbore binar se numeste:____________________________
 Parametrii formali ai unei functii sunt:________________________________________
Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.
1 (3 puncte) 2 (3 puncte) 3 (3 puncte)
int speed = 20; char str1[]="abc"; ifstream f;
do char str2[]="abc1"; f.open("dat.txt");
{ cout<<strncmp(str1,str2,2) int s=0,x;
speed -= 5; ; while(!f.eof())
cout<<speed<<" ";
}
while ( speed > 10 );

{
Raspuns (1 punct): Raspuns (1punct): f>>x;
___________________ ________________________ s+=x;
}
cout<<s;
f.close();

Raspuns (1 punct):
___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


int d=10,e=5,*d1,*e1; int p[3][3]={{1,2,7}, Cit va fi suma urmatoarei secvente de
d1=&d; e1=&e; {0,3,5},{0,1,8}}; program :
(*d1)++; *e1--; cout<<*(p[2]+1); s=0 ; do {s+=i ; i++ ;} while (i<=6);
cout<<*d1<<endl;

Raspuns(1 punct):
Raspuns (1 punct): ___________________ Raspuns(1 punct):
________________ ___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)


float Test(int, char, int); Tipul rezultatului functiei
int main()
_______________________________
{
int a, c; char b; Parametrii actuali

_______________________________
cout<<Test(a, b, c);

}
void Test(int x, char y, int z)
{
int t,t1;
} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include<iostream> int main()


class Students {
{ Students *student = new Students(2);
private: return 0;
Students(int default_score) }
{
for (int i = 0; i < 5; ++i)
{
scores[i] = default_score;
cout<< scores[i] <<” “;
}
}
public:
int scores[5];
};

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza suma unui sir de numere pare (2+4+6+...n, unde n – numar
natural). (6 puncte)
Puncte acumulate:________

VI. Scrieti functia care schimba toate vocalele alfabetului latin cu simbolul “*” si afiseaza la ecran
sirul obtinut. (8 puncte)

Puncte acumulate:________

VII. Sa se creeze o lista cu numere intregi folosind crearea prin adaugarea elementelor la inceputul
listei. Sa se afiseze elementul maxim al listei. (10 puncte)
Puncte acumulate:________

VIII. Descrieti clasa “matrice” alcatuit din elemente de tipul int. Clasa trebuie sa contina metode
pentru introducerea si extragerea elementelor si calcularea elementului minim. Creati constructorul cu
doi parametri a tipului intreg (dimensiunile matricei), ce poate fi utilizat ca constructor implicit.
Creati destructorul.
(15 puncte)

Puncte acumulate:________
Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:

Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.

Ministerul Educaţiei al Republicii Moldova


Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 26

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)


 Ce inseamna expresia a=&k; ___________________________________________
 Operatorul || este pentru: ______________________________________________
 La apelul unei functii se specifica numele si tipul parametrilor actuali. Adevarat/ Fals
 O lista unidirectionala se numeste:__________________________________________
 Parametrii actuali ai unei functii sunt:________________________________________
 Functia main() este:_____________________________________________________
Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


int speed = 20; char s1[]="abc"; De cite ori va fi parcursa iteratia :
do char s2[]="defg";
{ cout<<strncpy(s1,s2,2); for (i=1 ; i<=7 ; i++) 
speed -= 5;
cout<<speed<<" ";
}
while ( speed > 10 );

Raspuns (1 punct): Raspuns (1punct):


___________________ ________________________ Raspuns (1 punct):
___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


Ce afiseaza urmatoarea int Cit va fi rezultatul
secventa de program : p[]={1,2,7,0,3,5,0,1,8}; variabilelor?
int *a,b,c ; main() cout<<*p+4; int a = 1, b = 2, c = 3, d =4, 
{a=new(int) ; pentru:
*a=2; a * b / ++ c  /d--            
b=3;
c=*a+b;
cout<<c;}

Raspuns(1 punct): Raspuns(1 punct):


Raspuns (1 punct): ___________________ ___________________
________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________


III. Specificati in programul de mai jos (4 puncte)
# include <iostream>
using namespace std;
int suma(int, int);
int a,b; Variabilele globale________________
int main()
{ cin>>a>>b; Variabilele locale_________________
cout<<suma(a, b)<<endl;
return 0;}
int suma(int u, int p)
{ return u+p;} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include<iostream> int main()


class Students {
{ Students *student = new Students(2);
private: return 0;
Students(int default_score) }
{
for (int i = 0; i < 5; ++i)
{
scores[i] = default_score;
cout<< scores[i] <<” “;
}
}
public:
int scores[5];
};

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care afiseaza numarul oglinda (de exemplu pentru 2587, va fi afisat 7852).
(6 puncte)

Puncte acumulate:________

VI. Scrieti functia care rertuneaza cite elemente nule sint intr-un tablou bidimensional de numere
intregi. (8 puncte)

Puncte acumulate:________

VII. Sa se creeze o lista cu numere intregi folosind crearea prin adaugarea elementelor la sfirsitul
listei. Sa se afiseze elementul maxim al listei. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “matrice” alcatuit din elemente de tipul int. Clasa trebuie sa contina metode
pentru introducerea si extragerea elementelor si aflarea elementului maxim. Creati constructorul cu
doi parametri a tipului intreg (dimensiunile matricei), ce poate fi utilizat ca constructor implicit.
Creati destructorul.
(15 puncte)

Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9
Total puncte:

Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.

Ministerul Educaţiei al Republicii Moldova


Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 27

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)


 Ce inseamna expresia float &k; ___________________________________________
 Operatorul || este pentru: ______________________________________________
 La apelul unei functii se specifica numele si tipul parametrilor actuali. Adevarat/ Fals
 O lista dublu inlantuita se numeste:__________________________________________
 Parametrii formali ai unei functii sunt:________________________________________
 Functia main() este:_____________________________________________________

Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


Cit va fi rezultatul urmatoarei char s1[]="abc"; De cite ori va fi parcursa iteratia :
expresii daca n=23 : char s2[]="defg";
int n, s=0, a; cout<<strncpy(s1,s2,2); for (i=1 ; i<=9 ; i++) 
while (n>0)
{a=n%10;
s+=a;
n/=10;}
cout<<s;

Raspuns (1 punct): Raspuns (1punct): Raspuns (1 punct):


___________________ ________________________ ___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


Ce afiseaza urmatoarea int Cit va fi rezultatul
secventa de program : p[]={1,2,7,0,3,5,0,1,8}; variabilelor?
int *a,b,c ; main() cout<<*p+4; int a = 1, b = 2, c = 3, d =4, 
{a=new(int) ; pentru:
*a=2; ++a * b-- / c + d            
b=3;
c=*a+b;
cout<<c;}

Raspuns (1 punct): Raspuns(1 punct): Raspuns(1 punct):


________________ ___________________ ___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)


# include <iostream>
using namespace std;
int suma(int, int);
int a,b; Tipul rezultatului functiei____________
int main()
{ cin>>a>>b; Variabilele locale_________________
cout<<suma(a, b)<<endl;
return 0;}
int suma(int u, int p)
{ return u+p;} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include<iostream> int main()


class Students {
{ Students *student = new Students(2);
private: return 0;
Students(int default_score) }
{
for (int i = 0; i < 5; ++i)
{
scores[i] = default_score;
cout<< scores[i] <<” “;
}
}
public:
int scores[5];
};

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care afiseaza numarul oglinda (de exemplu pentru 2587, va fi afisat 7852).
(6 puncte)

Puncte acumulate:________

VI. Scrieti functia care rertuneaza cite elemente negative sint intr-un tablou unidimensional de
numere reale. (8 puncte)
Puncte acumulate:________

VII. Sa se creeze o lista cu numere intregi folosind crearea prin adaugarea elementelor la sfirsitul
listei. Sa se calculeze si afiseze suma elementelor. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “matrice” alcatuit din elemente de tipul int. Clasa trebuie sa contina metode
pentru introducerea si extragerea elementelor si aflarea elementului maxim. Creati constructorul cu
doi parametri a tipului intreg (dimensiunile matricei), ce poate fi utilizat ca constructor implicit.
Creati destructorul.
(15 puncte)

Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9
Total puncte:

Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.

Ministerul Educaţiei al Republicii Moldova


Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 28

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)


 Ce inseamna expresia float &k; ___________________________________________
 Operatorul || este pentru: ______________________________________________
 Recursia se numeste______________________________________________________
 O lista dublu inlantuita se numeste:__________________________________________
 Functia alipeste (concateneaza) doua siruri:__________________________________
 Functia main() este:_____________________________________________________

Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


for(int i=2;i<7;i=i+2) char s1[]="abc"; int sum = 0;
cout<<3*i-2<<" "; char s2[]="de"; int a[3][3]={{0,1,2},{5,4,3},
cout<<strcpy(s1,s2); {8,6,7}};
for (int i = 1; i < 3 ; ++i)
{
for (int j = 1; j < 3 ; j+
+)
{ sum += a[i][j]; }
}
cout << sum << endl;

Raspuns (1 punct): Raspuns (1punct):


___________________ ________________________ Raspuns (1 punct):
___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


int a = 6; int s[10], i; int x=3,y;
int *p; int k=4; if(x<1) y=2*x;
p= &a; for(i=0;i<10;i++) else if (x<=4) y=x+4;
*p=3; s[i]=2*i; else if (x<8) y=x*x;
cout << a << ' ' << *p << cout<<*s+k<<endl; else y=2*x+3;
endl; cout<<x<<' '<<y;

Raspuns (1 punct):
________________ Raspuns(1 punct): Raspuns(1 punct):
___________________ ___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)


# include <iostream>
using namespace std;
int suma(int, int);
int a,b; Tipul rezultatului functiei____________
int main()
{ cin>>a>>b; Variabilele globale_________________
cout<<suma(a, b)<<endl;
return 0;}
int suma(int u, int p)
{ return u+p;} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include<iostream> int main()


class patrat {
{ patrat *k;
private: k = new patrat (6);
int a; k.show();
public: delete k;
patrat (int t=1):a(t){} return 0;
~ patrat (); }
void show();
};
patrat::~ patrat (){ }

void patrat:: show ( )


{
cout<<a<<" "<<4*a<<" "<<a*a;
}

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza ridicarea la putere a unui numar. (6 puncte)

Puncte acumulate:________

VI. Scrieti functia care inscrie intr-un fisier text datele despre 10 studenti (nume, prenume, grupa,
nota medie). Datele despre studenti se introduc de la tastatura. (8 puncte)
Puncte acumulate:________

VII. Sa se creeze o lista cu numere intregi folosind crearea prin adaugarea elementelor la sfirsitul
listei. Sa se calculeze si afiseze suma elementelor. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “grup de prieteni”, cimpurile careia sunt alcatuite din- nume, prenume, virsta
fiecaruia din prieteni. Clasa trebuie sa contina metode pentru introducerea si extragerea elementelor si
aflarea virstei medii fiecarui prieten. Creati constructorul cu trei parametri. Creati destructorul.
(15 puncte)
Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:
Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.

Ministerul Educaţiei al Republicii Moldova


Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 29

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)


 Ce inseamna expresia: int *k[10]  ; _______________________________________
 Operatorul || este pentru: ______________________________________________
 Operatorul ternar este : ___________________________________________
 La apelul unei functii se specifica numele si tipul parametrilor actuali. Adevarat/ Fals.
 Arbore binar se numeste:_____________________________________________
 Parametrii formali ai unei functii sunt :_____________________________________
Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.
1 (3 puncte) 2 (3 puncte) 3 (3 puncte)
for(int m=5;m>=1;m--) char s1[]="abc"; int sum = 0;
cout<<m<<" "; char s2[]="de"; int a[3][3]={{1,0,2},{5,4,3},
cout<<strcat(s1,s2); {8,6,7}};
for (int i = 1; i < 3 ; ++i)
{
sum += a[i][i];
}
cout << sum << endl;
Raspuns (1 punct):
___________________
Raspuns (1 punct): Raspuns (1punct):
___________________ ________________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


int a = 6; int s[10], i; int x=28;
int *p; int k=5; switch (x%2)
p= &a; for(i=0;i<10;i++) {
cout << a << ' ' << *p; s[i]=2*i; case 0: cout<<2*x-7; break;
cout<<*(s+k)<<endl; case 1: cout<<x/4; break;
}
Raspuns (1 punct):
________________

Raspuns(1 punct): Raspuns(1 punct):


___________________ ___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)

# include <iostream>
using namespace std;
int suma(int, int);
int a,b; Numele functiei____________
int main()
{ cin>>a>>b; Parametrii actuali_________________
cout<<suma(a, b)<<endl;
return 0;}
int suma(int u, int p)
{ return u+p;} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include<iostream> int main()


class patrat {
{ patrat *k;
private: k = new patrat (6);
int a; k.show();
public: delete k;
patrat (int t=1):a(t){} return 0;
~ patrat (); }
void show();
};
patrat::~ patrat (){ }

void patrat:: show ( )


{
cout<<a<<" "<<4*a<<" "<<a*a;
}

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza cel mai mare divizor comun a doua numere naturale a si b.
(6 puncte)

Puncte acumulate:________

VI. Scrieti functia care returneaza numarul de vocale intr-un sir de simboluri (se includ in sir litere
mari si mici ale alfabetului latin). (8 puncte)
Puncte acumulate:________

VII. Sa se creeze o lista cu numere intregi folosind crearea prin adaugarea elementelor la sfirsitul
listei. Sa se afiseze elementele negative. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “grupa de studenti”, cimpurile careia sunt alcatuite din - nume, prenume, nota
medie fiecaruia din studenti. Clasa trebuie sa contina metode pentru introducerea si extragerea datelor
si aflarea medii grupei intregi. Creati constructorul cu trei parametri. Creati destructorul.
(15 puncte)
Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:
Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.

Ministerul Educaţiei al Republicii Moldova


Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 30

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)


 Ce inseamna expresia float &k; ___________________________________________
 Operatorul || este pentru: ______________________________________________
 La apelul unei functii se specifica numele si tipul parametrilor actuali. Adevarat/ Fals
 O lista dublu inlantuita se numeste:__________________________________________
 Parametrii formali ai unei functii sunt:________________________________________
 Functia main() este:_____________________________________________________

Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


for(int m=5;m>1;m--) char s1[]="abc"; int sum = 0;
cout<<2*m<<" "; char s2[]="defgh"; int a[3][3]={{1,0,2},{5,4,3},
cout<<strncat(s1,s2,3); {8,6,7}};
for (int i = 1; i < 3 ; ++i)
{
sum += a[i][i];
}
cout << sum << endl;

Raspuns (1 punct): Raspuns (1punct): Raspuns (1 punct):


___________________ ________________________ ___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


int a = 5; int s[10], i; int x=5,y;
int *p = &a; int k=5; if(x<1) y=2*x;
cout << a << ' ' << *p << for(i=0;i<10;i++) else if (x<=4) y=x+1;
endl; s[i]=2*i; else if (x<10) y=x*x;
cout<<*(s+k)<<endl; else y=2*x+3;
cout<<x<<' '<<y;
Raspuns (1 punct):
________________

Raspuns(1 punct): Raspuns(1 punct):


___________________ ___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)

# include <iostream>
using namespace std;
int prod(int, int);
int n,m; Numele functiei____________
int main()
{ cin>>n>>m; Variabilele locale_________________
cout<<prod(n,m)<<endl;
return 0;}
int prod(int n, int m)
{ return n*m;} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include<iostream> int main()


class patrat {
{ patrat *k;
private: k = new patrat (6);
int a; k.show();
public: delete k;
patrat (int t=1):a(t){} return 0;
~ patrat (); }
void show();
};
patrat::~ patrat (){ }

void patrat:: show ( )


{
cout<<a<<" "<<4*a<<" "<<a*a;
}

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza cite cifre contine un numar natural n. (6 puncte)

Puncte acumulate:________

VI. Scrieti functia care returneaza elementul minim a unui tablou bidimensional. (8 puncte)
Puncte acumulate:________

VII. Sa se creeze o lista cu numere intregi folosind crearea prin adaugarea elementelor la inceputul
listei. Sa se afiseze elementele pozitive. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “produse”, cimpurile careia sunt alcatuite din - denumire, cantitate, pretul
fiecaruia din produse. Clasa trebuie sa contina metode pentru introducerea si extragerea sumei totale
a preturilor produselor. Creati constructorul cu trei parametri. Creati destructorul.
(15 puncte)
Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9
Total puncte:

Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.

Ministerul Educaţiei al Republicii Moldova


Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 31

Nume, Prenume______________________________ Data______________

I. Continuati fraza :  (6 puncte)


 Includerea fisierelor intr-un program se face cu ajutorul directivei __________________
 Pentru crearea iteratiei cu postconditie se utilizeaza instructiunea __________________
 Tipul si ordinea valorilor parametrilor actuali nu are importanta. Adevarat/ Fals
 Ce inseamna expresia int *a[3]  ;  _________________________________________
 Operatia & se numeste__________________________________________________
 Clasa de la care se creeaza mostenirea se numeste______________________________

Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


 int speed = 5;  char s1[]=”abcde”; int s[8]={1,2,7,0,4,11,8,5};
while ( speed < 60 )  char s2[]=”123”; int k;
speed += 10;  n=2; for(k=0;k<8;k++)
cout<<speed; strncpy(s1,s2, n); {
cout<<s1<<endl<<s2; s[k]-=3;
cout<<s[k]<<” “;
}

Raspuns (1 punct): Raspuns (1punct): Raspuns (1 punct):


___________________ ________________________ ___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


int *p, *q; int p[5]={1,2,7,0,4}; int x=3,y=5;
int a=3; cout<<*(p+2)+3; if(x>y) x+=2;
float b=7.5; cout<<x<<' '<<y;
*p=a; *q=b;
Cout<<*p<<” “<<*q;

Raspuns (1 punct): Raspuns(1 punct): Raspuns(1 punct):


________________ ___________________ ___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)

void Test(int, int, int); Prototipul functiei


int main()
_______________________________
{
int a, b, c; Variabilele locale

_______________________________
Test(a, b, c);

}
void Test(int d, int e, int f)
{
int g,h;
} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include<iostream> patrat:: patrat (int temp)


using namespace std; {
class patrat a=temp;
{ }
private: float patrat:: p1()
int a; {
public: return 4*a;
int p1(); }
void patrat(); int main()
void patrat(int temp); {
~patra(); patrat *k;
}; k = new patrat (3);
patrat::patrat() cout<<k->p1();
{ } delete k;
patrat::~patrat() return 0;
{ } }

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza produsul unui sir de numere impare (1,3,5,7,…,n).
(6 puncte)

Puncte acumulate:________

VI. Scrieti functia care returneaza elementul minim a unui tabel unidimensional de numere intregi.
(8 puncte)
Puncte acumulate:________

VII. Scrieti ordinea operatorilor care vor elimina un elemet din stiva. Elementele stivei sunt
simboluri. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “dreptunghi” a carui cimpuri (domenii) sunt lungimile laturilor dreptunghiului.
Clasa trebuie sa contina metode pentru calcularea perimetrului, ariei si diagonalelor dreptunghiului.
Creati constructorul cu doi parametri a tipului intreg (dimensiunile drreptunghiului), ce poate fi
utilizat ca constructor implicit. Creati destructorul. (15 puncte)
Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:

Nota:

Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.
Ministerul Educaţiei al Republicii Moldova
Colegiul de Informatică din Chişinău
Catedra de Informatică

Examinat Aprob:
la şedinţa catedrei Director Adjunct de studii_____________Obadă L.
din 23.03.2015

Specialitatea: Informatică Anul II, Grupa: I-1324, I-1325


Disciplina: Programarea în limbajul C++ Anul de studii: 2014-2015

Bilet de examinare nr. 32

Nume Prenume______________________________ Data______________

I. Continuati fraza (6 puncte)

 Ce inseamna expresia  : p=new (int) ; _________________________________________


 Pentru crearea iteratiei cu preconditie se utilizeaza instructiunea __________________
 Functiile trebuie sa aiba cel putin un parametru formal : Adevarat / Fals.
 Functia alipeste (concateneaza) doua siruri:__________________________________
 Afisarea in fisier se face cu ajutorul functiei:__________________________________
 Recursia se numeste______________________________________________________
Puncte acumulate:_______

II. Ce rezultat va fi afisat la ecran luind in consideratie ordinea operatorilor. Argumentati raspunsul.

1 (3 puncte) 2 (3 puncte) 3 (3 puncte)


 int speed = 30;  char s1[]=”abcde”; int s[]={1,4,-1,8,-5};
while ( speed > 10 )  char s2[]=”123”; int k;
speed -= 5;  strcpy(s1,s2); for(k=0;k<5;k++)
cout<<speed cout<<s1<<endl<<s2 {
s [k]*=-1;
cout<<s[k]<<" ";
Raspuns (1punct): }
________________________
Raspuns (1 punct):
Raspuns (1 punct):
___________________
___________________

Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului


(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:_______ Puncte acumulate:________ Puncte acumulate:________

4 (3 puncte) 5 (3 puncte) 6 (3 puncte)


int *p, *q; int p[3][3]={{1,2,7},{0,4,1}, int x=3,y=5;
int a=2; {1,8,2}}; if(x>y) x-=2;
int b=5; cout<<*(*(p+1)+2); else y=0;
p=&a; q=&b; cout<<x<<' '<<y;
cout<<*p+1<<" "<<*q-2;

Raspuns (1 punct): Raspuns(1 punct):


________________ Raspuns(1 punct): ___________________
___________________
Argumentarea raspunsului Argumentarea raspunsului Argumentarea raspunsului
(2 puncte): (2 puncte): (2 puncte):

Puncte acumulate:________ Puncte acumulate:________ Puncte acumulate:________

III. Specificati in programul de mai jos (4 puncte)

int Test(float, float, float); Tipul rezultatului functiei


int main()
_______________________________
{
float a, b, c; Lista parametrilor actuali

_______________________________
cout<<Test(a, b, c);

}
int Test(float a1, float b1, float c1)
{
int g,h;
} Puncte acumulate:________

IV. Corectati greseala in urmatorul cod de program. Ce va fi afisat la ecran la executarea codului de
program dupa corectarea greselii. Argumentati raspunsul. (6 puncte)

#include<iostream> patrat:: patrat (int temp)


using namespace std; {
class patrat a=temp;
{ }
private: float patrat:: p2()
int a; {
public: return 4*a;
int p2 (); }
patrat (); int main()
patrat (int temp); {
~ patrat (); patrat *k;
}; k = new patrat (5);
void patrat:: patrat () cout<<k->p2();
{ } delete k;
void patrat::~ patrat () return 0;
{ } }

Raspuns (3 puncte):______________________

Argumentarea raspunsului (3 puncte):

Puncte acumulate:________

V. Scrieti un subprogram care calculeaza suma numerelor impare divizibile cu 3.


(6 puncte)

Puncte acumulate:________

VI. Scrieti functia care returneaza numarul de elemente pozitive a unui tabel bidimensional de
numere intregi.
(8 puncte)
Puncte acumulate:________

VII. Scrieti ordinea operatorilor care vor elimina un element din coada. Elementele cozii sunt
simboluri. (10 puncte)

Puncte acumulate:________

VIII. Descrieti clasa “triunghi” a carui cimpuri (domenii) sunt lungimile laturilor triunghiului. Clasa
trebuie sa contina metode pentru calcularea perimetrului, ariei si tipul triunghiului (ehilateral, isoscel,
arbitrar). Creati constructorul cu trei parametri a tipului intreg (dimensiunile drreptunghiului), ce
poate fi utilizat ca constructor implicit. Creati destructorul.
(15 puncte)
Puncte acumulate:________

Barem de apreciere:

Puncte acumulate Nota Diferenta puncte


0-2 1 2
3–6 2 3
7 – 12 3 5
13 - 20 4 7
21 - 28 5 7
29 - 36 6 7
37 - 45 7 8
46 - 54 8 8
55 - 63 9 8
64 - 73 10 9

Total puncte:

Nota:
Profesorul_______________Gairunova N.

Şef de catedră______________Gabura N.

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