Будь-який алгоритм повинен мати такі властивості *:
· масовість | – тобто алгоритм повинен бути універсальним і його можна застосовувати до будь-яких задач певного типу з будь-якими вихідними даними; |
· визначеність | – (детермінованість) будь-яка вказівка алгоритму повинна бути суворо визначеною і не допускати неоднозначного тлумачення; |
· результативність | – алгоритм завжди, через кінцеву кількість кроків, повинен приводити до результату; |
· формальність | – будь-який виконавець, спроможний сприймати та виконувати інструкції алгоритму (навіть не розуміючи їхнього змісту), правильно виконає алгоритм; |
· дискретність | – будь-який процес, який визначається алгоритмом, повинен мати дискретний характер, тобто являти собою послідовність виконуваних один за одним окремих завершених кроків. |
Як правило, процес алгоритмізації проходить декілька етапів деталізації:
· спочатку складається укрупнена схема алгоритму, в якій відображаються найбільш важливі та суттєві зв'язки між досліджуваними процесами;
· на другому етапі деталізуються (розкриваються) виділені раніше частини обчислювального процесу, які мають деяке самостійне значення. Процес деталізації може складатись з кількох етапів, причому на кожному етапі проводиться перевірка і виправлення схеми алгоритму.
Способи подання алгоритмів
У процесі розробки алгоритму можуть використовуватись різні способи його опису, які різняться складністю, наочністю, компактністю, ступенем формалізації, орієнтацією на машинну реалізацію тощо. Найбільше розповсюдження отримали *:
1)словесно-формульний запис алгоритмів;
2)табличний запис алгоритмів;
3)графічний запис алгоритмів (блок-схема);
4)псевдокод (формальні алгоритмічні мови);