You are on page 1of 3

Tema 4 – Tehnici de programare

1. Care din următoarele denumiri reprezintă o tehnică de programare:


a) programarea liniară b) programarea dinamică
c) programarea spectacolelor d) programarea inversată

2. Recursivitatea implică utilizarea unei:


a) stive b) cozi c) matrice d) instrucţiuni repetitive

Care din următoarele denumiri nu reprezintă o tehnică de programare:


3.
a) branch and bound b) modularizare c) backtracking d) structurare

4. Generarea tuturor permutărilor mulţimii {1,2,3,…,n} pentru n=100 durează:


a) câteva săptămâni b) aprox. 200 ani c) mii de ani d) peste 1000000 ani

5. Algoritmul de umplere a unei suprafeţe plane cu puncte colorate cu o culoare diferită de a


conturului utilizează:
a) backtracking b) recursivitate c) o coadă d) două “for”-uri

6. Cea mai utilizată tehnică de programare este:


a) greedy b) backtracking c) divide & impera d) recursivitate

7. Problema spectacolelor se referă la intervale cu:


a) intersecţia minimă b) reuniunea maximă c) intersecţia vidă d) reuniune minimă

8. Determinarea arborelui parţial de cost minim foloseşte tehnica:


a) backtracking b) greedy c) divide & impera d) recursivitate

9. Care metodă de programare are timpul de execuţie cel mai mic:


a) backtracking b) greedy c) divide & impera d) recursivitate

10. Care din problemele următoare nu se rezolvă cu backtracking:


a) colorarea hărţilor b) ciclu hamiltonian c) problema spectacolelor d) problema damelor

11. Căutarea binară presupune o tehnică:


a) recursivă b) greedy c) backtracking d) D & I

12. La generarea unor şiruri de numere x1, x2, …, xn cu backtracking funcţia valid(k) (sau
funcţia de continuare) verifică dacă:
a) xk este bun b) subşirul x1, x2,…, xk este bun
c) şirul x1, x2, …, xn este bun d) subşirul xk-1, xk este bun

13. Vrem să generăm numărul submulţimilor mulţimii {1,2,…,n} formate din k elemente,
pentru k=1,2,3,…,n. Cea mai potrivită metodă este:
a) backtracking b) D & I
c) greedy d) folosirea unei relaţii de recurenţă
14. Se dau n intervale a căror reuniune este intervalul [0,1000]. Pentru a alege un număr minim
de intervale a căror reuniune să fie mulţimea [0,1000] folosim:
a) backtracking b) D & I
c) greedy d) metoda Monte-Carlo

15. Se dă şirul x1, x2, …, xn. Ce tehnică de programare se foloseşte la definirea funcţiei care
determină cel mai mare număr din mulţimea {xp, xp+1, …, xq} scrisă astfel:
 x p , d a c pa = q

 x p , d a c qa = p + 1 s ix p > xq
M a(xp, q) = 
 xq , d a c qa = p + 1 s ixq ≥ x p
 M a(xM a(xp,[ (p + q) / 2] ) ,M a(x[ (p + q) / 2] + 1, q) i n r e s t

a) greedy b) backtracking c) div. et imp. d) modularizare

16. La algoritmul backtracking standard ce se întâmplă dacă am încercat toate valorile posibile
pentru xk:
a) se revine la xk-1, dacă k>1 b) se termină programul
c) se trece la xk+1, dacă k<n d) se afişează soluţia găsită

17. La algoritmul backtracking standard în ce condiţii se revine la nivelul anterior (k-1)?


a) după ce am găsit o valoare bună pentru xk b) dacă valoarea lui xk nu este bună
c) după ce am încercat toate valorile pentru xk d) după fiecare valoare încercată pentru xk

18. Care va fi valoarea returnată la apelul f_rec(4) dacă funcţia f_rec este definită astfel:
int f_rec(int n) {if(n==0) return 0; else return n+f_rec(n-1);}
a) 1 b) 6 c) 10 d) 21

19. Un algoritm pentru generarea permutărilor are complexitatea:


a) exponenţială b) liniară c) pătratică d) logaritmică

20. Generând şirurile de maximum 3 caractere distincte din mulţimea {A,B,C,D,E} ordonate
lexicografic, obţinem succesiv: A, AB, ABC, ABD,…. Ce şir va fi generat după BAE?
a) BC b) CAB c) BCA d) BEA

21. Generând prin backtracking permutările mulţimii 1,2,…,n în vectorul x1, x2 ,…, xn valoarea
xk (1 ≤ xk ≤ n) este validă dacă e îndeplinită condiţia:
a) xk ≠ x1, x2, …, xk-1 b) xk ≠ xk-1
c) xk ≠ x1, x2, …, xn d) xk ≠ xk-1 şi xk ≠ xk+1

22. Problema turnurilor din Hanoi se referă la:


a) o problemă de şah b) două turnuri din hanoi
c) aranjarea mesei la preoţii brahman d) un joc din secolul XIX

23. Algoritmii genetici sunt algoritmi:


a) greedy b) probabilişti c) recursivi d) div. & imp.

24. Pentru problema generării tuturor şirurilor de 2n paranteze care se închid corect, rezolvată
cu backtracking, funcţia valid trebuie să verifice:
a) numărul de paranteze deschise şi închise să fie egal
b) numărul de paranteze deschise să fie ≥ numărul de paranteze închise
c) numărul de paranteze deschise să fie ≤ n şi numărul de paranteze închise să fie ≤n
d) 0 ≤ diferenţa dintre nr. paranteze deschise şi nr. paranteze închise ≤ n-k

25. Pentru scrierea unui număr ca sumă de puteri ale lui 2 se foloseşte metoda:
a) greedy b) backtracking c) div. et imp. d) altă metodă

26. Soluţia (sau soluţiile) unei probleme se reprezintă ca şir (sau şiruri) de numere x1, x2, …, xn
cu anumite proprietăţi. Care din următoarele condiţii este obligatorie pentru rezolvarea
problemei prin metoda backtracking:
a) fiecare termen al şirului să aparţină aceluiaşi interval [a,b]
b) numărul n al termenilor şirului să fie cunoscut
c) să existe posibilitatea verificării corectitudinii (parţiale) a fiecărui subşir x1, x2, …, xk (k≤n)
d) să existe mai multe soluţii posibile

27. O problemă de optimizare presupune găsirea valorii optime (de obicei valoarea maximă
sau minimă) pentru anumite cerinţe. Ce tehnici nu sunt potrivite pentru rezolvarea unei astfel de
probleme?
a) greedy b) backtracking c) D & I d) probabilistice

28. Ce tehnică de programare ar putea fi numită aheadtracking?


(care este antonimul lui back? ar trebui fronttracking? straighttracking?, forwardtracking?)
a) backtracking b) divide & impera c) greedy d) recursivitate

29. Ce condiţie nu e necesară pentru existenţa unei rezolvări prin metoda Divide & Impera a
unei probleme?
a) problema să poată fi descompusă în două probleme parţiale similare
b) rezultatele celor două probleme parţiale să permită obţinerea rezultatului
c) după mai multe descompuneri să se ajungă la probleme cu rezultat uşor de obţinut
d) rezolvarea să presupună apelul recursiv al unei funcţii

30. Ce vrea să însemne MIGRENA PARCA DOARMI ?


a) tehnică de programare b) moldovenism medical
c) nu vă doare capul dacă dormiţi la informatică c) o instrucţiune în C++

You might also like