2.8.
Поняття
алгоритму, його властивості та способи запису
Алгоритм – це
скінченна послідовність вказівок (команд), формальне виконання яких дозволяє
за обмежений час отримати розв'язок задачі.
Інакше
кажучи, алгоритм — це певна інструкція для виконавця, яка може бути задана
різними способами — словами, формулами, послідовністю обчислювальних операцій
чи логічних дій тощо. Але не кожна інструкція може бути алгоритмом. Алгоритм
повинен відповідати певним вимогам, мати такі властивості.
1. Масовість. Алгоритм
має бути придатним для багатьох задач, що належать до певного класу.
2. Визначеність
(детермінованість). Ця
властивість означає, що кожна команда не повинна допускати двоякого тлумачення.
Кожний крок алгоритму повинен бути точно визначеним.
3. Дискретність. Процес,
який визначається алгоритмом, повинен мати дискретний (перервний) характер,
тобто являти собою послідовність окремих завершених кроків — команд або дій.
4. Результативність. Результативність
означає, що кожна дія повинна приводити до цілком певного результату.
5. Формальність. Будь-який
виконавець, здатний сприймати та виконувати вказівки алгоритму (навіть не
розуміючи їх змісту), діючи за алгоритмом, може виконати поставлене завдання.
6. Скінченність. Діючи
за алгоритмом, виконавець одержує розв'язок задачі за скінченну кількість
кроків.
Досконалим
виконавцем алгоритмів обробки інформації є комп'ютер, робота якого здійснюється
під управлінням програми. Програма — це алгоритм, команди якого «зрозумілі»
комп'ютеру і можуть бути ним виконані. Кожний тип комп'ютера має свій власний
набір операцій, із яких можна складати програми. Це так званий набір машинних
команд комп'ютера, що визначає обмеження на розробку програм. Тому створення
програм являє собою творчий процес, коли потрібно «навчити» комп'ютер
розв'язувати різноманітні, як правило складні задачі, використовуючи обмежений
набір простих операцій (команд). Разом з тим набір операцій кожного із сучасних
комп'ютерів є алгоритмічно повним. Алгоритм описується засобами мови,
зрозумілої виконавцю. Для людини – це природна мова. Комп'ютер виконує
операції з багаторозрядними числами у двійковій системі числення, тобто мовою
комп'ютера є послідовність кодів із нулів і одиниць. Використання такої
комп'ютерної мови для складання програм дуже неефективне. Записи програм,
отримані таким чином, виявляються дуже докладними та громіздкими, процес
розробки програм – програмування – складним і трудомістким. Тому для створення
програм використовуються мови програмування. Мова програмування дозволяє записувати
команди в такій формі, щоб їх можна було замінити на машинні коди.
При розробці
й поданні алгоритмів можуть бути застосовані різні способи їх запису в
текстовій та графічній формі, а саме: словесний, формульно-словесний,
оперативний, блок-схемний або графічний і запис за допомогою алгоритмічних мов.
Широкого розповсюдження набув найбільш наочний спосіб зображення алгоритмів у
вигляді графічних схем (блок-схем) (рис. 2.1).
Рис. 2.1. Структура блок-схеми