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 A
 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 /.

1. Algoritmul lui Euclid este utilizat pentru :


a. calculul celui mai mare divizor comun b. calculul numărului de divizori
c. calculul numărului de multipli d. descompunerea în factori primi
2. 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 3 4 2 1 b. 5 4 1 3 2 c. 5 4 3 2 1 d. 5 4 1 2 3
3. 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. combinărilor b. aranjamentelor c. produsului cartezian d. permutărilor
4. 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) p=p->ref b. while (!p->ref) p=p->ref
c. while(p->ref->ref) p=p->ref d. while (p->ref) p=p->ref
5. 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(a,min(b,c)) b. min(min(a,b),c)
c. min(min(a,b),min(a,c)) d. a+b+c-min(a,b)-min(a,c)
6. 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. max(i-1) b. i-1 c. 1+max(i-1) d. prim(i-1)
7. 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 && B.x==0 || A.y==0 && B.y==0
d. ((A.x==0)||(A.y==0))&&((B.x==0)||(B.y==0))

8. 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]
9. 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. smax(n,0) b. smax(n,1) c. smax(n, n) d. nu se poate utiliza

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


pentru absolvenţii claselor a XII-a, promoţia 2003
10. Condiţia ca ambele numere întregi de cel mult 3 cifre fiecare n şi p să fie nenule este:
a. n+p!=0 b. !(n==0 && p==0) c. (n!=0)||(p!=0) d. np!=0

11. Numărul minim de atribuiri necesare pentru interschimbarea valorilor a două variabile este:
a. 2 b. 0 c. 1 d. 3
12. 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

13. 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 7 obiecte luate câte 4 b. aranjamentelor de 4 obiecte luate câte 7
c. combinărilor de 7 obiecte luate câte 4 d. combinărilor de 4 obiecte luate câte 7
14. 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 metodei backtracking
b. parcurgerea numerelor din intervalul [10, 108-1]
c. aplicarea unei formule de calcul matematic
d. parcurgerea numerelor din intervalul [12, 98.765.432]

15. 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, &c)
b. void patcub(float a, float &b, float &c)
c. float patcub(float a)
d. void patcub(float a; float &b; float &c)

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
16. O declarare corectă a variabilelor în programul C/C++ corespunzător se realizează prin secvenţa:
a. int v[51],n,k,i,S; b. typedef int vector[51];
vector vi; unsigned int n; int S,k;
c. typedef int vector[51]; d. unsigned int v[51];
vector v; unsigned int n,i,S,k; int n,k,i,S;

17. Datele structurate utilizate în algoritmul dat sunt:


a. un tablou uni– şi unul bidimensional b. două tablouri unidimensionale
c. un tablou bidimensional d. un tablou unidimensional
18. Dacă, după ce se citeşte n, se citesc, în ordine, numerele de la –20 la 20, atunci se afişează:
a. 20 b. 41 c. 21 d. 40
19. Dacă se citeşte n=10 şi apoi se citesc numai valori egale cu 10, atunci se afişează
a. 10 b. 0 c. 9 d. 1
20. Secvenţa de algoritm corespunzătoare liniilor 7-9 realizează:
a. numărarea elementelor nenule din v b. însumarea elementelor strict pozitive din v
c. însumarea elementelor nenule din v d. numărarea elementelor strict pozitive din v
21. În limbajul C/C++, instrucţiunea corespunzătoare liniei 1 este:
a. scanf("%d";&n); / cin<<n; b. printf("%d",n); / cout<<n;
c. scanf("%d",&n); / cin>>n; d. printf("%d";n); / cout>>n;
Informatică, proba e, Limbajul C/C++ 2 Varianta A
pentru absolvenţii claselor a XII-a, promoţia 2003
22. Dacă se citeşte n=6 şi apoi se introduc succesiv valorile 8 2 6 10 5 19, atunci se afişează valoarea:
a. 3 b. 2 c. 5 d. 6
23. Structurile repetitive utilizate sunt:
a. două tipuri diferite de structuri repetitive b. două structuri repetitive cu contor imbricate
c. o structură repetitivă cu contor d. două structuri repetitive cu contor succesive
24. Dacă valoarea citită pentru n este 12, atunci numărul total de valori citite prin program este:
a. 6 b. 13 c. 1 d. 12
25. Î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;
26. 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
27. Dacă se citeşte n=8 şi apoi se citesc numai valori egale cu -3, atunci se afişează
a. eroare b. 1 c. 0 d. 8
28. 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 daca x>k şi x>0 atunci SS+1
kx dacă x>k atunci 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}
dacă x>0 atunci SS+1 dacă x>k atunci kx
kx dacă x>0 atunci SS+1
sfârşit pentru sfârşit pentru

29. Dacă se citeşte n=9 şi apoi se citesc, în ordine, numere naturale nenule consecutive, atunci se afişează:
a. 9 b. 1 c. 0 d. eroare

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

30. 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. 0 şi 0 b. 4 şi 4 c. 0 şi 4 d. 4 şi 0
31. 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 4 1 3 c. 1 2 3 4 d. 2 3 4 5
32. 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. 3000 c. 0.003 d. 3.05
33. 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. sqr(n)+1 c. sqrt(n)+1 d. sqrt(n)
34. Ş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ă ii+1 b. cât timp n%i=0 execută ii+1
a[n/i] ai
c. cât timp n%i=0 execută n[n/i] d. repetă ii+1 până când n%i=0
an a[n/i]

Informatică, proba e, Limbajul C/C++ 3 Varianta A


pentru absolvenţii claselor a XII-a, promoţia 2003
35. 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. 24 b. 2400 c. 12 d. 4002

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.

36. 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 n/2 cicluri b. cel puţin n/2 cicluri c. cel puţin două cicluri d. exact un ciclu
37. Un arbore are nodurile numerotate de la 1 la 5. Care poate fi vectorul de taţi corespunzător?
a. 5 4 2 1 3 b. 5 2 4 5 0 c. 2 4 0 3 4 d. 2 1 0 3 4
38. Memorarea unui arbore cu ajutorul matricei de adiacenţă a grafului este o metodă:
a. neeficientă b. eficientă c. recomandabilă d. incorectă
39. 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 0 1 0 1 1 1 0
1 1 0 1 0 1 0 1 1 1 0 0 1 1 0 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

40. Un graf neorientat are 80 de noduri şi 80 de muchii. Numărul de noduri izolate este cel mult:
a. 90 b. 67 c. 10 d. 66
41. 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. 6 b. 3 c. 7 d. 5

42. 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 0 0 c. 0 1 0 d. 0 1 1
1 0 1 0 0 0 1 0 1 1 0 1
1 1 0 0 0 0 0 1 1 1 0 1

43. Reţeaua străzilor şi a traficului auto din Bucureşti se reprezintă corect cu ajutorul structurii de date:
a. listă liniară b. arbore c. graf neorientat d. graf orientat
44. 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. 5 c. 3 d. 13
45. Determinaţi numărul total de grafuri neorientate distincte cu 3 noduri. Două grafuri se consideră
distincte dacă matricele lor de adiacenţă diferă.
a. 7 b. 8 c. 4 d. 64

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


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

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