Sunteți pe pagina 1din 4

Probă scrisă la INFORMATICĂ

Limbajul C/C++ Tip probă: e


–pentru absolvenţii claselor a XII-a, promoţia 2003–
Sesiunea specială VARIANTA B
 Toţi itemii sunt obligatorii. Fiecare item are un singur răspuns corect.
 Se acordă câte 2 puncte pentru fiecare răspuns corect. Se acordă 10 puncte din oficiu.
 Timpul efectiv de lucru este de 3 ore.
 Pentru fiecare item, completaţi pe foaia de examen răspunsul pe care-l consideraţi corect cu
simbolul O, iar răspunsurile considerate greşite cu simbolul X.
 Atenţie: La întrebările care admit răspunsuri diferite pentru limbajul C respectiv C++, aceste
răspunsuri sunt separate cu ajutorul simbolului /.

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.
1. Determinaţi numărul total de grafuri neorientate distincte cu 3 noduri. Două grafuri se consideră
distincte dacă matricele lor de adiacenţă diferă.
a. 8 b. 7 c. 64 d. 4
2. 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. 4 b. 13 c. 3 d. 5
3. Se consideră graful din figura alăturată. Determinaţi matricea de adiacenţă
corespunzătoare.
a. 0 1 1 1 b. 0 1 0 1 c. 0 1 1 1 d. 0 1 1 1
1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0
1 1 0 0 0 1 0 1 1 1 0 1 1 1 0 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

4. 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. 7 b. 3 c. 5 d. 6

5. Un graf neorientat are 80 de noduri şi 80 de muchii. Numărul de noduri izolate este cel mult:
a. 66 b. 90 c. 67 d. 10
6. Un arbore are nodurile numerotate de la 1 la 5. Care poate fi vectorul de taţi corespunzător?
a. 5 2 4 5 0 b. 5 4 2 1 3 c. 2 1 0 3 4 d. 2 4 0 3 4
7. Memorarea unui arbore cu ajutorul matricei de adiacenţă a grafului este o metodă:
a. recomandabilă b. neeficientă c. eficientă d. incorectă
8. Stabiliţi care dintre următoarele variante este matricea de
adiacenţă a unui subgraf al grafului din figura alăturată.
a. 0 0 0 b. 0 1 1 c. 0 1 1 d. 0 1 0
0 0 0 1 0 1 1 0 1 1 0 1
0 0 0 1 0 1 1 1 0 0 1 1

9. 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. cel puţin n/2 cicluri b. exact n/2 cicluri c. cel puţin două cicluri d. exact un ciclu
10. Reţeaua străzilor şi a traficului auto din Bucureşti se reprezintă corect cu ajutorul structurii de date:
a. graf orientat b. graf neorientat c. arbore d. listă liniară
11. Numărul minim de atribuiri necesare pentru interschimbarea valorilor a două variabile este:
a. 3 b. 0 c. 2 d. 1

Informatică, proba e, Limbajul C/C++ 1 Varianta B


pentru absolvenţii claselor a XII-a, promoţia 2003
12. 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,1) c. smax(n,0) d. smax(n, n)

13. 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. aplicarea unei formule de calcul matematic
b. parcurgerea numerelor din intervalul [12, 98.765.432]
c. aplicarea metodei backtracking
d. parcurgerea numerelor din intervalul [10, 108-1]

14. 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
15. 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]
16. 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. combinărilor de 4 obiecte luate câte 7 b. combinărilor de 7 obiecte luate câte 4
c. aranjamentelor de 7 obiecte luate câte 4 d. aranjamentelor de 4 obiecte luate câte 7
17. Condiţia ca ambele numere întregi de cel mult 3 cifre fiecare n şi p să fie nenule este:
a. (n!=0)||(p!=0) b. np!=0
c. n+p!=0 d. !(n==0 && p==0)
18. 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
//1 nu este numar prim
trebuie definită astfel încât apelul max(n) să returneze cel mai
if (i<2) return 0;
mare număr prim mai mic sau egal cu n sau valoarea 0 în caz 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. i-1 b. max(i-1) c. 1+max(i-1) d. prim(i-1)
19. 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) p=p->ref b. while (!p->ref) p=p->ref
c. while(p->ref->ref) p=p->ref d. while (!p) p=p->ref
20. 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. void patcub(float &a, float &b, &c)
c. float patcub(float a)
d. void patcub(float a; float &b; float &c)

21. O listă liniară simplu înlănţuită, cu adresa de început memorată în variabila p este vidă dacă:
a. p==NULL / !*p b. p==NULL / !p c. p!=NULL / *p d. p!=NULL / p
22. Generarea tuturor şirurilor de 3 elemente, fiecare element putând fi orice număr din mulţimea {1, 2, ..., 6},
se realizează cu ajutorul unui algoritm echivalent cu algoritmul de generare a:
a. produsului cartezian b. aranjamentelor c. permutărilor d. combinărilor
23. 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)||(A.y==0))&&((B.x==0)||(B.y==0))
b. (A.x==0)&&(B.x==0)&&(A.y==0)&&(B.y==0)
c. ((A.x==0)||(B.x==0))&&((A.y==0)||(B.y==0))
d. A.x==0 && B.x==0 || A.y==0 && B.y==0
Informatică, proba e, Limbajul C/C++ 2 Varianta B
pentru absolvenţii claselor a XII-a, promoţia 2003
24. 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),min(a,c)) b. min(a,min(b,c))
c. min(min(a,b),c) d. a+b+c-min(a,b)-min(a,c)
25. Algoritmul lui Euclid este utilizat pentru :
a. calculul numărului de multipli b. descompunerea în factori primi
c. calculul celui mai mare divizor comun d. calculul numărului de divizori

