Hola25
Hola25 Logo
Hola25
Utilizatori disponibili

Înapoi la blog

O elevă urmărește pașii unui algoritm reprezentați prin jetoane pe un caiet cu pătrățele.
Ilustrație conceptuală generată cu AI; explicațiile și schemele de învățare sunt în articol.
Informatică

Pseudocod la BAC: tabel de valori și exemple rezolvate

Hola25
Hola25
Autor

21 octombrie 2026

7 min citire

În acest articol

Un exercițiu de pseudocod la BAC se rezolvă urmărind exact instrucțiunile, în ordinea executării. Tabelul de valori te ajută să separi valoarea veche a unei variabile de cea obținută după atribuire și să observi momentul în care o buclă se oprește. Nu ai nevoie să ghicești de la început scopul algoritmului: îl poți deduce după primele execuții corecte.

Lecția folosește numere naturale și pseudocod cu împărțire întreagă, notată div, respectiv rest, notat mod. Exemplele sunt originale. La examen citește convențiile din enunț, mai ales când apare partea întreagă a unui cât. Într-un program C++, împărțirea a două valori întregi produce un cât întreg; în alte contexte, aceeași bară poate avea alt sens.

Schema de urmărire a algoritmului

Element Ce notezi pe ciornă Greșeala prevenită
Intrare Valorile citite, în ordinea lor Inversarea datelor
Inițializare Valorile înaintea primei iterații Pornirea unui acumulator de la o valoare inventată
Condiție Adevărat sau fals la fiecare test O iterație în plus
Corpul buclei Modificările, în ordinea instrucțiunilor Folosirea prematură a unei valori noi
Afișare Ce se scrie și când Confuzia dintre rezultat și ultima valoare a variabilei

Construiește coloane numai pentru variabilele folosite efectiv și pentru rezultatul afișat. Pentru un algoritm cu trei variabile nu este nevoie de o pagină de explicații la fiecare pas. Totuși, nu sări peste rândul final, în care condiția devine falsă: tocmai acel rând justifică oprirea.

Exemplu complet: filtrarea cifrelor

Se citește numărul natural n, apoi se execută:

citește n
s ← 0
cât timp n > 0 execută
    c ← n mod 10
    dacă c mod 2 = 0 atunci
        s ← s + c
    n ← n div 10
scrie s

Pentru n=57204, ultima cifră este extrasă înainte de eliminare. Variabila s reține suma cifrelor pare deja prelucrate. Cifra zero este pară, chiar dacă adăugarea ei nu schimbă suma. Acest detaliu contează dacă algoritmul numără cifrele în loc să le adune.

Iterație n la intrare c extras c este par? s după test n după împărțire
1 57204 4 Da 4 5720
2 5720 0 Da 4 572
3 572 2 Da 6 57
4 57 7 Nu 6 5
5 5 5 Nu 6 0

La testul următor, n>0 este fals. Nu mai extragi o cifră și nu mai modifici suma. Se afișează 6. Dacă ai obținut 18, ai adunat toate cifrele și ai ignorat selecția. Dacă ai obținut 2, probabil ai eliminat ultima cifră înainte de a o prelucra.

Pentru a verifica sensul algoritmului, compară rezultatul cu numărul inițial: cifrele pare sunt patru, zero și doi. Suma lor este șase. Verificarea directă nu înlocuiește tabelul, dar poate descoperi rapid o eroare de calcul ori de transcriere.

Atribuirile succesive nu sunt simultane

Urmărește secvența de mai jos, pentru a=4 și b=7:

a ← a + b
b ← a - b
a ← a - b

După prima instrucțiune, a devine 11. A doua instrucțiune folosește această valoare nouă, deci b devine 4. A treia folosește a=11 și b=4, astfel încât a devine 7. Valorile finale sunt a=7, b=4: secvența le interschimbă.

Dacă ai calculat toate expresiile folosind valorile inițiale, ai simulat un alt algoritm. Regula este simplă: după fiecare atribuire, vechea valoare este înlocuită. O poți păstra doar dacă algoritmul o copiază explicit într-o altă variabilă. În cod real trebuie verificat și dacă suma intermediară încape în tipul ales; aici valorile mici evită depășirea.

Poziția afișării schimbă răspunsul

Consideră algoritmul:

n ← 13
cât timp n > 0 execută
    scrie n
    n ← n div 2

