Skip to content

Elemente de baza

Pseudocodul este un limbaj prin care descriem pasii unui algoritm, intr-o forma usor de citit de catre om. Nu se compileaza si nu se ruleaza — rolul lui este sa exprime clar ce face algoritmul, fara detaliile de sintaxa ale unui limbaj real. La BAC si la pbinfo, multe subiecte cer scrierea sau intelegerea unui algoritm in pseudocod.

Aceasta lectie aduna vocabularul de baza: variabile, constante, atribuire, operatori si citire/scriere.


Variabile si constante

In pseudocod nu declaram variabilele si nu le dam tip — le folosim direct. Numele unei variabile respecta aceleasi reguli ca in C++: litere, cifre si _, fara cifra la inceput (n, suma, nrCifre).

Constantele pot fi:

  • numere intregi sau reale: 7, -3, 2.5
  • caractere, scrise intre apostrofuri: 'A', '5', ' '
  • siruri de caractere: 'Ion'
  • constante matematice: π

Atribuirea

Atribuirea da unei variabile valoarea unei expresii. Sageata arata mereu dinspre valoare spre variabila:

<variabila> ← <expresie>
S ← 0
S ← S + 10
n ← [n/10]

Nu confunda `←` cu `=`

In pseudocod, atribuirea este (echivalentul lui = din C++). Semnul = din pseudocod inseamna egalitate (echivalentul lui == din C++), si apare doar in conditii.

PseudocodC/C++
x ← 5 (atribuire)x = 5;
x = 5 (egalitate, in conditie)x == 5

Operatori

Operatori aritmetici

PseudocodSensC/C++
a + badunarea + b
a - bscaderea - b
a * binmultirea * b
a / bimpartire cu rezultat reala / b (pe numere reale)
[a/b]impartire intreaga (catul)a / b (pe numere intregi)
a % brestul impartiriia % b
a ^ nridicare la puterepow(a, n)
√xradicalsqrt(x)

`a/b` vs `[a/b]`

a / b da rezultatul real (7 / 2 este 3.5). Pentru catul impartirii intregi folosim parantezele patrate: [7/2] este 3. Parantezele patrate inseamna "partea intreaga".

Operatori relationali

PseudocodSensC/C++
a = begala == b
a ≠ bdiferita != b
a < bmai mica < b
a ≤ bmai mic sau egala <= b
a > bmai marea > b
a ≥ bmai mare sau egala >= b

Operatori logici

PseudocodSensC/C++
NOT cnegatie!c
c1 SI c2si (ambele)c1 && c2
c1 SAU c2sau (macar una)c1 || c2

Citire si scriere

Pentru a citi date de la intrare folosim citeste, iar pentru a afisa rezultate folosim scrie:

citeste n
citeste a, b
scrie S
scrie 'Rezultatul este ', S
PseudocodC/C++
citeste a, bcin >> a >> b;
scrie Scout << S;

Exemplu complet

Problema: Se citesc doua numere naturale a si b. Sa se afiseze catul si restul impartirii lui a la b.

citeste a, b
c ← [a/b]
r ← a % b
scrie 'Cat ', c, ' rest ', r
cpp
// C/C++ echivalent
int a, b, c, r;
cin >> a >> b;
c = a / b;
r = a % b;
cout << "Cat " << c << " rest " << r;

Intrare:

17 5

Afisare:

Cat 3 rest 2