Urmărirea pseudocodului: II.1 a și b
Cele 12 puncte de la II.1 a și b: tabelul de urmărire, propoziția care spune ce face algoritmul și drumul invers, de la rezultat la datele de intrare. Patru algoritmi oficiali, rezolvați pas cu pas.
- 28 min
- La BAC: Subiectul al II-lea, 1 a (6p) · Subiectul al II-lea, 1 b (6p)
- Verificat pe bareme

ții minte doar fișa asta și ești acoperit
Fișa de aur
- 01
II.1 a = 6 p, fără puncte parțiale de obicei: contează doar valoarea finală, deci urmărește pe ciornă, cu tabel.
- 02
Tabelul: o coloană pentru fiecare variabilă care se schimbă, un rând la fiecare trecere prin buclă.
- 03
Spune în cuvinte ce face algoritmul după ce ai urmărit un exemplu: de acolo vine II.1 b.
Truc: Exemplu: numără factorii primi distincți.
- 04
II.1 b = 6 p: de obicei câte 3 p pentru fiecare valoare corectă, iar valorile trebuie să fie în intervalul cerut.
- 05
Verifică răspunsul de la b: rulează pe ciornă algoritmul cu valorile alese.
Pe scurt
Culorile din lecție:termencifră, datăidee-cheie
- Pe ciornă faci un tabel de urmărire; pe foaie scrii doar rezultatul.
- După un caz urmărit, încerci să spui într-o propoziție ce calculează algoritmul.
- La II.1 b mergi invers: din rezultat deduci ce proprietate trebuie să aibă datele.
- Aceleași cerințe apar la ambele specializări.
Metoda: tabelul de urmărire
Calculatorul nu înțelege algoritmul, ci îl execută. Fă la fel: execută-l linie cu linie, fără să ghicești. Tabelul te ajută să nu pierzi nimic din vedere.
Oficial, competența din programă se numește „analiza rezolvării unei probleme prin urmărirea evoluției valorilor variabilelor”. Îi corespunde, în lucrare, cerința „Scrieți valoarea afișată”.
- Listează variabilele
Scrie câte o coloană pentru fiecare variabilă care se schimbă.
- Execută în ordine
Fă câte un rând pentru fiecare trecere prin structura repetitivă. Citește datele exact în ordinea din enunț.
- Atenție la oprire
Verifică testul în locul în care este scris: la început la cât timp, la sfârșit la până când.
- Scrie ce afișează scrie
Răspunsul este doar valoarea afișată, la final.
Oficial: iunie 2026, varianta 3, II.1
Cerința a) dă, în ordine, numerele 8, 3, 1, 5, 2, 4, 5, 5, 7 și întreabă ce valoare se afișează.
citește n (număr natural nenul)
s←0; x←0; p←1
┌repetă
│ citește y (număr natural nenul)
│┌dacă y>x atunci
││ s←s+y; x←y
││altfel
││┌dacă x=y atunci s←s-y
││└■
│└■
│ p←p+1
└până când p>n
scrie s
Primul număr citit e n=8, deci urmează 8 valori pentru y:
| Pas | y | Ce se întâmplă | s | x | p după pas |
|---|---|---|---|---|---|
| 1 | 3 | 3 > 0: adun, x devine 3 | 3 | 3 | 2 |
| 2 | 1 | nici mai mare, nici egal | 3 | 3 | 3 |
| 3 | 5 | 5 > 3: adun, x devine 5 | 8 | 5 | 4 |
| 4 | 2 | nimic | 8 | 5 | 5 |
| 5 | 4 | nimic | 8 | 5 | 6 |
| 6 | 5 | egal cu x: scad | 3 | 5 | 7 |
| 7 | 5 | egal cu x: scad | -2 | 5 | 8 |
| 8 | 7 | 7 > 5: adun, x devine 7 | 5 | 7 | 9 |
La p=9, condiția p>n devine adevărată, iar algoritmul se oprește. Se afișează 5, cât dă și baremul.
Ce face, în cuvinte: x e cel mai mare număr de până acum. Orice număr nou mai mare se adună, iar o repetare a maximului se scade.
Cerința b) vrea trei numere după n=3, astfel încât să se afișeze 0. Din propoziția de mai sus: un număr adunat trebuie anulat de o repetare a lui. Iau un x nou maxim, adică îl adun, apoi îl repet, adică îl scad, iar al treilea număr nu trebuie să schimbe nimic, deci e mai mic decât x: de exemplu 5, 5, 2. Merge și 5, 2, 5.
Oficial: sesiunea specială 2026, varianta 4, II.1
Cerința a) citește 2600.
citește n (număr natural nenul)
nr←0; d←2
┌cât timp d*d≤n execută
│ p←0
│┌cât timp n%d=0 execută
││ p←1; n←[n/d]
│└■
│ nr←nr+p; d←d+1
└■
┌dacă n≠1 atunci
│ nr←nr+1
└■
scrie nr
La buclele imbricate nu fă un rând pentru fiecare linie, ci unul pentru fiecare d important:
d*d este 36, mai mare decât 13, deci bucla exterioară s-a oprit| d | ce face bucla interioară | n după | p | nr după |
|---|---|---|---|---|
| 2 | împarte de 3 ori | 325 | 1 | 1 |
| 3 | 325 nu e divizibil | 325 | 0 | 1 |
| 4 | nu e divizibil | 325 | 0 | 1 |
| 5 | împarte de 2 ori | 13 | 1 | 2 |
| 6 | d*d este 36, mai mare decât 13, deci bucla exterioară s-a oprit | 13 | 2 |
La final, n=13 e diferit de 1, deci nr crește cu 1. Se afișează 3.
Ce face, în cuvinte: numără factorii primi distincți ai lui n. Oficial, 2600 = 2³ · 5² · 13, deci are trei factori primi.
Cerința b) cere două numere din [10, 99] pentru care se afișează 1: numere cu un singur factor prim, adică puteri de numere prime. De exemplu 13 și 16.
Verifică: pentru 16, d=2 împarte până la 1, iar nr devine 1; pentru 13, bucla se oprește când d=4, iar ultima condiție adaugă 1.
Câți factori primi are 2600?
Ce valori dau afișarea 1 în algoritmul din sesiunea specială 2026?
Oficial: model 2027, II.1
Se citesc 11 și 2.
citește x,y (numere naturale)
n←1
┌cât timp x>0 execută
│ ok←1
│┌cât timp ok=1 execută
││┌dacă x%2=0 atunci
│││ y←y*y; x←[x/2]
││altfel
│││ x←x-1; ok←0
││└■
│└■
│ n←n*y
└■
scrie n
| Pas | Ce se întâmplă | x | y | n |
|---|---|---|---|---|
| start | 11 | 2 | 1 | |
| 1 | x impar: x scade, ok devine 0; n se înmulțește cu y | 10 | 2 | 2 |
| 2 | x par: y la pătrat, x la jumătate | 5 | 4 | 2 |
| 3 | x impar: x scade, ok devine 0; n se înmulțește cu y | 4 | 4 | 8 |
| 4 | x par | 2 | 16 | 8 |
| 5 | x par | 1 | 256 | 8 |
| 6 | x impar: x scade, ok devine 0; n se înmulțește cu y | 0 | 256 | 2048 |
Se afișează 2048. Observă: 2048 este 2 la puterea 11. Algoritmul calculează y la puterea x.
Cerința b) fixează primul număr la 3 și cere două valori y din [1, 10], astfel încât rezultatul să fie în [27, 127]. Rezultatul este y la cub: 27, 64, 125 pentru 3, 4, 5, iar 6 la cub e deja 216.
Barem: câte 3 p pentru fiecare dintre cele două numere: oricare două dintre 3, 4, 5.
Dacă algoritmul calculează y la puterea x și x=3, ce y din [1,10] dau un rezultat din [27,127]?
Oficial: august 2026, varianta 1, II.1
Se citește 10.
citește n (număr natural nenul)
s←0; i←1
┌cât timp s<n execută
│ j←i; nr←0
│┌cât timp j≠0 execută
││ nr←nr+j%2; j←[j/2]
│└■
│┌dacă nr=1 atunci
││ s←s+i
│└■
│ i←i+1
└■
scrie s
Bucla interioară adună resturile împărțirilor succesive la 2, deci nr numără cifrele 1 din scrierea în baza 2 a lui i. nr=1 se întâmplă doar la 1, 2, 4, 8, 16 și așa mai departe.
i adunats
| i adunat | s |
|---|---|
| 1 | 1 |
| 2 | 3 |
| 4 | 7 |
| 8 | 15 |
Când s=15, condiția s<10 nu mai e adevărată. Se afișează 15.
Cerința b) cere două valori pentru care se afișează 31. Ca să ajungă la 31, s trece prin 15, deci n trebuie să fie mai mare decât 15 și cel mult 31. Baremul acceptă orice numere din [16, 31], câte 3 p fiecare.
Ce se cere la BAC
Aceleași două cerințe, cu aceste forme frecvente:
NU 2 5, câte 2 p pe valoare| Formulare | Cum o abordezi | Exemple |
|---|---|---|
| Scrieți valoarea afișată dacă se citesc... | tabel de urmărire | iunie 2026, sesiunea specială 2026, august 2026 |
| Scrieți ce se afișează (mai multe valori) | notează și mesajele | august 2025 var. 4: răspunsul e NU 2 5, câte 2 p pe valoare |
| Scrieți două numere din intervalul... | deduci proprietatea | model 2027, sesiunea specială 2026 |
| Scrieți un set de date... | înțelegi ordinea citirilor | iunie 2026 var. 3 |
Greșeli care costă puncte
- Sari peste rânduri „care nu fac nimic” și pierzi
p←p+1: ai citit prea puține sau prea multe date. - Înmulțești sau aduni cu valoarea veche a unei variabile deja schimbate pe aceeași linie.
- Uiți de instrucțiunile de după buclă, ca
dacă n≠1din sesiunea specială 2026. - La b, nu verifici: rulează pe ciornă algoritmul cu valorile alese.
- La b, scrii un singur număr când se cer două sau alegi două valori în afara intervalului.
Termeni-cheie
- Urmărire
- Executarea de mână a algoritmului, notând valoarea fiecărei variabile după fiecare pas.
- Tabel de urmărire
- Tabel cu o coloană pentru fiecare variabilă care se schimbă și un rând pentru fiecare trecere prin structura repetitivă.
- Valoare afișată
- Ce produce instrucțiunea scrie, nu ce au variabilele pe parcurs.
- Set de date
- Valorile citite, în ordinea instrucțiunilor citește. La II.1 b cerința spune câte și din ce interval.
- Factor prim
- Număr prim care divide numărul dat; 2600 are factorii primi 2, 5 și 13.