ю результату;
· евристичний алгоритм (від грецького слова еврика ) - це такий алгоритм, у якому досягнення кінцевого результату програми дій однозначно не визначено, так само як не позначена вся послідовність дій, що не виявлені всі дії виконавця. До евристичним алгоритмам відносять, наприклад, інструкції та приписи. У цих алгоритмах використовуються універсальні логічні процедури і способи прийняття рішень, засновані на аналогії, асоціаціях та минулому досвіді вирішення схожих завдань;
· лінійний алгоритм - набір команд (вказівок), виконуваних послідовно в часі один за одним;
· розгалужується алгоритм - алгоритм, який містить хоча б одна умова, в результаті перевірки якого ЕОМ забезпечує перехід на один з двох можливих кроків;
· циклічний алгоритм - алгоритм, який передбачає багаторазове повторення одного і того ж дії (одних і тих же операцій) над новими вихідними даними. До циклічним алгоритмам зводиться більшість методів обчислень, перебору варіантів. [3]
1.2 Властивості алгоритмів
Для алгоритмів характерні загальні риси та особливості.
1. Дискретність
Застосування кожного алгоритму здійснюється шляхом виконання дискретної ланцюжка (послідовності) деяких елементарних дій. Ці дії називають кроками, а процес їх виконання називають алгоритмическим процесом [4, С.314].
2. Детермінованість (визначеність)
Кожен крок алгоритму має бути точно визначений. Дії, які потрібно виконати, повинні бути строго і недвозначно визначені для кожного конкретного випадку. Приписи алгоритму єдиним і цілком визначеним шляхом щоразу приводять до шуканого результату. Для опису алгоритмів були розроблені формально певні мови програмування , або машинні мови , в яких кожен оператор має строго певне значення [5, С.23-24].
3. Результативність
Дана властивість вимагає від алгоритму зупинки після кінцевого числа кроків (залежного від даних) із зазначенням того, що вважати результатом. Зокрема, кожен, хто пред'являє алгоритм вирішення деякої задачі, наприклад обчислення функції f (x), повинен показати, що алгоритм зупиняється після кінцевого числа кроків (кажуть, сходиться ) для будь-якого x з області завдання f . Перевірити результативність (збіжність) непросто. Збіжність зазвичай не вдається встановити простим переглядом опису алгоритму; загального ж методу перевірки збіжності, придатного для будь-якого алгоритму А і будь-яких даних х, не існує [2, С.149].
4. Масовість
Мається на увазі можливість застосовувати алгоритм до обширного класу початкових даних, можливість досить широко ці початкові дані варіювати. Іншими словами, кожен алгоритм покликаний вирішити ту чи іншу масову проблему, тобто вирішувати клас однотипних завдань. Наприклад, завдання знаходження найбільшого загального дільника чисел 4 і 6 є одинична проблема, але завдання знаходження найбільшого спільного дільника довільних натуральних чисел т і п - вже проблема масова.
5. Допустимість початкових даних
Говорячи про початкових даних для алгоритму, мають на увазі так звані допустимі початкові дані , тобто такі початкові дані, які сформульовані в термінах даного алгоритму.
Серед допустимих початкових даних для алгоритму можуть бути такі, до яких він застосуємо, тобто вирушаючи oт яких можна отримати шуканий результат, а можуть бути і такі, до яких даний алгоритм непридатний, тобто вирушаючи від яких шуканого результату отримати не можна. Незастосовність алгоритму до допустимим початковим даними може полягати або в тому, що алгоритмічний процес ніколи не закінчується, або в тому, що його виконання під час одного з кроків наштовхується на перешкоду, заходить у глухий кут. [4, С.314-315]
Також слід розрізняти:
а) опис алгоритму (інструкцію або програму);
б) механізм реалізації алгоритму (наприклад, ЕОМ...