← Toate articolele
Bacalaureat18 septembrie 2026· 8 min citire

Structura subiectelor la BAC Informatică (C++): punctaj, timp și strategie de rezolvare

Cum arată proba E.d la informatică C/C++: 20 de puncte la Subiectul I, 40 la Subiectul II, 30 la Subiectul III. Punctaj pe item, buget de timp și strategia care aduce puncte.

Structura subiectelor la BAC Informatică (C++): punctaj, timp și strategie

Majoritatea elevilor pierd puncte la informatică nu pentru că nu știu materia, ci pentru că intră în examen fără o hartă a subiectului. Nu știu cât valorează fiecare item, nu au un buget de timp și ajung să investească 40 de minute într-o cerință de 6 puncte, în timp ce lasă necompletat un subprogram de 10 puncte pe care l-ar fi rezolvat în 15 minute.

Acest articol este harta. Îl poți folosi ca punct de plecare pentru întreaga pregătire.

Cadrul general al probei

Proba de informatică este proba E.d) — proba la alegere a profilului și specializării. Este susținută în principal de elevii de la matematică-informatică și matematică-informatică intensiv informatică, dar și de cei de la științele naturii (care primesc o variantă separată, cu cerințe mai accesibile).

Datele fixe pe care trebuie să le știi:

  • Timp de lucru: 3 ore (180 de minute)
  • Punctaj total: 100 de puncte, din care 10 puncte din oficiu
  • Punctaj de lucru: 90 de puncte, distribuite 20 + 40 + 30
  • Limbaj: C/C++ sau Pascal, la alegere. Baremul este comun.
  • Toate subiectele sunt obligatorii. Nu există itemi la alegere.

Un detaliu ignorat constant: datele de intrare se consideră corecte, validarea lor nefiind necesară. Nu scrie cod de validare. Nu primești puncte pentru el și consumi timp.

Subiectul I — 20 de puncte, 5 itemi grilă

Cinci itemi cu răspuns unic, 4 puncte fiecare. Aici nu există punctaj parțial: ori nimerești litera, ori pierzi 4 puncte întregi. Un singur item ratat te costă cât o cerință de tip c) de la Subiectul II.

Tipurile de itemi care apar recurent:

1. Evaluarea unei expresii C/C++. Testează operatorii % și / pe întregi, precedența și conversiile implicite. Capcana clasică: 20/25*20/2 se evaluează de la stânga la dreapta pe întregi, deci 20/25 este 0, iar rezultatul final este 0. La fel, (-17) % 5 este -2 în C/C++, nu 3 — restul preia semnul deîmpărțitului.

2. Un subprogram recursiv dat, cu întrebare pe apel. Ți se dă o funcție de 3–4 linii și trebuie să indici apelul care produce o anumită valoare. Nu încerca să deduci formula generală. Derulează efectiv apelurile pentru variantele propuse, pe hârtie, cu un tabel de stivă.

3. Structuri (struct) și atribuiri corecte. Se testează dacă înțelegi că A[0] = B este validă între variabile de același tip structură, dar A.nota = B nu este.

4. Grafuri. Grad, conexitate, număr minim de muchii de adăugat, componente conexe, grafuri complete. Desenează întotdeauna graful. Zece secunde de desen elimină 90% din erori.

5. Arbori cu rădăcină, reprezentare prin vector de „tați”. Trebuie să știi să reconstruiești arborele din vector: valoarea 0 marchează rădăcina, iar t[i] = j înseamnă că j este tatăl lui i. Numărul de fii ai unui nod x este numărul de apariții ale lui x în vector.

Buget de timp: 25–30 de minute. Dacă un item îți ia peste 6 minute, marchează-l, treci mai departe și revino la final.

Subiectul al II-lea — 40 de puncte, cel mai greu ca pondere

Este subiectul cu cea mai mare valoare din întreaga probă și, paradoxal, cel pe care elevii îl pregătesc cel mai puțin, pentru că lucrează aproape exclusiv în C++ și evită pseudocodul.

Itemul 1 — algoritm în pseudocod (28 de puncte)

Un algoritm scris în pseudocod, cu patru cerințe:

  • a) (6p) Ce se afișează pentru o valoare de intrare dată. Pur și simplu derulezi algoritmul. Fă un tabel cu o coloană per variabilă și o linie per iterație. Nu încerca să ții valorile în minte.
  • b) (6p) Cea mai mică și cea mai mare valoare de intrare care produce un anumit rezultat. Aici trebuie să înțelegi ce calculează algoritmul, nu doar să-l execuți. De obicei este o proprietate matematică: număr de divizori, sumă de cifre, număr de apariții.
  • c) (10p) Programul C/C++ corespunzător algoritmului. Cea mai sigură cerință de 10 puncte din tot examenul. Este traducere mecanică. Baremul punctează separat declararea variabilelor, citirea, afișarea, instrucțiunea de decizie, structurile repetitive, atribuirile și corectitudinea globală. Chiar dacă nu ai înțeles algoritmul, tradu-l. Iei aproape tot punctajul.
  • d) (6p) Rescrierea algoritmului înlocuind o structură repetitivă cu una de alt tip (cât timppentru, sau invers). Se punctează chiar dacă algoritmul obținut nu este echivalent cu cel dat, atât timp cât structura cerută este scrisă corect. Nu lăsa niciodată această cerință necompletată.

