Instrucțiunile pseudocodului
| Pseudocod | C++ |
|---|---|
citește n | cin >> n; |
scrie n | cout << n; |
dacă c atunci ... altfel ... | if (c) {...} else {...} |
cât timp c execută ... | while (c) {...} |
pentru i ← 1, n execută ... | for (int i = 1; i <= n; i++) |
repetă ... până când c | do {...} while (!c); |
[x] | partea întreagă a lui x; [a / b], cu a și b întregi, devine a / b |
x % y sau x mod y | restul împărțirii |
Atenție la repetă ... până când: corpul se execută cel puțin o dată, iar bucla se OPREȘTE când condiția devine adevărată (invers față de while).
Urmărirea execuției (tehnica tabelului)
Subiectul I cere "ce se afișează". Fă un tabel cu valorile variabilelor la fiecare pas.
citește n (n = 275)
s ← 0
cât timp n > 0 execută
s ← s + n % 10
n ← [n / 10]
scrie s
| pas | n | n % 10 | s |
|---|---|---|---|
| inițial | 275 | - | 0 |
| 1 | 27 | 5 | 5 |
| 2 | 2 | 7 | 12 |
| 3 | 0 | 2 | 14 |
Se afișează 14 (suma cifrelor).
Tiparele care apar constant
- Suma/numărul cifrelor:
n % 10extrage ultima cifră,n / 10o taie. - Oglinditul:
ogl ← ogl * 10 + n % 10. - Divizori:
pentru d ← 1, ncu testn % d = 0. - Maxim: inițializezi cu primul element SAU cu o valoare imposibil de mică.
Atenție
La "pentru i ← 1, n", după terminare i are valoarea n+1. Subiectele exploatează des acest detaliu.
Greșeli frecvente
până cândoprește la ADEVĂRAT;cât timpcontinuă la adevărat.- Împărțirea întreagă:
[7/2] = 3, nu 3,5. - Urmărește variabilele în tabel, nu "din ochi": la BAC viteza fără tabel = greșeli.


