Sunteți pe pagina 1din 8

lOMoARcPSD|11562805

Grile-ATP-1 - Grile rezolvare ATP

Algoritmi si tehnici de programare (Academia de Studii Economice din București)

StuDocu is not sponsored or endorsed by any college or university


Downloaded by Teodora-Stefania BARAITARU (baraitaruteodora21@stud.ase.ro)
lOMoARcPSD|11562805

GRILE ATP

1. Fie multimea de litere [a,b,c,d] . Se genereaza permutarile acestei multimi. Precizati care sunt
solutiile anterioara si urmatoare solutiei cabd:
a) Bdac sic bad
b) Bdca si cadb
c) Bdca si cdba
d) Bcda si cdba
e) Bcda si cadb
2. Fie functia int s(int n) { int rez; if (n==0) rez=0; else rez=n+s(n-1); return rez;} In cadrul
apelului s(3) functia va returna valoarea:
a) 1
b) 6
c) 10
d) 7
e) 11
3. Care dintre urmatoarele afirmatii referitoare la metoda divide et impera sunt adevarate?
1) Este utilizata in rezolvarea unor probleme complexe
2) Implementarea este realizata de obicei prin subprogram recursive
3) Se aplica pentru problemele care pot fi descompuse in mai multe problem cu
complexitate mai mica
4) Rezolvarea problemelor rezultate in urma descompunerii este mai usoara decat
rezolvarea intregii problem initiale
5) Pentru fiecare dintre problemele rezultate in urma descompunerii se aplica un procedeu
diferit de descompunere:
a) 1,2,3,4,5
b) 1,3,4,5
c) 2,3,4,5
d) 1,2,3,4
e) 3,4
4. Fie graful G=(V,E) graf cu V={1,2,3,4,5,6,7}, E={(1,4),(1,5),(2,4),(3,6),(4,7)} si v0=2. Ordinea in
care sunt vizitate varfurile corespunzator parcurgerii in latime BF este:
a) 1,2,4,5,7
b) 2,3,6
c) 2,1,7,5
d) 2,4,1,7,5,3,6
e) 2,4,1,7,5
5. Care dintre urmatoarele afirmatii nu este adevarata:
a) Un algoritm iterative sau recursive poate fi implementat printr-un subprogram iterative
sau recursiv
b) Un subprogram recursive genereaza (cel putin) un apel catre el insusi
c) La recursivitatea directa apelul recursive se realizeaza prin intermediul mai multor functii
care se apeleaza circular
d) Recursivitatea directa poate fi simpla sau multipla
e) Fiecare apel recursive trebuie aplicat unei problem mai simple decat in pasul anterior

Downloaded by Teodora-Stefania BARAITARU (baraitaruteodora21@stud.ase.ro)


lOMoARcPSD|11562805

6. Algoritmul prezentat in figura alaturata determina:


a) Drumurile minime de la un nod al unui graf la toate celelalte noduri din graf
b) Arborele partial de cost minim (algoritmul lui Kruskal)
c) Arborele partial de cost minim (alg. lui Prim)
d) Toate componentele conexe ale unui graf
e) Costurile drumurilor de la varful initial v0 la toate celelalte noduri din graf’

7. Un graf neorientat G contine un arbore partial daca si numai daca G este:


a) Aciclic
b) Digraph
c) Culerian
d) Hamiltonina
e) Conex
8. Un arbore directionat este:
a) Un graf orientat asimetric cu graful suport corespunzator lui de tip arbore
b) Un graf orientat simetric si graful suport corespunzator lui de tip arbore
c) Un graf neorientat si graful suport corespunzator lui de tip arbore
d) Un graf conex neorientat si …….
e) Niciuna din variantele de mai sus
9. In configuratia urmatoare (specifica metodei backtracking)

Prezentata operatia de:


