Subiect rezolvat · Informatică

Subiect admitere Informatică varianta 1 rezolvat — 10 grile C++

Variantă de antrenament cu 10 grile de nivel admitere: C++, complexitate, grafuri, recursivitate, baze de numerație, stive, combinatorică și sortare.

Întrebarea 1

Ce afișează secvența C++ de mai jos?

cppcod
int x = 7, y = 3; cout << x / y << " " << x % y;
  1. A)

    2 1

  2. B)

    2.33 1

  3. C)

    2 4

  4. D)

    3 1

Răspuns corect: A

Rezolvare pas cu pas

  1. x și y sunt de tip int, deci x / y este împărțire întreagă: 7:3=27 : 3 = 2 rest 11, rezultatul este 22.
  2. x % y este restul împărțirii: 7=3⋅2+17 = 3 \cdot 2 + 1, deci 11.
  3. Se afișează 2 1.

De ce este corect A și de ce celelalte variante sunt greșite

A este corect pentru că ambii operanzi sunt întregi. B ar fi adevărat doar dacă unul dintre operanzi ar fi double. C confundă restul cu 7−3=47-3=4. D rotunjește în sus, dar împărțirea întreagă trunchiază.

Întrebarea 2

Care este complexitatea în cazul cel mai defavorabil a căutării binare într-un vector sortat cu nn elemente?

  1. A)

    O(n)O(n)

  2. B)

    O(log⁡n)O(\log n)

  3. C)

    O(nlog⁡n)O(n \log n)

  4. D)

    O(1)O(1)

Răspuns corect: B

Rezolvare pas cu pas

  1. La fiecare pas comparăm elementul căutat cu mijlocul intervalului.
  2. Intervalul se înjumătățește: n,n/2,n/4,…,1n, n/2, n/4, \dots, 1.
  3. Numărul de pași kk satisface n/2k=1n/2^k = 1, deci k=log⁡2nk = \log_2 n.

De ce este corect B și de ce celelalte variante sunt greșite

B este corect: numărul de pași crește logaritmic. A este complexitatea căutării secvențiale. C este complexitatea sortărilor eficiente (merge sort). D ar însemna acces direct, fără comparații repetate.

Întrebarea 3

Câte muchii are un graf neorientat complet cu 6 noduri?

  1. A)

    30

  2. B)

    15

  3. C)

    12

  4. D)

    36

Răspuns corect: B

Rezolvare pas cu pas

  1. Într-un graf complet, oricare două noduri distincte sunt unite printr-o muchie.
  2. Numărul de perechi neordonate este C62=6⋅52=15C_6^2 = \frac{6 \cdot 5}{2} = 15.

De ce este corect B și de ce celelalte variante sunt greșite

B este corect după formula n(n−1)2\frac{n(n-1)}{2}. A = 6⋅56 \cdot 5 numără perechile ordonate (graf orientat). C nu corespunde niciunei formule. D = 626^2 include și bucle și perechi duble.

Întrebarea 4

Ce valoare returnează apelul f(2026)?

cppcod
int f(int n) { if (n == 0) return 0; return n % 10 + f(n / 10); }
  1. A)

    10

  2. B)

    2026

  3. C)

    6

  4. D)

    8

Răspuns corect: A

Rezolvare pas cu pas

  1. Funcția adună ultima cifră și se reapelează pentru numărul fără ultima cifră.
  2. f(2026)=6+f(202)=6+2+f(20)=6+2+0+f(2)=6+2+0+2+f(0)f(2026) = 6 + f(202) = 6 + 2 + f(20) = 6 + 2 + 0 + f(2) = 6+2+0+2+f(0).
  3. f(0)=0f(0) = 0, deci rezultatul este 1010 — suma cifrelor.

De ce este corect A și de ce celelalte variante sunt greșite

A este corect: funcția calculează suma cifrelor. B ar fi numărul însuși, dar funcția nu reconstruiește numărul. C este doar ultima cifră (primul pas). D omite o cifră de 2.

Întrebarea 5

Un arbore cu 10 noduri are exact:

  1. A)

    10 muchii

  2. B)

    9 muchii

  3. C)

    11 muchii

  4. D)

    20 de muchii

Răspuns corect: B

Rezolvare pas cu pas

  1. Un arbore este un graf conex și aciclic.
  2. Orice arbore cu nn noduri are n−1n - 1 muchii.
  3. Pentru n=10n = 10: 10−1=910 - 1 = 9.

De ce este corect B și de ce celelalte variante sunt greșite

