Documente Academic
Documente Profesional
Documente Cultură
6. Daca doua atribute cu acelasi nume sunt mostenite de o interfata Java atunci
B se obtine:
a) mostenire multipla
b) ambiguitatea atributului
c) clonarea structurilor de date
7. Numarul metodelor implementate de o interfata Java este:
A a) 0
b) 1
c) Oricate sunt necesare
a) +0.0
b) NaN
c) -0.0
15. O metoda declarata private este accesibila subclaselor din acelasi pachet.
B a) Adevarat
b) Fals
16. Un fir de executare Java este
C a) o instanta a unei clase derivate din clasa Thread
b) o instanta a unei clase care implementeaza interfata Runnable
c) fie un obiect al unei clase a carei superclasa este clasa Thread, fie un obiect al unei clase
d) care implementeaza interfata Runnable
17. Un fir de executare Java poate fi pus fortat in coada de asteptare (pentru a intra in executare)
C folosind metoda
a) start()
b) stop()
c) yield()
d) exit()
21. Metoda care se suprascrie la crearea unui fir de executare Java este
B a)_ start()
b) run()
c) main()
Faceti parte din echipa care testeaza buna functionare a unui program pentru stabilirea ordinii in
care trebuie incluse melodiile in lista astfel incat timpul mediu pentru a ajunge la melodii sa fie
minim. Programul citeste n - numarul melodiilor, L[i] - lungimea melodiei i ( i = 1, 2, ..., n) si
afiseaza indicii melodiilor in ordinea in care se vor plasa in lista.
30. Un sistem de operare unitasking trebuie sa execute n programe. Timpul necesar executarii
B fiecarui program este cunoscut si notat cu T[i], i = 1, 2, ..., n. Trebuie sa scrieti un planificator
de programe care citeste numarul programelor si durata acestora pentru ca apoi sa le incarce, in
memorie, pentru executare. Se presupune ca este posibil accesul direct la fisierul asociat fiecarui
program si se doreste ca timpul mediu petrecut de orice program, in memorie, sa fie minim.
a) 10, 6, 8, 6, 5, 4, 9, 8
b) 4, 5, 6, 6, 8, 8, 9, 10
c) 10, 9, 8, 8, 6, 6, 5, 4
d) 8, 9, 4, 5, 6, 8, 6, 10
31. In intervalul de timp [0, T] o echipa poate executa n lucrari, unde timpul de executare a fiecarei
C lucrari este acelasi. La un moment dat echipa intreaga lucreaza la o singura lucrare. Se
presupune ca seful echipei cunoaste atat castigul obtinut C[i], cat si termenul de finalizare F[i],
pentru fiecare lucrare i, i = 1, 2, ..., n. Se cere o selectie optimala a lucrarilor in sensul
maximizarii castigului obtinut. Se presupune ca pentru obtinerea selectiei optimale se va utiliza
un program C++/Java care trebuie testat pentru urmatorul set de date:
n = 10
i = 1, F[1] = 1, C[1] = 10
i = 2, F[2] = 3, C[2] = 9
i = 3, F[3] = 3, C[3] = 10
i = 4, F[4] = 6, C[4] = 8
i = 5, F[5] = 7, C[5] = 8
i = 6, F[6] = 7, C[6] = 9
i = 7, F[7] = 8, C[7] = 5
i = 8, F[8] = 8, C[8] = 7
i = 9, F[9] = 8, C[9] = 10
i = 10, F[10] = 8, C[10] = 12
Indicati multimea de indici care descrie selectia obtinuta folosind strategia optimala (aplicabila
pentru orice set de date) stiind ca echipa isi incheie activitatea la momentul T = 8.
a) 10, 3, 9, 6, 4, 5, 6, 7
b) 3, 4, 10, 9, 8, 7, 6, 5
c) 1, 3, 2, 4, 6, 5, 10, 9
d) 1, 2, 3, 4, 5, 6, 7, 8
Multimea muchiilor arborelui partial de cost minim obtinute prin metoda Greedy, este:
a) [u0, u1], [u3, u4], [u1, u3], [u2, u3], [u4, u5]
b) [u0, u1], [u3, u4], [u1, u2], [u2, u3], [u4, u5]
c) [u0, u1], [u1, u2], [u2, u3], [u3, u4], [u4, u5]
d) [u0, u1], [u3, u4], [u1, u3], [u2, u4], [u4, u5]
33. Se considera un graf neorientat cu 80 de noduri si 3160 muchii. Care este numarul de muchii
B care nu vor fi selectate de un program care implementeaza metoda Greedy pentru constructia
arborelui partial de cost minim
?
a) 79
b) 3081
c) 80
d) 3080
34. Se presupune ca un program a preluat la intrare un graf cun varfuri si m muchii pentru a obtine
B un arbore partial de cost minim. Din raportul de testare intocmit asupra programului dispunem
doar de informatia privind numarul de muchii selectate de program. Acesta este 11. Care trebuie
sa fi fost n - numarul de varfuri ale grafului considerat?
a) n = 11
b) n = 12
c) n = (combinari de 11 luate cate 2)
d) n = 11! (11 factorial)
35. Un graf neorientat este complet daca oricare doua noduri distincte ale sale sunt adiacente.
D Presupunem ca utilizati un program C++/Java care determina muchiile unui arbore partial al
grafului complet cu n varfuri. Care este numarul de muchii care nu sunt considerate de metoda
Greedy pentru a construi un arbore partial al grafului, daca n = 7?
a) 21
b) 7
c) 6
d) 15
36. Pentru a determina starile accesibile ale unui automat finit determinist se utilizeaza metoda
A a) Greedy
b) Backtracking
c) Programarii Dinamice
d) Divide et Impera
e) Branch and Bound
37. Se considera un graf neorientat G. Pentru a determina varfurile grafului G care fac parte din
E componenta conexa a varfului x (x reprezinta un parametru formal al functiei/metodei care
implementeaza algoritmul de rezolvare a problemei) se utilizeaza metoda
a) Backtracking
b) Programarii Dinamice
c) Divide et Impera
d) Branch and Bound
e) Greedy
38. Pentru a genera toate grafurile orientate, disticte, cu n varfuri, se utilizeaza metoda
D Backtracking. Aveti de testat un program care trebuie sa implementeze corect metoda de
rezolvare. Cate solutii trebuie sa genereze programul pentru n = 4?
a) 4
b) 24
c) 16
d) 4096
39. Fie A = {1, 2, ..., n} si B = {1, 2, ..., m}, unde n si m sunt numere naturale nenule, . Se
C doreste generarea tuturor functiilor injective . Ce metoda de elaborarea algoritmilor
trebuie folosita?
a) Metoda Branch and Bound
b) Metoda Divide et Impera
c) Metoda Backtracking
d) Metoda Programarii Dinamice
e) Metoda Greedy
40. Utilizand metoda backtracking se genereaza in ordine lexicografica cuvintele de cate patru
B litere din multimea A = {a, b, c, d, e}, cuvinte care nu contin doua vocale alaturate. Primele opt
cuvinte generate sunt, in ordine:
abab
abac
abad
abba
abbb
abbc
abbd
abbe.
Cate cuvinte generate incep cu litera b si se termina cu litera e?
a) 9
b) 15
c) 12
d) 20
41. Utilizand metoda backtracking se genereaza in ordine lexicografica cuvintele de cate patru
D litere din multimea A = {a, b, c, d, e}, cuvinte care nu contin doua vocale alaturate. Primele opt
cuvinte generate sunt, in ordine:
abab
abac
abad
abba
abbb
abbc
abbd
abbe.
Care este ultimul cuvant generat?
a) edcb
b) eeee
c) edde
d) eded
42. Utilizand metoda backtracking se genereaza in ordine lexicografica cuvintele de cate patru
A litere din multimea A = {a, b, c, d, e}, cuvinte care nu contin doua vocale alaturate. Primele opt
cuvinte generate sunt, in ordine:
abab
abac
abad
abba
abbb
abbc
abbd
abbe.
Care este penultimul cuvant generat?
a) edec
b) eded
c) edde
d) edcb
D 43. Folosind modelul combinarilor se genereaza numerele naturale cu cate trei cifre distincte din
multimea {1, 2, 3, 7}, numere cu cifrele in ordine strict crescatoare, obtinandu-se, in ordine:
123, 127, 137, 237. Daca se utilizeaza exact aceeasi tehnica pentru a genera numerele naturale
cu patru cifre distincte din multimea {1, 2, 3, 4, 5, 6, 7, 8}, cate numere generate au prima cifra
2 si ultima cifra 7?
a)_ 8
b) 3
c) 4
d) 6
44. Utilizand metoda backtracking sunt generate numerele de 3 cifre avand toate cifrele distincte si
A cu proprietatea ca cifrele aflate pe pozitii consecutive sunt de paritate diferita. Stiind ca primele
sase solutii generate sunt, in aceasta ordine, 103, 105, 107, 109, 123, 125, care este a zecea
solutie generata?
a) 145
b) 147
c) 230
d) 149
45. Utilizand metoda backtracking ati scris un program corect in C++/Java care genereaza toate
B numerele de cate n cifre (0<n<10), cifrele fiind in ordine strict crescatoare. Daca n este egal cu
7, cate numere genereaza programul dumneavoastra?
a) 9!
b) 36
c) 7!
d) 7
46. Un program C++/Java implementeaza corect tehnica backtracking pentru a genera, in ordine
lexicografica, toate sirurile de 5 cifre 0 si 1 cu proprietatea ca nu exista mai mult de doua cifre
B 0 pe pozitii consecutive. Primele 7 solutii generate sunt:
00100
00101
00110
00111
01001
01010
01011.
Care este a 8-a solutie generata de acest program?
a) 01110
b) 01100
c) 01011
d) 01101
47. Folosind strategia backtracking ati elaborat un program C++/Java care genereaza corect, in
C ordine crescatoare, toate numerele de n cifre folosind doar cifrele 3, 5 si 7. Daca pentru n = 5,
primele 5 solutii generate trebuie sa fie 33333, 33335, 33337, 33353, 33355, precizati care ar
trebui sa fie ultimele 3 solutii.
a) 77737, 77757, 77777
b) 77337, 77353, 77355
c) 77773, 77775, 77777
d)_ 77753, 77773, 77777
48. In timpul procesului de generare a permutarilor multimii {1, 2, ..., n} prin metoda
backtracking, in tabloul unidimensional x este plasat un element x[k] ( ). Acesta este
A considerat valid daca este indeplinita conditia:
a) x[k] {x[0], x[1], ..., x[k-1]}
b) x[k] {x[0], x[1], ..., x[n-1]}
c) x[k] x[k-1]
d) x[k] x[k-1] si x[k] x[k+1]
49. Algoritmul de generare a tuturor numerelor de 5 cifre nenule, fiecare avand cifrele ordonate
strict crescator, este echivalent cu algoritmul de generare a:
D a) submultimilor unei multimi cu 5 elemente
b) produsul cartezian a unor multimi de cifre
c) aranjamentelor de 9 elemente luate cate 5
d) combinarilor de 9 elemente luate cate 5
Cu ce expresie pot fi inlocuite punctele de suspensie astfel incat, in urma apelului s(2), sa afiseze
3 caractere *?
a) x>1
b) x>2
c) x>=3
d) x>0
51. Functia f este astfel definita incat f(1) = 8 si f(n+1)=2*f(n)-4, pentru n numar natural nenul.
C Care este cea mai mare valoare pe care o poate lua x astfel incat f(x) < 1000?
a) 7
b) 6
c) 8
d) 9
52. Care din urmatoarele metode de sortare nu este obtinuta prin metoda Divide et impera?
C a) Sortare prin interclasare
b) Sortare rapida
c) Sortare prin numarare
53. Care este complexitatea algoritmului de cautare binara (aplicat asupra unei colectii ordonate cu
n elemente), din punct de vedere al numarului de comparatii?
C a) n
b)
c) O( )
d) n/2
54. Se considera arborele binar
B
Se aplica metoda Divide et impera pentru traversarea in preordine a arborelui. Care este secventa
care corespunde traversarii in preordine a subarborelui drept?
a) +/+EF-GH
b) /+EF-GH
c) +*-AB+CD
d) *-AB+CD
Care este ultimul numar din lista care reda parcurgerea in postordine a arborelui?
a) -8
b) 17
c) 12
56. Se considera arborele binar
B
Folosind strategia Divide et Impera se cauta numarul 13 in acest arbore. Care sunt numerele cu
care se va compara?
a) 10, 11, 12, 14
b) 10, 15, 11, 14, 12
c) 15, 14
d) 1, 3, 8, 10, 11, 12, 14
57. Se considera imaginea partitionata recursiv in patru regiuni prin metoda Divide et impera.
Arborele asociat partitionarii este numit arbore Quad. Nodul radacina este constituit din intreaga
imagine. Care este inaltimea arborelui Quad care corespunde partitionarii date mai sus?
a) 3
b) 4
c) 5
d) 6
58. Presupunem ca a si b sunt numere intregi pozitive a cate n biti, unde , reprezinta
partile a cate n/2 biti:
B
Rezulta, de aici, ca inmultirea binara poate fi realizata prin strategia Divide et impera.
Complexitatea T(n) a algoritmului de inmultire binara este descrisa prin
a) T(n) = O( )
b) T(n) = O( )
c) T(n) = O(n/2)
59. Orice algoritm recursiv este o descriere a unui rationament de tip Divide et impera.
A a) Adevarat
b) Fals
60. Se considera trei tije notate cu numerele 1, 2 si 3. Se considera n discuri de diametre diferite.
A sensul
Initial, toate discurile sunt plasate pe tija 1 in ordinea descrescatoare a diametrelor, considerand
de la baza la varf. Se doreste testarea unui program care utilizeaza strategia Divide et
impera pentru a muta discurile de pe tija 1 pe tija 2, folosind ca tija de manevra tija 3 si
respectand urmatoarele reguli:
- la fiecare pas se muta un singur disc;
- un disc poate fi asezat numai peste alt disc cu diametru mai mare sau poate fi primul disc de la
baza tijei.
61. Se considera un triunghi de numere naturale format din n linii. Prima linie contine un numar, a
doua linie doua numere, . . . , ultima linie n numere naturale. Cu ajutorul acestui triunghi se pot
C forma sume de numere naturale în felul urmator:
1) se porneste cu numarul din linia 1;
2) succesorul unui numar se afla pe linia urmatoare plasat sub el (aceeasi coloana) sau pe
diagonala la dreapta (coloana creste cu 1).
Presupunem ca ati implementat strategia programarii dinamice pentru a obtine cea mai mare
suma care se poate forma folosind regulile de mai sus.
a) 14
b) 16
c) 17
d) 19
62. Se considera x - un vector cu n elemente numere întregi. Se scrie un program C++/Java bazat pe
B strategia Programarii Dinamice care va determina un cel mai lung sir crescator al sirului x.
In timpul testarii programului se considera:
n=5
x = (4, 5, 7, -1, 7)
Programul trebuie sa afiseze:
a) 4, 5, 7
b) 4, 5, 7, 7
c) 5, 7, 7
63. Fie G un graf orientat si ponderat avand n varfuri. Fie d[i] lungimea drumului maxim care are ca
B extremitate initiala varful i (i = 1, 2, ..., n). Valoarea d(G) = max{d[i]; i = 1, 2, ..., n} reprezinta
diametrul grafului G.
Se doreste utilizarea programarii dinamice pentru elaborarea si testarea unui program C++/Java
care pentru un graf orientat G furnizeaza d(G). Care este algoritmul care, modificat, faciliteaza
obtinerea diametrului grafului G?
a) Dijkstra
b) Roy-Floyd
c) Kruskal
64. Fie matricele A[50][20], B[20][1], C[1][10] si D[10][100]. Se doreste realizarea inmultirii celor
C patru matrici X = ABCD. Inmultirea matricelor este asociativa, iar numarul de inmultiri pentru
realizarea produsului Y=UV (unde U[m][n] si V[n][p]) este mxnxp. Care este ordinea de
inmultire (obtinuta prin metoda programarii dinamice) ce duce la numarul minim de inmultiri cu
care se poate calcula X.
a) A x ((BxC)xD)
b) (Ax(BxC))xD
c) (AxB)x(CxD)
65. Se defineste o partitie a unui numar natural n ca fiind o scriere a lui n sub forma
C
, unde , iar sunt numere naturale care verifica relatia
. Ati scris un program C++/Java, care utilizeaza metoda
programarii dinamice, pentru a numara si genera partitiile oricarui numar n introdus de la
tastatura.
Pentru n = 7 se cere sa precizati cate din partitiile generate de programul dumneavoastra sunt
constituite numai din numere impare: este impar pentru oricare i, .
a) 7
b) 6
c) 5
d) 8
B 66. Intr-o regiune montana se doreste instalarea unui lant de telecabine. Se considera ca in regiunea
montana considerata sunt N varfuri si ca statiile pentru telecabine pot fi montate in oricare din
cele N varfuri. Presupunem ca varfurile sunt date de la stanga la dreapta (exemplu: de la Vest la
Est) si ca sunt numerotate prin 1, 2, 3,..., N. Astfel, fiecare varf i este precizat prin coordonata
X[i] (pe axa OX) si inaltimea H[i] (pe axa OY). Se doreste infiintarea a exact K statii de
telecabine. Deoarece se doreste ca lantul de telecabine sa asigure conectarea varfurilor 1 si N, cu
exceptia statiei 1 (amplasata obligatoriu in varful 1) care este conectata doar cu statia 2 si a
statiei K (amplasata obligatoriu in varful N) care este conectata doar cu statia K-1, toate celelalte
statii i (1 < i < K) sunt conectate atat cu statia i-1 cat si cu statia i+1, iar lungimea totala a
cablurilor folosite la conectare sa fie minima. Lungimea cablului dintre doua statii este egal cu
distanta dintre ele. In plus, un cablu care uneste doua statii consecutive nu poate avea o lungime
mai mare decat o lungime fixata L. De asemenea, formele de relief influenteaza conectare. Mai
precis: varfurile i si j (i < j) nu pot fi conectate direct daca exista un varf v (i<v<j) astfel incat
segmentul de dreapta care uneste varfurile i si j trece pe sub varful v. Daca i, v si j sunt coliniare
atunci toate trei se considera a fi statii.
Pentru a identifica amplasarea celor K statii astfel incat lungimea totala a cablurilor sa fie
minima si sa fie indeplinite restrictiile de mai sus ati elaborat un program C++/Java care
implementeaza un algoritm obtinut prin tehnica programarii dinamice. Programul afiseaza
lungimea minima LM si lista varfurilor in care se instaleaza statiile.
Pentru N = 7, K=5, L = 11 si amplasarea
X[i] H[i]
0 16
4 3
6 8
7 4
12 16
13 16
14 16
se cere sa verificati care dintre urmatoarele raspunsuri ale programului trebuie sa fie cel corect.
a) LM = 16, Statiile: 1, 5, 6, 7
b) LM = 22, Statiile: 1, 3, 5, 6, 7
67. O companie este alcatuita din N soldati. Se considera ca soldatii sunt identificati prin numerele
B 1, 2, ..., N si se cunosc inaltimile H[i], pentru fiecare soldat avand codul i (i = 1, 2, ..., N).
La prima inspectie soldatii sunt asezati in sir in ordinea crescatoare a codului. Capitanul doreste
ca din sir sa iasa un numar minim de soldati, iar cei care raman, fara sa-si schimbe locurile, sa
poata vedea cel putin o extremitate a sirului (din stanga sau din dreapta). Un soldat vede o
extremitate daca intre el si extremitate nu se afla un soldat cu inaltimea mai mare sau egala cu
inaltimea lui.
Ati scris un program C++/Java care accepta la intrare numarul N si inaltimile H[i], i=1, 2, ...,N si
determina, folosind strategia programarii dinamice, numarul minim de soldati x care trebuie sa
paraseasca sirul pentru a fi indeplinita conditia din enunt.
La testarea programului, dumneavoastra considerati urmatoarele date:
N=8
i = 1, H[1] = 1.86
i = 2, H[2] = 1.86
i = 3, H[3] = 1.31
i = 4, H[4] = 2.00
i = 5, H[5] = 1.40
i = 6, H[6] = 1.00
i = 7, H[7] = 1.97
i = 8, H[8] = 2.20
Ce valoare a lui x trebuie sa afiseze programul?
a) 3
b) 4
c) 2
d) 1
a) 25
b) 28
c) 24
d) 22