Itemul 2 — backtracking sau tablou bidimensional (6p)

Fie o secvență de instrucțiuni pe o matrice și trebuie să spui ce valoare are un element după executare, fie ți se dau primele soluții generate de un algoritm backtracking și trebuie să indici soluția precedentă și următoarea.

Pentru backtracking, regula este simplă: soluțiile sunt generate în ordine lexicografică descrescătoare sau crescătoare pe componente, în funcție de cum e construit algoritmul. Deduci regula din exemplele date și o aplici, nu o presupui.

Itemul 3 — completarea unei secvențe pentru a genera o matrice (6p)

Ți se dă un dublu for și o matrice-țintă, iar tu completezi cu cel mult patru atribuiri. Metoda: uită-te la matrice și găsește formula în funcție de i și j. Aproape întotdeauna implică i/2, j/2, i+j, i%2 sau combinații ale lor. Verifică formula pe trei elemente din colțuri diferite înainte să o scrii.

Buget de timp: 60–70 de minute.

Subiectul al III-lea — 30 de puncte, cerințe de programare

Itemul 1 — definiția unui subprogram (10p)

Ți se dau parametrii și comportamentul, iar tu scrii definiția completă: antet, corp, return. Greșeala fatală este să scrii un program cu main în loc de un subprogram. A doua greșeală: să afișezi rezultatul când cerința spune „returnează”.

Itemul 2 — program complet, de obicei pe șiruri de caractere (10p)

Prelucrări de text: identificarea cuvintelor, codificări, ștergeri și inserări în șir. Trebuie să știi strlen, strcpy, strcmp, strstr, strtok și, mai important, cum să muți caractere într-un vector fără să pierzi date.

Itemul 3 — algoritm eficient (2p + 8p)

  • a) (2p) Descrierea în limbaj natural a algoritmului, cu justificarea eficienței.
  • b) (8p) Programul.

„Eficient” înseamnă, în limbajul baremului, o singură parcurgere a datelor și memorie suplimentară constantă sau liniară. Dacă soluția ta are două for-uri imbricate peste n ≤ 10^5, nu iei punctajul de eficiență chiar dacă răspunsul este corect.

Cele două puncte de la a) se iau aproape gratuit, cu trei fraze: ce structură de date folosești, câte parcurgeri faci și de ce este suficient. Foarte mulți elevi le lasă necompletate.

Buget de timp: 50–60 de minute, plus 15 minute de recitire finală.

Bugetul de timp, pe scurt

Etapă Minute
Citirea integrală a subiectului 5
Subiectul I 25
Subiectul II 65
Subiectul III 70
Recitire și transcriere 15

Citește tot subiectul în primele cinci minute. Creierul lucrează în fundal la Subiectul III cât timp tu rezolvi Subiectul I.

Trei reguli de redactare care aduc puncte

  1. Respectă identificatorii din enunț. Dacă cerința scrie cu bold prodFact, subprogramul tău se numește exact așa. Baremul o cere explicit.
  2. Declară toate variabilele. Există punct separat în barem pentru declarare. Un program corect fără declarații pierde puncte.
  3. Scrie lizibil și indentat. Corectorul nu îți acordă beneficiul îndoielii pe un cod pe care nu îl poate citi.

Întrebări frecvente

Cât trebuie să iau la informatică pentru media de 9? Depinde de celelalte probe, dar informatica este de departe cea mai „predictibilă” disciplină de la BAC: structura nu s-a schimbat de ani buni, iar tipurile de itemi se repetă. Un elev care lucrează sistematic 20 de variante ajunge constant peste 8.

Pot să scriu în Pascal? Da, baremul este comun. Practic însă, aproape toate resursele actuale și toți profesorii predau C++.

Contează dacă folosesc cin/cout sau scanf/printf? Nu. Ambele sunt acceptate. Folosește ce ți-e mai familiar și nu le amesteca în același program.


Dacă vrei o pregătire structurată pe această hartă, la Codex Academy lucrăm exact pe tiparele de mai sus: plan de pregătire pe etape, greșelile care costă cel mai mult și ședințe individuale de meditații. Vezi cum lucrăm →