Se consideră algoritmul pseudocod 1 citeşte n


alăturat ale cărui linii au fost numerotate 2 k  –10 ; S  0
de la 1 la 10. 3 pentru i=1,n execută
4 citeşte Vi {număr întreg}
Valoarea lui n este un număr natural din 5 dacă Vi<=k atunci Vi0 altfel k  Vi
mulţimea {1, 2, …, 50}. 6 sfârşit pentru
7 pentru i=1,n execută
Următorii 14 itemi se referă la acest 8 dacă Vi>0 atunci SS+1
algoritm. 9 sfârşit pentru
10 scrie S

26. În limbajul C/C++, instrucţiunea corespunzătoare liniei 1 este:


a. printf("%d",n); / cout<<n; b. printf("%d";n); / cout>>n;
c. scanf("%d";&n); / cin<<n; d. scanf("%d",&n); / cin>>n;
27. Dacă, după ce se citeşte n, se citesc, în ordine, numerele de la –20 la 20, atunci se afişează:
a. 41 b. 21 c. 40 d. 20
28. Dacă, după ce se citeşte n, se mai citesc, în ordine, toate numerele de la –20 la 20, atunci n era egal cu:
a. 20 b. 40 c. 41 d. 50
29. În limbajul C/C++, instrucţiunea corespunzătoare liniei 8 este:
a. if V[i]>0 S=S+1; b. if(V[i]>0) S++;
c. if [V(i)>0] S++; d. if(V[i]>0) S:=S+1;
30. Dacă se citeşte n=8 şi apoi se citesc numai valori egale cu -3, atunci se afişează
a. eroare b. 0 c. 8 d. 1
31. Pentru a obţine un algoritm echivalent, secvenţa corespunzătoare liniilor de la 3 la 9 poate fi înlocuită cu:
a. pentru i=1,n execută b. pentru i=1,n execută
citeşte x {număr întreg} citeşte x {număr întreg}
dacă x>k şi x>0 atunci SS+1 dacă x>0 atunci SS+1
kx kx
sfârşit pentru sfârşit pentru
c. pentru i=1,n execută d. pentru i=1,n execută
citeşte x {număr întreg} citeşte x {număr întreg}
daca x>k şi x>0 atunci SS+1 dacă x>k atunci kx
dacă x>k atunci kx dacă x>0 atunci SS+1
sfârşit pentru sfârşit pentru

32. Dacă se citeşte n=9 şi apoi se citesc, în ordine, numere naturale nenule consecutive, atunci se afişează:
a. eroare b. 0 c. 1 d. 9
33. O declarare corectă a variabilelor în programul C/C++ corespunzător se realizează prin secvenţa:
a. typedef int vector[51]; b. unsigned int v[51];
vector vi; unsigned int n; int S,k; int n,k,i,S;
c. int v[51],n,k,i,S; d. typedef int vector[51];
vector v; unsigned int n,i,S,k;

34. Dacă se citeşte n=6 şi apoi se introduc succesiv valorile 8 2 6 10 5 19, atunci se afişează valoarea:
a. 2 b. 3 c. 5 d. 6
Informatică, proba e, Limbajul C/C++ 3 Varianta B
pentru absolvenţii claselor a XII-a, promoţia 2003
35. Datele structurate utilizate în algoritmul dat sunt:
a. un tablou bidimensional b. două tablouri unidimensionale
c. un tablou unidimensional d. un tablou uni– şi unul bidimensional
36. Structurile repetitive utilizate sunt:
a. o structură repetitivă cu contor b. două structuri repetitive cu contor succesive
c. două structuri repetitive cu contor imbricate d. două tipuri diferite de structuri repetitive
37. Dacă valoarea citită pentru n este 12, atunci numărul total de valori citite prin program este:
a. 1 b. 12 c. 13 d. 6
38. Dacă se citeşte n=10 şi apoi se citesc numai valori egale cu 10, atunci se afişează
a. 9 b. 0 c. 1 d. 10
39. Secvenţa de algoritm corespunzătoare liniilor 7-9 realizează:
a. numărarea elementelor nenule din v b. numărarea elementelor strict pozitive din v
c. însumarea elementelor nenule din v d. însumarea elementelor strict pozitive din v

Î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.

40. 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. sqr(n) b. sqrt(n) c. sqr(n)+1 d. sqrt(n)+1
41. 1) ab 2) ma 3)bm 4) im 5) bi
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 1 5 4 b. 2 3 4 5 c. 1 2 3 4 d. 2 4 1 3
42. Dacă a şi b au iniţial valorile 40 şi respectiv 12, la sfârşitul cât timp ab execută
secvenţei alăturate, ele vor avea valorile (respectiv): dacă a>b atunci aa–b
dacă b>a atunci bb-a
sfârşit cât timp
a. 4 şi 4 b. 0 şi 0 c. 4 şi 0 d. 0 şi 4
43. Dacă executarea secvenţei alăturate se încheie exact după repetă xx*10 până când x=[x]
3 atribuiri, atunci valoarea iniţială a variabilei x poate fi:
a. 12.9 b. 0.003 c. 3000 d. 3.05
44. 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. 4002 c. 24 d. 2400
45. Ş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ă n[n/i] b. cât timp n%i=0 execută ii+1
an ai
c. cât timp n%i>0 execută ii+1 d. repetă ii+1 până când n%i=0
a[n/i] a[n/i]

Informatică, proba e, Limbajul C/C++ 4 Varianta B


pentru absolvenţii claselor a XII-a, promoţia 2003

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