Algoritmul este o succesiune finită de pași, pe baza căreia se rezolvă o problemă (se prelucrează datele inițiale pentru a obține date finale).

Proprietățile unui algoritm:
1. Claritatea (pașii trebuie să fie descriși clar, fără ambiguități);
2. Generalitatea (pașii algoritmului trebuie să fie valabili pentru tot setul datelor de intrare și nu numai pentru un set particular);
3. Finititudinea (rezultatul să se obțină după un număr bine precizat de pași).

Di = date de intrare
De = date de ieșire
Daux = data auxiliare

Operatori -> aritmetici: + – * / %
-> logici: și  sau  not
-> relaționali < = > <= => <> !

Structuri de decizie: dacă;
dacă „expresie” atunci „instrucțiunea 1”
altfel „instrucțiunea 2”

Structuri repetitive cu test inițial: cât timp, pentru;

1. Cât timp: cât timp „expresie” execută „instrucțiune”

2. Pentru
a) ascendent:  pentru „v <- v1, vf”  execută  „instrucțiune” (v1 <= vf)
b) descendent:  pentru „v <- v1, vf”  execută  „instrucțiune” (v1=> vf)

Structuri repetitive cu test final: repetă;
┌repetă
│ „instrucțiune”
└până când „expresie”