Яснота – Всяка текуща стъпка трябва да е точно указаната и да бъде еднозначно определено коя е следващата.
Формалност - Изпълнителят може да работи формално, като изпълнява указанията, докато достигне до указание за край. Това свойство позволява изпълнителят на алгоритъма да бъде и автомат.
Определеност -При едни и същи данни да се получава един и същ резултат.
Масовост - Всеки алгоритъм да се прилага успешно за решаване на задачи от един и същи тип спрямо различни входни данни.
Крайност - Всеки алгоритъм да завършва с резултат за краен брой стъпки.
Резултатност – Алгоритъма трябва винаги да дава еднозначно определен резултат за всяка стойност от множество допустими входни данни.
В зависимост от своята структура алгоритмите могат да бъдат:
Линейни – При тях последователността от действия винаги е една и съща. Всяка стъпка на алгоритъма има само една предходна и една следваща.
Разклонени – Последователността от извършвани действия зависи от стойността на входните данни. Тези алгоритми съдържат команди, при които в зависимост от изпълнението или не на дадено условие, се определят следващите за изпълнение команди
Циклични – Определена част от действията се повтаря многократно докато не се изпълни зададеното условие.
Най-често се срещат комбинираните алгоритми при които отделни части отговарят на линейни, разклонени или циклични.
3. Средства за описване на алгоритми За представяне на алгоритмите се използват различни езици: естествени, алгоритмични, параметрични, графични и др., които се характеризират с различна степен на формализация на описанието, удобство за запис и четене, възможност за обмен и т.н. Всяка програма е специфично представяне на алгоритъма, разбира се, като се пренебрегнат ограниченията, налагани от съответния език за програмиране.