Documente Academic
Documente Profesional
Documente Cultură
În următorii 6 itemi, variabilele i, a, b, m, n sunt de tip întreg, iar x este de tip real. S-a folosit notaţia [x]
pentru partea întragă a numărului real x şi m%n pentru restul împărţirii lui m la n.
15. 1) ab 2) ma 3)bm 4) im 5) bi
Care sunt instrucţiunile numerotate şi care este ordinea lor de executare pentru ca la sfârşitul executării
secvenţei a să aibă valoarea iniţială a lui b, b valoarea iniţială a lui i, iar i valoarea iniţială a lui a?
a. 2 4 1 3 b. 2 1 5 4 c. 1 2 3 4 d. 2 3 4 5
16. Dacă executarea secvenţei alăturate se încheie exact după repetă xx*10 până când x=[x]
3 atribuiri, atunci valoarea iniţială a variabilei x poate fi:
a. 3000 b. 3.05 c. 0.003 d. 12.9
17. Dacă valoarea iniţială a lui m este 3, atunci la sfârşitul pentru i=1,400 execută
executării secvenţei alăturate, valoarea lui m va fi: dacă m<8 atunci m:=m*2
sfârşit pentru
a. 12 b. 2400 c. 24 d. 4002
18. Variabila întreagă perf trebuie să reţină câte numere naturale pătrate perfecte mai mari decât 0 şi mai
mici sau egale cu n există. Care este expresia cu care trebuie completată atribuirea perf=...?
a. sqrt(n) b. sqr(n) c. sqrt(n)+1 d. sqr(n)+1
19. Dacă a şi b au iniţial valorile 40 şi respectiv 12, la sfârşitul cât timp ab execută
secvenţei alăturate, ele vor avea valorile (respectiv): dacă a>b atunci aa–b
dacă b>a atunci bb-a
sfârşit cât timp
a. 0 şi 4 b. 0 şi 0 c. 4 şi 0 d. 4 şi 4
20. Ştiind că n este un număr natural neprim de două cifre, iar valoarea iniţială a variabilei i este 2, stabiliţi
care dintre secvenţele următoare calculează în variabila a cel mai mare divizor al lui n mai mic decât n?
a. cât timp n%i=0 execută ii+1 b. cât timp n%i>0 execută ii+1
ai a[n/i]
c. repetă ii+1 până când n%i=0 d. cât timp n%i=0 execută n[n/i]
a[n/i] an
Pentru următorii 10 itemi se consideră implicite proprietăţile: între oricare două noduri există cel mult o
muchie; de la orice vârf i la orice vârf j există cel mult un arc; nu există arc/muchie de la un nod la el însuşi.
21. Determinaţi numărul total de grafuri neorientate distincte cu 3 noduri. Două grafuri se consideră
distincte dacă matricele lor de adiacenţă diferă.
a. 64 b. 7 c. 8 d. 4
22. Un graf neorientat are 80 de noduri şi 80 de muchii. Numărul de noduri izolate este cel mult:
a. 67 b. 66 c. 10 d. 90
23. Un arbore are nodurile numerotate de la 1 la 5. Care poate fi vectorul de taţi corespunzător?
a. 2 4 0 3 4 b. 2 1 0 3 4 c. 5 2 4 5 0 d. 5 4 2 1 3
Informatică, proba e, Limbajul C/C++ 2 Varianta C
pentru absolvenţii claselor a XII-a, promoţia 2003
24. Dacă într-un graf neorientat conex cu n noduri, lista de adiacenţă a fiecărui nod este formată din exact
două elemente, atunci în graful respectiv există:
a. exact un ciclu b. cel puţin n/2 cicluri c. cel puţin două cicluri d. exact n/2 cicluri
25. Un arbore are 14 noduri. Atât rădăcina, cât şi fiecare dintre nodurile neterminale are cel puţin 3 descen-
denţi direcţi. Înălţimea maximă a arborelui (numărul maxim de muchii ce leagă rădăcina de o frunză) este:
a. 3 b. 5 c. 13 d. 4
26. Memorarea unui arbore cu ajutorul matricei de adiacenţă a grafului este o metodă:
a. recomandabilă b. neeficientă c. eficientă d. incorectă
27. Stabiliţi care dintre următoarele variante este matricea de
adiacenţă a unui subgraf al grafului din figura alăturată.
a. 0 1 1 b. 0 1 1 c. 0 0 0 d. 0 1 0
1 0 1 1 0 1 0 0 0 1 0 1
1 0 1 1 1 0 0 0 0 0 1 1
28. Se consideră arborele din figura alăturată. Care dintre noduri trebuie ales ca 1 2 3 4
rădăcină astfel încât înălţimea arborelui să fie minimă?
5 6 7
a. 3 b. 7 c. 5 d. 6
30. Reţeaua străzilor şi a traficului auto din Bucureşti se reprezintă corect cu ajutorul structurii de date:
a. listă liniară b. graf orientat c. graf neorientat d. arbore
31. Două şiruri de caractere notate cu s şi t sunt identice dacă:
a. strcmp(s,t)!=0 b. strlen(s)==strlen(t)
c. strcmp(s,t)==0 d. s[0]==t[0]
32. Este definită o funcţie smax care primeşte două valori întregi prin intermediul a doi parametri şi returnează
suma tuturor cifrelor celor două numere. De exemplu smax(73,608) returnează 24. Stabiliţi în ce mod
se poate apela funcţia smax pentru a determina suma cifrelor unui număr întreg n.
a. nu se poate utiliza b. smax(n,0) c. smax(n,1) d. smax(n, n)
33. Dacă se utilizează metoda backtracking pentru a genera toate permutările de 5 obiecte şi primele 4
permutări generate sunt: 5 4 3 2 1, 5 4 3 1 2, 5 4 2 3 1, 5 4 2 1 3, atunci a 5-a permutare este:
a. 5 4 3 2 1 b. 5 4 1 3 2 c. 5 3 4 2 1 d. 5 4 1 2 3
34. Se cere afişarea tuturor numerelor naturale formate din cifre nenule distincte, numere cu cel puţin 2
cifre şi cel mult 8 cifre. O modalitate eficientă de rezolvare presupune:
a. parcurgerea numerelor din intervalul [10, 108-1]
b. parcurgerea numerelor din intervalul [12, 98.765.432]
c. aplicarea metodei backtracking
d. aplicarea unei formule de calcul matematic
35. Se cere determinarea tuturor modalităţilor de planificare în zile diferite a 4 probe (rezistenţă, aruncarea
suliţei, sărituri, tir) în oricare dintre cele 7 zile dintr-o săptămână. Problema este echivalentă cu generarea:
a. aranjamentelor de 4 obiecte luate câte 7 b. aranjamentelor de 7 obiecte luate câte 4
c. combinărilor de 4 obiecte luate câte 7 d. combinărilor de 7 obiecte luate câte 4
36. Algoritmul lui Euclid este utilizat pentru :
a. calculul numărului de multipli b. calculul numărului de divizori
c. calculul celui mai mare divizor comun d. descompunerea în factori primi
40. O listă liniară simplu înlănţuită formată din cel puţin 10 elemente are adresa de început memorată iniţial
în variabila p. În câmpul ref al fiecărui nod al listei se memorează adresa elementului următor. Pentru a
reţine în p adresa penultimului element al listei se execută secvenţa:
a. while(p->ref->ref) p=p->ref b. while (!p) p=p->ref
c. while (p->ref) p=p->ref d. while (!p->ref) p=p->ref
41. Numărul minim de atribuiri necesare pentru interschimbarea valorilor a două variabile este:
a. 1 b. 2 c. 3 d. 0
42. Condiţia ca două puncte distincte A şi B (de tip structură) să aparţină aceleiaşi axe de coordonate este:
a. ((A.x==0)||(B.x==0))&&((A.y==0)||(B.y==0))
b. A.x==0 && B.x==0 || A.y==0 && B.y==0
c. ((A.x==0)||(A.y==0))&&((B.x==0)||(B.y==0))
d. (A.x==0)&&(B.x==0)&&(A.y==0)&&(B.y==0)
43. Este definită o funcţie min care primeşte două valori reale prin intermediul a doi parametri şi returnează
cea mai mică dintre cele două valori. Stabiliţi care dintre următoarele expresii nu este egală cu cea mai
mică dintre valorile reale a, b şi c.
a. min(min(a,b),c) b. min(a,min(b,c))
c. a+b+c-min(a,b)-min(a,c) d. min(min(a,b),min(a,c))
44. Funcţia prim(int i) returnează valoarea 1 dacă i este un int max(int i)
număr prim şi valoarea 0 în caz contrar. Funcţia recursivă max {
trebuie definită astfel încât apelul max(n) să returneze cel mai //1 nu este numar prim
mare număr prim mai mic sau egal cu n sau valoarea 0 în caz if (i<2) return 0;
else if (prim(i)) return i;
că nu există un astfel de număr. Care este expresia cu care
else return ...;
trebuie completată definiţia funcţiei?
}
a. 1+max(i-1) b. max(i-1) c. i-1 d. prim(i-1)
45. Subprogramul patcub returnează pătratul şi cubul unui număr real transmis prin parametrul a. Care
dintre următoarele variante este antetul corect al unui astfel de subprogram?
a. void patcub(float a, float &b, float &c)
b. float patcub(float a)
c. void patcub(float &a, float &b, &c)
d. void patcub(float a; float &b; float &c)