Алгоритм маєзадовольняти певним вимогам, серед яких потрібно виділити найважливіші.
Визначеність — кожен крок алгоритму має інтерпретуватися виконавцем однозначно.
Результативність — за скінчену кількість кроків алгоритм маєприводити до розв’язання задачі або зупинятися через неможливість її розв’язати.
Дискретність — кроки обчислювального процесу мають бути відокремлені один від одного.
Ефективність — під час розв’язання задачі може використовуватися лише обмежений обсяг комп’ютернихресурсів
Масовість — алгоритм розробляється у загальному вигляді, тобто його можна застосувати непише до окремоїзадачі, але і до деякого класу задач, що розрізняються лише вхідними даними. При цьому вхідні дані мають належати деякій області, яка називається областю застосовності алгоритму.
Є декілька способів опису алгоритму: словесний опис послідовності дій, алгоритмічна мова, аналітичний опис у вигляді набору формул, графічний — у вигляді блок-схеми тощо.
Є три елементарні алгоритмічні структури: послідовності, розгалуження та повторення. Всі інші алгоритмічні структури утворюються зелементарних шляхом заміни операторних блоків елементарними структурами.