Algoritmi și pseudocod

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
Ilustrație: Urmărirea pseudocodului: II.1 a și b
Ilustrație generată pentru ZECE (artistică, nu o planșă științifică: pentru detalii exacte vezi schemele din lecție).

ții minte doar fișa asta și ești acoperit

Fișa de aur

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

  2. 02

    Tabelul: o coloană pentru fiecare variabilă care se schimbă, un rând la fiecare trecere prin buclă.

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

  4. 04

    II.1 b = 6 p: de obicei câte 3 p pentru fiecare valoare corectă, iar valorile trebuie să fie în intervalul cerut.

  5. 05

    Verifică răspunsul de la b: rulează pe ciornă algoritmul cu valorile alese.

1 din 8

Pe scurt

1 minesențialul, de recitit oricând

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

2 min

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ă”.

  1. Listează variabilele

    Scrie câte o coloană pentru fiecare variabilă care se schimbă.

  2. Execută în ordine

    Fă câte un rând pentru fiecare trecere prin structura repetitivă. Citește datele exact în ordinea din enunț.

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

  4. Scrie ce afișează scrie

    Răspunsul este doar valoarea afișată, la final.

Oficial: iunie 2026, varianta 3, II.1

7 min

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:

1
y
3
Ce se întâmplă
3 > 0: adun, x devine 3
s
3
x
3
p după pas
2
2
y
1
Ce se întâmplă
nici mai mare, nici egal
s
3
x
3
p după pas
3
3
y
5
Ce se întâmplă
5 > 3: adun, x devine 5
s
8
x
5
p după pas
4
4
y
2
Ce se întâmplă
nimic
s
8
x
5
p după pas
5
5
y
4
Ce se întâmplă
nimic
s
8
x
5
p după pas
6
6
y
5
Ce se întâmplă
egal cu x: scad
s
3
x
5
p după pas
7
7
y
5
Ce se întâmplă
egal cu x: scad
s
-2
x
5
p după pas
8
8
y
7
Ce se întâmplă
7 > 5: adun, x devine 7
s
5
x
7
p după pas
9
1 / 8

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

6 min 2 întrebări la final

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:

2
ce face bucla interioară
împarte de 3 ori
n după
325
p
1
nr după
1
3
ce face bucla interioară
325 nu e divizibil
n după
325
p
0
nr după
1
4
ce face bucla interioară
nu e divizibil
n după
325
p
0
nr după
1
5
ce face bucla interioară
împarte de 2 ori
n după
13
p
1
nr după
2
6
ce face bucla interioară
d*d este 36, mai mare decât 13, deci bucla exterioară s-a oprit
n după
13
nr după
2
1 / 5

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

5 min o întrebare la final

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
start
x
11
y
2
n
1
1
Ce se întâmplă
x impar: x scade, ok devine 0; n se înmulțește cu y
x
10
y
2
n
2
2
Ce se întâmplă
x par: y la pătrat, x la jumătate
x
5
y
4
n
2
3
Ce se întâmplă
x impar: x scade, ok devine 0; n se înmulțește cu y
x
4
y
4
n
8
4
Ce se întâmplă
x par
x
2
y
16
n
8
5
Ce se întâmplă
x par
x
1
y
256
n
8
6
Ce se întâmplă
x impar: x scade, ok devine 0; n se înmulțește cu y
x
0
y
256
n
2048
1 / 7

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

3 min

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

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

3 mincum apare la examen

Aceleași două cerințe, cu aceste forme frecvente:

Scrieți valoarea afișată dacă se citesc...
Cum o abordezi
tabel de urmărire
Exemple
iunie 2026, sesiunea specială 2026, august 2026
Scrieți ce se afișează (mai multe valori)
Cum o abordezi
notează și mesajele
Exemple
august 2025 var. 4: răspunsul e NU 2 5, câte 2 p pe valoare
Scrieți două numere din intervalul...
Cum o abordezi
deduci proprietatea
Exemple
model 2027, sesiunea specială 2026
Scrieți un set de date...
Cum o abordezi
înțelegi ordinea citirilor
Exemple
iunie 2026 var. 3
1 / 4

Greșeli care costă puncte

1 mincapcanele de evitat

  • 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≠1 din 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.

Notițele mele

Salvat local

Surse