Se afișează, în ordine, 13, 6, 3, 1. Numărul zero apare ca valoare a lui n după ultima împărțire, dar nu este afișat: următorul test oprește bucla. Dacă instrucțiunea de afișare ar fi după împărțire, în interiorul buclei, rezultatul ar deveni 6, 3, 1, 0.

Separatoarele contează și ele. Dacă pseudocodul cere afișare cu spații, scrii valorile despărțite. Dacă nu precizează un separator, explică succesiunea fără să inventezi o singură valoare numerică. Patru numere afișate succesiv nu sunt automat un număr cu patru cifre.

Cum găsești date de intrare pentru un rezultat cerut

O cerință inversă poate solicita un număr pentru care primul algoritm afișează 8. Nu încerca la întâmplare zeci de valori. Mai întâi traduci condiția: suma cifrelor pare trebuie să fie opt. Un exemplu este 13462, deoarece cifrele pare sunt patru, șase și doi? Nu: suma lor este doisprezece. Exemplul aparent potrivit trebuie respins.

O alegere corectă este 15326: doar doi și șase contribuie, iar suma lor este opt. Altă alegere este 180: opt și zero contribuie. Verifică și domeniul cerut de enunț. Dacă se solicită un număr de cinci cifre, 180 nu mai este acceptabil, chiar dacă produce rezultatul dorit.

Acest mod de lucru separă două verificări: proprietatea calculată și restricțiile intrării. Ambele sunt necesare. Dacă se cer două valori distincte, nu oferi aceeași valoare scrisă cu zerouri în față: ca număr natural, nu ai construit o intrare diferită.

Exerciții de antrenament

1. Ce afișează algoritmul de filtrare a cifrelor pentru n=90871? Notează și numărul iterațiilor. Răspuns: suma este 8, fiindcă opt și zero sunt cifre pare; bucla are cinci iterații. Zero nu adaugă nimic, dar este prelucrat.

2. Ce afișează același algoritm pentru n=0? Răspuns: 0, valoarea inițială a sumei. Corpul buclei nu se execută. Acest rezultat nu dovedește că a fost prelucrată cifra zero, ci că suma vidă a rămas zero.

3. Pentru a=2, se execută a←a+3, apoi a←2*a. Care este valoarea finală? Răspuns: 10. Prima instrucțiune produce cinci, iar a doua îl dublează. Rezultatul șapte ar corespunde altei ordini a operațiilor.

4. Găsește un număr de patru cifre pentru care suma cifrelor pare este zero. Răspuns posibil: 1357, care nu conține cifre pare. Și 1035 este corect: singura cifră pară este zero. Exemplele arată că rezultat zero nu înseamnă obligatoriu absența cifrelor pare.

Verificarea finală înainte să transcrii răspunsul

Recitește inițializările și poziția afișării. Verifică separat prima și ultima iterație și marchează instrucțiunea care modifică variabila de control. Dacă acea variabilă nu se schimbă într-o ramură, întreabă-te dacă algoritmul poate rămâne blocat. Nu presupune că fiecare buclă execută un număr fix de pași.

După aceste exemple, poți exersa pe variantele de BAC și baremele lor. Păstrează ciorna cu tabelul și compară eroarea exactă, nu doar rezultatul final. Metoda urmează aceeași idee de învățare prin înțelegere: explici ce reprezintă fiecare variabilă. Dacă ai nevoie de feedback, poți discuta un tabel complet cu un profesor de informatică.

Întrebări frecvente

Trebuie să desenez tabelul și pe foaia de examen?

Urmează ce solicită cerința. Tabelul este un instrument de lucru pe ciornă; răspunsul final trebuie să conțină rezultatul și justificările cerute, fără informații contradictorii.

Pot recunoaște direct ce calculează algoritmul?

Da, dar verifică măcar un caz și ordinea actualizărilor. O singură instrucțiune mutată poate transforma suma cifrelor într-un calcul diferit.

De ce nu primesc același rezultat în calculator?

Verifică tipurile numerice, împărțirea întreagă, acoladele și poziția afișării. O transcriere care schimbă aceste elemente nu mai este echivalentă cu pseudocodul inițial.

Reper curricular: programa oficială de informatică, secțiunile despre algoritmi și structuri de control. Selectează specializarea corespunzătoare când alegi variantele de examen.

Surse