a) Atribuire si avanseaza
b) Incercare esuata
c) Revenire dupa construirea unei solutii
d) Revenire
e) Nu exista o astfel de operatie
10. Care din urmatoarele afirmatii referitoare la implementarea recursiva este adevarata:
a) Consuma minimul de resure de memorie
b) Timp de executie mic
c) Usurinta in proiectare/programare (lungime mica a codului sursa)
d) Scaderea numarului de operatii
e) Se poate aplica numai pentru rezolvarea unor problem complexe, care nu pot fi rezolvate
prin implementare iterative

Downloaded by Teodora-Stefania BARAITARU (baraitaruteodora21@stud.ase.ro)


lOMoARcPSD|11562805

11. Reteaua strazilor auto din Bucuresti se reprezinta correct cu ajutorul structurii de date:
a) Graf neorientat
b) Arbore
c) Lista liniara
d) Graf orientat
e) Lista dublu inlantuita
12. Care dintre urmatoarele afirmatii legate de subprogram recursive sunt adevarate:
1) Pot fi bazate pe o metoda de tip reducere;
2) Pot fi bazate pe o metoda de tip descompunere;
3) Pot fi folosite in rezolvarea problemelor care utilizeaza metoda divide et impera;
4) Pot fi folosite la implementarea algoritmilor de parcurgere a arboritlor
5) Nu pot fi scrise pentru implementarea unor algoritmi iterative
a) Toate;
b) 2,3,4,5
c) 1,2,3
d) 2,3,4
e) 1,2,3,4
13. Tie subprogramul void Test(int i, int n){ printf(“*”); if(i<n) Test(i+1,n); printf(“+”);}. Ce va afisa
apelul Test(1,5)?
a) *+++++
b) *****+
c) *****
d) +++++
e) *****+++++

14. Fie graful G=(V,E) cu V={1,2,3,4,5,6}, E={(1,2),(1,4),(2,4),(5,6)} si v0=2. Ordinea in care sunt
vizitate varfurile corespunzator parcurgerii in latime BF este: (NICIUN RASPUNS CORECT)
a) 2,1,3,5,6,4
b) 2,3,1,5,6,4
c) 1,2,4,5,6
d) 2,1,4,5,3,6
e) 2,1,4,5,6
15. Care dintre urmatoarele afrimatii nu este valabila pentru algoritmul Kruskal:
a) Determina arborele partial de cost minim
b) Dintre arcele disponibile (care nu au fist analizate inca) se allege arcul cu ponderea cea
mai mica si care nu formeaza ciclu prin adaugare la arbore
c) Dintre arcele disponibile se allege arcul cu ponderea mai mica si care formeaza ciclu prin
adaugarea la arbore
d) Multimea muchiilor selectate E0 se initializeaza la inceput cu multumea vida
e) Determina n-1 muchii, unde n este numarul varfurilor
16. Metoda Greedy este:
a) O metoda rapida, de complexitate redusa, care genereaza intotdeauna Solutia optima a
problemei tinand cont de contextual general
b) O metoda lenta, de complexitate mare care genereaza toate solutiile posibile
c) O metoda rapita de complexitate mare, care genereaza Solutia optima a problemei

Downloaded by Teodora-Stefania BARAITARU (baraitaruteodora21@stud.ase.ro)


lOMoARcPSD|11562805

d) Este o metoda rapida, de complexitate redusa, pentru obtinerea unei solutii


acceptabile(dar nu neaparat cea mai buna)
e) Este o metoda costisitoare, care la fiecare pas allege cea mai buna cale tinand cont de
contextual general

