Алгоритм - це точне розпорядження, що визначає обчислювальний процес, що веде від варійованих початкових даних до шуканого результату (ГОСТ 19.781-74).
Алгоритм містить вказівку про те, які операції вкрай важливо виконати над вихідними даними і в якій послідовності для вирішення завдання.
З цієї причини при розробці алгоритму вкрай важливо чітко уявляти поставлене завдання, щоб передбачити нд ?? е можливі варіанти дій.
До алгоритмів пред'являються наступні вимоги.
Визнач ?? енность (детермінованість) означає однозначність тлумачення відображуваного алгоритмом обчислювального процесу.
Результативність алгоритму полягає в можливості отримання результату рішення задачі для допустимих вихідних даних за кінцеве число кроків.
Масовість означає, що рішення однотипних завдань з різними вихідними даними повинна бути здійснено за одним алгоритмом.
Дискретність означає, що визначається алгоритмом обчислювальний процес має бути розчленований на окремі етапи, елементарні операції.
Зрозумілість (доступність) - алгоритм повинен враховувати специфіку виконавця і, при вкрай важливо сті, йому повинні надаватися додаткові відомості; На практиці використовуються такі форми подання алгоритмів:
* Словесна запис (не формалізована запис алгоритму природною мовою, наприклад, рецепт приготування манної каші);
* Блок-схема (найбільш наочна графічна форма подання алгоритмів, яка використовується професіоналами особливо в тих випадках, коли алгоритм володіє витонченої логікою виконання);
* Псевдокод (мова програмування для бідних, коли немає можливості викладати основи алгоритмізації з використанням ЕОМ - напівформалізоване опису алгоритмів, що включає в себе як елементи "пташиного" мови програмування);
* Комп'ютерна програма (жорстко формалізована запис алгоритму, орієнтована на виконавця - ЕОМ). Для розробки комп'ютерних програм використовуються інструментальні засоби, звані мовами програмування.
Розглянемо запис алгоритму Евкліда знаходження найбільшого спільного дільника (НСД) для двох натуральних чисел у НД ?? ех чотирьох перерахованих вище формах.