🔢
Bazele programării
Algoritmi și pseudocod
Ce este un algoritm, proprietăți, reprezentare prin pseudocod și scheme logice.
Ce este un algoritm
Un algoritm este o secvență finită și ordonată de pași bine definiți care rezolvă o problemă.
Proprietăți obligatorii:
- Finitudine — se termină după un număr finit de pași
- Determinism — fiecare pas e clar definit, fără ambiguitate
- Generalitate — rezolvă o clasă de probleme, nu un singur caz
- Date de intrare — zero sau mai multe valori inițiale
- Date de ieșire — cel puțin un rezultat
Pseudocod
Pseudocodul descrie algoritmul în limbaj semi-formal, independent de limbajul de programare.
Instrucțiuni de bază:
citește x, y
scrie z
z ← x + y
Instrucțiunea alternativă:
dacă condiție atunci
instrucțiuni
altfel
instrucțiuni
sfârșit dacă
Instrucțiunea repetitivă cu test inițial:
cât timp condiție execută
instrucțiuni
sfârșit cât timp
Instrucțiunea repetitivă cu test final:
repetă
instrucțiuni
până când condiție
Instrucțiunea pentru (cu contor):
pentru i ← 1, n execută
instrucțiuni
sfârșit pentru
Exemplu: suma cifrelor unui număr
citește n
s ← 0
cât timp n ≠ 0 execută
s ← s + n mod 10
n ← n div 10
sfârșit cât timp
scrie s
Complexitate
Complexitatea timp = numărul de operații în funcție de dimensiunea datelor de intrare (n).
| Notație | Denumire | Exemplu |
|---|---|---|
| O(1) | constantă | acces element vector |
| O(log n) | logaritmică | căutare binară |
| O(n) | liniară | parcurgere vector |
| O(n log n) | cvasi-liniară | mergesort |
| O(n²) | pătratică | sortare prin selecție |
La examen
- Pseudocodul din subiect folosește convențiile de mai sus — citește cu atenție operatorul
div(împărțire întreagă) șimod(rest) n div 10= câtul împărțirii lui n la 10n mod 10= ultima cifră a lui n- La trasarea unui algoritm: completează tabelul de valori coloană cu coloană, pas cu pas