17. Un graf reprezentat prin matrice de adiacenta poate fi verificat daca este optim prin
urmatoarele metode:
1) Folosind parcurgerea in adancime
2) Folosind parcurgerea in latime
3) Folosind matricea existentei drumurilor
4) Folosind metoda backtracking
a) 1,2,3,4
b) 1,2,3
c) 3
d) 1,2
e) Nici una din variantele prezentate
18. Secventa: for(inc=n/2; inc>0; inc=inc/2) for(i=inc;i<n;i++) for(j=i-inc;ij>=0) &&… realizeaza
a) Sortarea elem unui vector prin Quicksort
b) Sortarea elem unui vector prin interclasare
c) Sortarea elem unui vector prin Shell
d) Sortarea elem unui vector prin interschimbare
e) Compactarea elem unui vector
19. Daca G este un graf neorientat, conex si aciclic, atunci graful:
a) Este complet
b) Este arbore
c) Este asimetric
d) Poate avea varfuri izolate
e) Este digraph
20. Fie arborele din figura. Parcurgerea prin metoda A-postordine (Fiu-Frate) determina
urmatoarea evolutie:
a) 1,2,3,4,5,6,7,8,9,10,11,12,13
b) 1,2,5,6,9,10,11,12,13,7,3,4,8
c) 5,9,10,11,12,13,6,7,2,3,8,4,1
d) 9,10,11,12,13,5,6,7,8,2,3,4,1
e) 13,12,11,10,9,8,7,6,5,4,3,2,1
21. Care dintre urmatoarele afirmatii legate de subprograme recusive nu este adevarata:
a) repetarea este asigurata prin autoapel
b) trebuie sa existe o conditie de oprire(sau de continuare) a generarii de noi apelori
c) pot fi utilizate in rezolvarea unor problem care utilizeaza metoda backtracking
d) pot fi folosite numai pentru implementarea unor algoritmi recursive
e) necesita consum suplimentar de resurse
22. Un algoritm de tip backtracking genereaza, in ordine, toate permutarile unei multimi cu 5
elemente. Primele 4 solutii generate sunt: 12345 12354 12435 12453. Care este a 5a solutie
generate a acestui algoritm?
a) 13245

Downloaded by Teodora-Stefania BARAITARU (baraitaruteodora21@stud.ase.ro)


lOMoARcPSD|11562805

b) 13254
c) 13425
d) 12534
e) 12543

23. Intr-un graf neorientat G, notam cu n numarul de varfuri si cu m numarul de muchii. Daca
graful este un arbore, atunci intre n si m exista urmatoarea relatie matematica:
a) m=n+2
b) n=m-1
c) n=m+1
d) n=m+2
e) n=m
24. Fie functia: int f(int n){ int rez; if(n==0) rez = 0; else if (n%2) rez = n+f(n-1); else rez=n/f(n-1);
return rez;} Ce va returna apelul f(4)?
a) 10
b) 7
c) 9
d) 17
e) 5
25. Care dintre urmatoarele afirmatii legate de metoda backtracking sunt adevarate:
1) Este o metoda lenta
2) Este o metoda costisitoare
3) Este o metoda de complexitate mare
4) Este o metoda rapida
5) Solutia se construieste element cu element
6) Verificarea conditiei de continuare nu garanteaza obtinerea unei solutii rezultat
7) Veridicarea conditiei de continuare garanteaza obtinerea unei solutii rezultat:
a) 1,2,3,5,7
b) 2,3,4,5,6
c) 1,2,3,5,6
d) 1,2,3,7
e) 4,7
26. Algoritmul Dijkstra:
a) Calculeaza distanta si drumul minim intre 2 noduri date ale unui graf
b) Determina distantele intre oricare doua noduri ale unui graf
c) Determina drumurile minime intre toate nodurile din graf
d) Determina toate drmurile posibile intre 2 noduri date
e) Calculeaza distantele si drumurile minime de la un nod al unui graf la toate celelalte
noduri din graf
27. Fie functia: int calc(int n){ int rez; if (n==0 || n==1) rez =1; else rez = 2*calc(n-1)+calc(n-2);
return rez;} Ce va returna apelul calc(3)?
a) 17
b) 15
c)9
d)7

Downloaded by Teodora-Stefania BARAITARU (baraitaruteodora21@stud.ase.ro)


lOMoARcPSD|11562805

e)21;

