Sunteți pe pagina 1din 4

Listă întrebări Master 2009

Elemente de programare şi algoritmi

Comisia de realizare a subiectelor:


Prof. dr. ing. Felicia IONESCU
Ş.l. dr. ing. Bogdan IONESCU
Ş.l. dr. ing. Eduard POPOVICI

1. Care sunt tipurile de date reale în C++ ?


a. int şi float
b. char şi int
c. float, double şi long double
d. double şi int
e. unsigned char şi long
f. unsigned int şi float
2. Cum se alocă static în memorie un tablou întreg cu maxim 20 x 20 de elemente ?
a. int T[20][20];
b. int T[20,20];
c. T[20][20] int;
d. int T[20]x[20];
e. int T[20], int T[20];
f. int T[21][21];
3. Care este efectul următoarei definiŃii: int *p = &c (unde c este o variabilă întreagă definită
anterior) ?
a. variabila p ia valoarea lui c
b. adresa din memorie a lui p este schimbată cu valoarea lui c
c. p este un pointer întreg ce memorează adresa variabilei c
d. p este egal cu c
e. p este un întreg fără semn ce este iniŃializat cu c
f. p şi c sunt două variabile identice
4. O funcŃie are următorul prototip: double F(float x, int y); ce tip de date returnează aceasta ?
a. date de tip real în precizie simplă
b. date de tip real în precizie dublă
c. date de tip întreg
d. nu returnează nimic
e. date de tip real cât şi de tip întreg
f. orice tip de date
5. Care sunt cele două modalităŃi în care se pot transfera argumentele unei funcŃii în limbajul
C++ ?
a. funcŃia nu are argumente
b. prin valoare si prin referinŃă
c. doar prin valoarea acestora
d. doar prin referinŃă
e. prin intermediul variabilelor şi a memoriei tampon
f. argumentele sunt transferate implicit de sistem
6. Ce efect are următoarea declaraŃie: const int var=100; ?
a. var este o constantă de tip întreg ce ia valoarea 100 (nu poate fi modificată pe parcursul execuŃiei
programului)
b. var este o variabilă constantă doar la compilarea programului
c. var este o variabilă întreagă ce are la început valoarea 100
d. eroare de sintaxă
e. var este o variabilă de un tip predefinit de utilizator
f. int este o variabilă de tip var şi ia valoarea 100
7. Cum se poate proteja accesul din exterior la datele membre ale unei clase ?
a. cu specificatorul public
b. cu specificatorul denied
c. nu se poate
d. cu specificatorii protected şi private
e. cu specificatorul void
f. adăugând . după declaraŃie
8. Care din următoarele clase pot definii tipul de date complex ?
a. class numar_complex { double Re; double Im; }
b. numar_complex class { double Im; double Re; }
c. class numar complex { float Re+i*Im; }
d. class numar_complex { double Re; double i*Im; }
e. nu se poate defini un tip complex
f. numar class complex { double Re; double Im; }
9. Cum se poate defini o funcŃie membră a unei clase în afara acesteia ?
a. nu se poate
b. tip_returnat nume_clasa::nume_functie(lista_argumente){ // corpul functiei }
c. tip_returnat nume_clasa->nume_functie(){ // corpul functiei }
d. nume_clasa nume_functie(){ // corpul functiei }
e. tip_returnat nume_functie(lista_argumente) nume_clasa, { // corpul functiei }
f. class nume_clasa->nume_functie(){ // corpul functiei }
10. Ce reprezintă o funcŃie constructor pentru o clasă ?
a. clasele nu au funcŃii constructori
b. funcŃia constructor alocă memorie pentru stocarea variabilei de tip clasă
c. permite iniŃializarea obiectelor clasei fiind apelată automat la declararea variabilei de tip clasă
d. este folosită pentru iniŃializarea pointerilor
e. este o funcŃie apelată automat la distrugerea din memorie a variabilei de tip clasă
f. permite definirea de către utilizator a unei funcŃii de tip public
11. Cum se defineşte o listă liniară ?
a. o listă liniară este o secvenŃă finită de elemente de un tip dat
b. o listă liniară este o matrice bidimensională
c. o lista liniară este o mulŃime independentă de date
d. o listă liniară este o mulŃime infinită de date
e. o listă liniară este un vector infinit de elemente disjuncte
f. o listă liniară este o mulŃime de valori intre care există o dependenŃă liniară
12. Cum se defineşte conceptul de stivă de date ?
a. reprezintă o aglomeraŃie infinită de date
b. este o listă dublu înlănŃuită
c. este o listă în care toate operaŃiile se desfăşoară întotdeauna în ordinea ultimul inserat, primul extras
d. reprezintă un tablou de date omogene
e. reprezintă un dispozitiv hardware de memorie
f. reprezintă o variabilă de sistem
13. Cum se defineşte conceptul de coadă de date ?
a. reprezintă o stivă bidimensională
b. este o listă în care operaŃiile de inserare se execută la sfârşitul cozii şi extragerea se execută din
începutul cozii
c. este o structură de tip LIFO (Last-In, First-Out)
d. reprezintă o matrice bidimensională ordonată de date
e. nu există acest concept
f. reprezintă o succesiune aleatoare de date în care poate fi accesat doar primul element
14. Care dintre clasele următoare definesc un nod al unei liste dublu înlănŃuite ? (IntDListNode
reprezintă clasa nod, value reprezintă valoarea stocată, prev şi next reprezintă adrese ale altor noduri)
a. class IntDListNode{ int value; IntDListNode* prev; ... }
b. IntDListNode class { int value; IntDListNode prev; IntDListNode next; ... }
c. class IntDListNode{ int value; IntDListNode elem; ... }
d. IntDListNode{ int value; IntDListNode prev; IntDListNode next; ... } class;
e. class IntDListNode{ int value; IntDListNode prev+next; ... }
f. class IntDListNode{ int value; IntDListNode* prev; IntDListNode* next; ... }
15. Care dintre următoarele definiŃii poate reprezenta un constructor al unei liste de numere
întregi ? (IntDList reprezintă clasa listă în cauză, x este o valoare, first şi last reprezintă primul şi
ultimul element al listei iar count numărul de valori din listă)
a. inline IntDList->IntDList(int x){ IntDListNode elem = new IntDListNode(&x); first = elem; last =
elem; count = 1; }
b. inline IntDList->IntDList(int x){ IntDListNode* elem = new IntDListNode(&x); first = &elem; last =
&elem; count = 1; }
c. inline IntDList::IntDList(int x){ IntDListNode* elem = new IntDListNode(x); first = elem; last =
elem; count = 1; }
d. inline IntDList->IntDList(int x){ IntDListNode elem = new IntDListNode(*x); *first = elem; *last =
elem; count = 1; }
e. inline IntDList->IntDList(int x){ IntDListNode elem = new IntDListNode(x); first = *elem; last =
*elem; count = 1; }
f. inline IntDList->IntDList(int x){ IntDListNode &elem = new IntDListNode(x); &first = elem; &last
= elem; count = 1; }
16. Cum se defineşte conceptul de arbore de date ?
a. un arbore este un tablou de date de acelaşi tip
b. un arbore este un model de date care permite reprezentarea structurilor ierarhice
c. un arbore este un caz particular de listă
d. un arbore este un tip de date fundamental al limbajului C
e. un arbore este o însiruire de date tridimensionale
f. un arbore reprezintă un caz particular de stivă de date
17. Cum se defineşte muchia unui arbore de date ?
a. o muchie reprezintă conexiunea dintre două noduri ale arborelui
b. nu există acest concept
c. o muchie reprezintă conexiunea nodurilor periferice ale arborelului
d. o muchie reprezintă conexiunea nodului radacină cu un nod frunză
e. o muchie conectează cel putin trei noduri adiacente
f. o muchie este conexiunea dintre nodurile diametral opuse
18. Cum se defineşte un arbore binar ?
a. reprezintă un arbore cu două noduri
b. nodurile nu pot lua decât valori binare
c. un arbore binar este un arbore în care fiecare nod are cel mult doi fii
d. reprezintă un arbore in care suma elementelor este un multiplu de 2
e. reprezintă un arbore in care valorile nodurilor sunt exprimate binar
f. este un arbore cu două radacini
19. In ce constă parcurgerea în preordine a unui arbore binar ?
a. se vizitează rădăcina, se parcurge subarborele stâng, se parcurge subarborele drept
b. se triază valorile acestuia crescător şi apoi se parcurge arborele
c. se parcurge arborele în mod aleator
d. se parcurge arborele de la dreapta la stânga
e. se parcurge arborele în sensul crescător al valorilor nodurilor
f. se parcurge arborele de la frunze la radacină
20. Care dintre definiŃiile de clase poate reprezenta clasa nod a unui arbore binar ? (IntTreeNode
reprezintă clasa nod, value reprezintă o valoare, left, right şi center reprezintă adrese ale altor noduri)
a. class IntTreeNode { int value; IntTreeNode *left; IntTreeNode *right; IntTreeNode *center; … }
b. class IntTreeNode { int value; IntTreeNode *left; IntTreeNode *right; … }
c. IntTreeNode class { int value; IntTreeNode &&left; IntTreeNode &&right; …}
d. IntTreeNode { int value; *IntTreeNode left; *IntTreeNode right; … } class;
e. class IntTreeNode { int value; }
f. class *IntTreeNode { int value; IntTreeNode left; IntTreeNode right; }
21. Ce proprietate are clasa Cerc definită în felul următor: class Cerc : public FigGeometrica{ ... } ?
a. clasa Cerc este identică cu clasa FigGeometrica
b. clasa FigGeometrica este disjunctă clasei Cerc (nu este inclusă în aceasta)
c. clasa Cerc (subclasă) derivă din clasa FigGeometrica (superclasă)
d. clasa Cerc are si denumirea de FigGeometrica
e. clasa Cerc este nu are voie să conŃină câmpuri din clasa FigGeometrica
f. sintaxa este greşită

ObservaŃii: din cele şase variante de răspunsuri propuse, doar una singură este corectă.

Data
27-07-2009