2.8.   Поняття алгоритму, його властивості та способи запису

 

Алгоритмце скінченна послідовність вказівок (ко­манд), формальне виконання яких дозволяє за обмежений час отримати розв'язок задачі.

Інакше кажучи, алгоритм — це певна інструкція для виконавця, яка може бути задана різними способами — сло­вами, формулами, послідовністю обчислювальних операцій чи логічних дій тощо. Але не кожна інструкція може бути алгоритмом. Алгоритм повинен відповідати певним вимогам, мати такі властивості.

1. Масовість. Алгоритм має бути придатним для багатьох задач, що належать до певного класу.

2. Визначеність (детермінованість). Ця властивість озна­чає, що кожна команда не повинна допускати двоякого тлу­мачення. Кожний крок алгоритму повинен бути точно виз­наченим.

3. Дискретність. Процес, який визначається алгоритмом, повинен мати дискретний (перервний) характер, тобто являти собою послідовність окремих завершених кроків — команд або дій.

4. Результативність. Результативність означає, що кожна дія повинна приводити до цілком певного результату.

5. Формальність. Будь-який виконавець, здатний сприй­мати та виконувати вказівки алгоритму (навіть не розумію­чи їх змісту), діючи за алгоритмом, може виконати постав­лене завдання.

6. Скінченність. Діючи за алгоритмом, виконавець одер­жує розв'язок задачі за скінченну кількість кроків.

Досконалим виконавцем алгоритмів обробки інформації є комп'ютер, робота якого здійснюється під управлінням програми. Програма — це алгоритм, команди якого «зро­зумілі» комп'ютеру і можуть бути ним виконані. Кожний тип комп'ютера має свій власний набір операцій, із яких можна складати програми. Це так званий набір машинних команд комп'ютера, що визначає обмеження на розробку програм. Тому створення програм являє собою творчий про­цес, коли потрібно «навчити» комп'ютер розв'язувати різно­манітні, як правило складні задачі, використовуючи обмеже­ний набір простих операцій (команд). Разом з тим набір операцій кожного із сучасних комп'ютерів є алгоритмічно повним. Алгоритм описується засобами мови, зрозумілої виконав­цю. Для людини – це природна мова. Комп'ютер виконує операції з багаторозрядними числами у двійковій системі числення, тобто мовою комп'ютера є послідовність кодів із нулів і одиниць. Використання такої комп'ютерної мови для складання програм дуже неефективне. Записи програм, отримані таким чином, виявляються дуже докладними та громіздкими, процес розробки програм – програмування – складним і трудомістким. Тому для створення програм вико­ристовуються мови програмування. Мова програмування дозволяє записувати команди в такій формі, щоб їх можна було замінити на машинні коди.

При розробці й поданні алгоритмів можуть бути застосо­вані різні способи їх запису в текстовій та графічній формі, а саме: словесний, формульно-словесний, оперативний, блок-схемний або графічний і запис за допомогою алгоритмічних мов. Широкого розповсюдження набув найбільш наочний спосіб зображення алгоритмів у вигляді графічних схем (блок-схем) (рис. 2.1).

Рис. 2.1. Структура блок-схеми