B este corect. A ar închide un ciclu (un graf conex cu nn muchii și nn noduri are exact un ciclu). C și D au și mai multe muchii, deci conțin cicluri și nu mai sunt arbori.

Întrebarea 6

Ce valoare are s după execuție?

cppcod
int s = 0; for (int i = 1; i <= 10; i++) if (i % 3 == 0) s += i;
  1. A)

    18

  2. B)

    30

  3. C)

    9

  4. D)

    55

Răspuns corect: A

Rezolvare pas cu pas

  1. Se adună doar valorile lui i divizibile cu 3 din intervalul [1,10][1, 10].
  2. Acestea sunt 3,6,93, 6, 9.
  3. s=3+6+9=18s = 3 + 6 + 9 = 18.

De ce este corect A și de ce celelalte variante sunt greșite

A este corect. B ar include și 12, care depășește 10. C numără doar ultimul multiplu. D este suma tuturor numerelor de la 1 la 10, ignorând condiția.

Întrebarea 7

Numărul scris în baza 2 ca 101101(2)101101_{(2)} are în baza 10 valoarea:

  1. A)

    45

  2. B)

    43

  3. C)

    90

  4. D)

    37

Răspuns corect: A

Rezolvare pas cu pas

  1. Scriem puterile lui 2 de la dreapta la stânga: 1⋅25+0⋅24+1⋅23+1⋅22+0⋅21+1⋅201\cdot2^5 + 0\cdot2^4 + 1\cdot2^3 + 1\cdot2^2 + 0\cdot2^1 + 1\cdot2^0.
  2. =32+0+8+4+0+1=45= 32 + 0 + 8 + 4 + 0 + 1 = 45.

De ce este corect A și de ce celelalte variante sunt greșite

A este corect. B omite 202^0 și adună greșit. C = 45⋅245 \cdot 2, rezultatul unei deplasări la stânga (un 0 adăugat la final). D ignoră termenul 232^3.

Întrebarea 8

Într-o stivă inițial vidă se execută: push 1, push 2, push 3, pop, push 4, pop, pop. Ce element se află în vârful stivei?

  1. A)

    1

  2. B)

    2

  3. C)

    3

  4. D)

    4

Răspuns corect: A

Rezolvare pas cu pas

  1. push 1, 2, 3 → stiva: [1, 2, 3].
  2. pop scoate 3 → [1, 2]. push 4 → [1, 2, 4].
  3. pop scoate 4 → [1, 2]. pop scoate 2 → [1].
  4. Vârful este 1.

De ce este corect A și de ce celelalte variante sunt greșite

A este corect (stiva este LIFO). B ar fi vârful dacă ultimul pop lipsea. C a fost scos primul. D ar fi corect pentru o coadă (FIFO) interpretată greșit.

Întrebarea 9

Câte submulțimi cu exact 2 elemente are mulțimea {1,2,3,4,5}\{1, 2, 3, 4, 5\}?

  1. A)

    10

  2. B)

    20

  3. C)

    25

  4. D)

    32

Răspuns corect: A

Rezolvare pas cu pas

  1. Ordinea nu contează într-o submulțime, deci folosim combinări.
  2. C52=5!2! 3!=5⋅42=10C_5^2 = \frac{5!}{2!\,3!} = \frac{5 \cdot 4}{2} = 10.

De ce este corect A și de ce celelalte variante sunt greșite

A este corect. B = A52A_5^2 numără perechi ordonate. C = 525^2 permite repetiții și ordine. D = 252^5 este numărul tuturor submulțimilor.

Întrebarea 10

Vectorul [5,1,4,2,8][5, 1, 4, 2, 8] este sortat crescător prin metoda bulelor. Cum arată după prima trecere completă?

  1. A)

    [1, 4, 2, 5, 8]

  2. B)

    [1, 2, 4, 5, 8]

  3. C)

    [1, 5, 4, 2, 8]

  4. D)

    [5, 1, 4, 2, 8]

Răspuns corect: A

Rezolvare pas cu pas

  1. Comparăm perechi vecine și le interschimbăm dacă sunt în ordine greșită.
  2. (5,1) → [1,5,4,2,8]; (5,4) → [1,4,5,2,8]; (5,2) → [1,4,2,5,8]; (5,8) rămâne.
  3. După prima trecere: [1, 4, 2, 5, 8] — maximul a ajuns la final.

De ce este corect A și de ce celelalte variante sunt greșite

A este corect. B este vectorul complet sortat, obținut abia după a doua trecere. C este starea după o singură comparație. D este vectorul inițial, nemodificat.

Exersează Informatică

Reclamă