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ă.
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.
EXEMPLU, ÎN 4 LIMBAJE
Alege limbajul în care dai examenul. Poți edita codul și îl poți rula direct aici. Programa oficiala de BAC (proba E.d) cere Pascal sau C/C++, la alegere. Python apare in manualele noi si e pus aici pentru inteles, nu ca limbaj de examen.
#include <iostream>
using namespace std;
int main() {
int n = 4, s = 0;
for (int i = 1; i <= n; i++)
s = s + i * i;
cout << s;
return 0;
}