начає алгоритм, як правило, що наказує послідовність елементарних дій (операцій), які в силу їх простоти однозначно розуміються і виконуються всіма. Алгоритм - це система вказівок (приписів) про ці дії, про те, які з них і як треба виробляти [Ланда, 1996].
Визначення, яке дає в своїй книзі Н.А.Крініцкій, звучить так: алгоритм - це правило, сформульоване на деякій мові і визначальне процес переробки допустимих вихідних даних в шукані результати. [Криницький, 1984].
Алгоритм - це кінцевий набір правил, який визначає послідовність операцій для вирішення конкретного безлічі завдань і володіє п'ятьма важливими рисами: кінцівку, визначеність, введення, висновок, ефективність [Кнут, 1976].
Алгоритм - це всяка система обчислень, виконуваних по строго певним правилам, яка після якого-небудь числа кроків свідомо призводить до вирішення поставленого завдання [Колмогоров, 1987].
Алгоритм - правило дій, послідовність проведення обчислювальних операцій, спосіб знаходження шуканого результату [Райзберг, 2007].
Алгоритм - сукупність приписів про послідовному виконанні системи різних операції (обчислень), необхідних для вирішення певної задачі [Паффенгольц, 1978].
Алгоритм - математична система операцій (напр., обчислень), що застосовуються за суворо визначеними правилами, яка після послідовного їх виконання призводить до вирішення поставленого завдання [Комлєв, 2006].
Алгоритм [algorithm] - точне розпорядження щодо послідовності дій (кроків), що перетворюють вихідні дані lt; # justify gt; Велика радянська енциклопедія трактує поняття «алгоритм» як точне розпорядження, яке задає обчислювальний процес, який з довільного вихідного даного і на визначення повністю визначається цим вихідним даним результату [Прохоров, 2003].
У своїй роботі ми будемо спиратися на визначення, дане Л.П. Стойловой, відповідно до якого алгоритм розглядається як програма дій для вирішення завдань певного типу [Стойлова, 2007].
Алгоритми залежно від мети, початкових умов завдання, шляхів її вирішення, визначення дій виконавця підрозділяються наступним чином:
Механічні алгоритми, чи інакше детерміновані, жорсткі (наприклад, алгоритм роботи машини, двигуна і т.п.);
Гнучкі алгоритми, наприклад стохастичні, тобто імовірнісні та евристичні. Механічний алгоритм задає певні дії, позначаючи їх в єдиній і достовірної послідовності, забезпечуючи тим самим однозначний необхідний або шуканий результат, якщо виконуються ті умови процесу, завдання, для яких розроблений алгоритм.
Імовірнісний (стохастичний) алгоритм дає програму рішення задачі кількома шляхами або способами, що призводять до ймовірного досягненню результату.
Евристичний алгорітм- це такий алгоритм, у якому досягнення кінцевого результату програми дій однозначно не визначено, так само як не позначена вся послідовність дій, що не виявлені всі дії виконавця.
Лінійний алгоритм - набір команд, виконуваних послідовно в часі один за одним.
Розгалужуються алгоритм - алгоритм, який містить хоча б одна умова, в результаті перевірки якого ЕОМ забезпечує перехід на один з двох можливих кроків.
Циклічний алгоритм - алгоритм, який передбачає багаторазове повторення одного і того ж дії (одних і тих же операцій) над новими вихідними даними. До циклічним алгоритмам зводиться більшість методів обчислень, перебору варіантів.
Допоміжний алгоритм (процедура) - алгоритм, раніше і цілком використовується при алгоритмізації конкретного завдання. У деяких випадках при наявності однакових послідовностей вказівок (команд) для різних даних з метою скорочення запису також виділяють допоміжний алгоритм [Інтернет ресурс].
Професор Стендфортского університету Д.Кнута (Каліфорнія, США) у книзі «Мистецтво програмування для ЕОМ» зазначає, що сучасне значення слова «алгоритм» дуже схоже зі значенням слів «рецепт», «процес», « метод »,« спосіб »,« програма », але має свій додатковий смисловий відтінок. Це уточнення сенсу може бути сформульовано як перелік деяких властивостей, якими повинен володіти будь алгоритм.
Наведемо перелік найбільш важливих властивостей алгоритму:
. Дискретність;
. Елементарність кроків;
. Визначеність (детермінованість).
. Результативність.
. Масовість.
. Дискретність. Кроки в алгоритмі повинні йти в певній послідовності. Це означає, що в будь-якому алгоритмі для наступного кроку (крім останнього) можна вказати єдиний безпосередньо наступний за ним крок, тобто такий, що між ...