28. Care din urmatoarele afirmatii nu corespunde metodei Greedy (metoda optimului local):
a) Problema poate fi imaginata ca o multime A cu n elemente
b) Pot exista mai multe submultimi diferite acceptabile (solutii posibile), dar dintre care una
este considerate solutie optima pe baza unui criteriu care trebuie maximizat(minimizat);
c) O solutie posibila este o submultime B care indeplineste o conditie data (B este
acceptabila)
d) Se repeata selectarea unui element din multimea A de maxim n ori(numarul de elem.
Corespunzatoare multimii A)
e) Problema se descompune in probleme de complexitate mai mica sau problem cu
rezolvare imediata
29. Prin recursivitate indirecta se intelege:
a) Un subprogram, A apeleaza subprogramul A
b) Un subprogram A apeleaza un alt subprogram B care apeleaza subprogramul C
c) Un subprogram A apeleaza un alt subprogram B, iar subpg. B apeleaza subpg. A
d) Un subprogram A apeleaza un alt subprogram B, iar subpg. B nu apeleaza A
e) Niciuna din variantele de mai sus
30. Fie graful G=(V,E), cu V={1,2,3,4,5,6,7,8,9}, E={(1,2),(1,4),(2,7),(2,8),(3,6),(3,9),(4,5),(4,7),(7,8)}
si v0=4. Ordinea in care sunt vizitate varfurile corespunzator pargurgerii in adancime DF este:
a) 4,2,1,7,5,8
b) 3,6,9
c) 4,2,1,5,7,8
d) 4,1,2,7,8,5,3,6,9
e) 4,1,2,7,8,5

31. Care din urmatoarele afirmatii legate de sortarea crescatoare prin interclasarea unei
secvente de numere reale este adevarata:
a) Pozitioneaza un element astfel incat toate elementele care ajung in fata lui sa fie mai mici
decat el si toate cele care ii urmeaza sa fie mai mari decat el
b) Insereaza un element intr-un vector ordonat pe pozitia curenta
c) Este denumita si sortare prin interschimbare
d) Determina minimul din vector si il insereaza pe pozitia corecta
e) Utilzeaza metoda divide et impera
32. Determinarea arborelui partial de cost minim se poate face folosind:
1) Prim
2) Kruskal
3) Roy-Warshall
4) Roy-Floyd
a) 2
b) 2,3,4
c) 1,2
d) 3,4
e) 1,2,3,4

Downloaded by Teodora-Stefania BARAITARU (baraitaruteodora21@stud.ase.ro)


lOMoARcPSD|11562805

33. Un algoritm de tip backtracking genereaza, in ordine, toate permutarile unei multimi cu 4
elemente. Primele 3 solutii generate sunt: 1234 1243 1324. Care este a 4a solutie?
a) 2143
b) 2134
c) 1423
d) 1342
e) 1432

34. Care dintre urmatoarele afirmatii referitoare la metoda Divide et Impera nu este adevarata:
a) Implementarea este realizata de obicei prin subprogram recursive
b) Descompune problema in problem de complexitate mai mica de acelasi tip cu problema
initial sau in problem cu rezolvare imediata(primitive)
c) Combina(asambleaza) solutiile problemelor obtinute in urma descompunerii pentru a
obtine Solutia problemei initiale
d) Descompune problema in problem de complexitate mai mica pentru care se apeleaza
alte metode de descompunere diferite de descompunerea initial
e) Sunt definite subprogram primitive(conditii terminale) a caror solutie este cunoscuta sau
data
35. Subprogramul int cauta(float v[], intn, float val){ int rez; if(n==0) rez = -1; else if (v[n-1]==val)
rez=n-1; else rez=cauta(v,n-1,val); return rez;} calculeaza
a) Prima aparitie a unei valori date (val) intr-un vector
b) Ultima aparitie a unei valori date intr-un vector
c) Prima si ultima aparitie a unei valori date intr-un vector
d) Numarul de aparitii ale unei valori date intr-un vector
e) Prima valoare diferita de valoarea data
36. Care din urmatoarele afirmatii referitoare la arborele orientat sunt adevarate?
1) graful support este conex
2) graful support este acyclic
3) este graf asimetric
4) este graf simetric
5) este arbore directionat cu radacina
6) este arbore directionat fara radacina
a) toate
b) 1,2,3,5
c) 1,2,3,6
d) 1,2,4,5
e) 6

Downloaded by Teodora-Stefania BARAITARU (baraitaruteodora21@stud.ase.ro)

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