Поняття алгоритму.

Алгоритми.

Тестування встановлює факт наявності помилок, а відладка з'ясовує її причину.

Поняття алгоритму таке ж основоположне для інформатики, як і поняття інформації. Саме тому важливо в нім розібратися.

Назва "алгоритм" відбулася від латинської форми імені найбільшого середньоазіатського математика Мухаммеда ібн Муса ал-Хорезмі (Alhorithmi), що жив в 783‑850 рр. У своїй книзі "Про індійській рахунок" він виклав правила запису натуральних чисел за допомогою арабських цифр і правила дій над ними "стовпчиком", знайомі тепер кожному школяру. У XII столітті ця книга була перекладена на латинь і набула широкого поширення в Европе.

Людина щодня зустрічається з необхідністю слідувати тим або іншим правилам, виконувати різні інструкції і вказівки. Наприклад, переходячи через дорогу на перехресті без світлофора треба спочатку подивитися направо. Якщо машин немає, то перейти півдороги, а якщо машини є, чекати, поки вони пройдуть, потім перейти півдороги. Після цього подивитися наліво і, якщо машин немає, то перейти дорогу до кінця, а якщо машини є, чекати, поки вони пройдуть, а потім перейти дорогу до кінця.

У математиці для вирішення типових завдань ми використовуємо певні правила, що описують послідовності дій. Наприклад, правила складання дробових чисел, вирішення квадратних рівнянь і так далі Зазвичай будь-які інструкції і правила є послідовністю дій, які необхідно виконати в певному порядку. Для вирішення завдання треба знати, що дане, що слід отримати і які дії і в якому порядку слід для цього виконати. Розпорядження, що визначає порядок виконання дій над даними з метою отримання шуканих результатів, і є алгоритм.

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

Це — не визначення в математичному сенсі слова, а, швидше, опис інтуїтивного поняття алгоритму, що розкриває його суть.

Порядок виконання алгоритму:

· Дії в алгоритмі виконуються в порядку їх запису

· Не можна міняти місцями ніякі дві дії алгоритму

· Не можна не закінчивши однієї дії переходити до наступної

У міру розвитку паралельності в роботі комп'ютерів слово «послідовність» почали замінювати більш загальним словом «порядок». Це пов'язано з тим, що якісь дії алгоритму мають бути виконані тільки один за одним, але якісь можуть бути і незалежними. Поняття алгоритму необов'язково відноситься до комп'ютерних програм, так, наприклад, чітко описаний рецепт приготування блюда також є алгоритмом, у такому разі виконавцем є людина. Проте найчастіше як виконавець виступає комп'ютер.

Існує багато тлумачень алгоритму. Наприклад:

«Алгоритм — це всяка система обчислень, що виконуються по строго заданим правилам, яка після якого-небудь числа кроків свідомо приводить до рішення поставленої задачі.» (А. Колмогоров)

«Алгоритм — це точне розпорядження, що визначає обчислювальний процес, що йде від варійованих початкових даних до шуканого результату.» (А. Марков)

«Алгоритм — строго детермінована послідовність дій, що описує процес перетворення об'єкту з початкового стану в кінцевий, записана за допомогою зрозумілих виконавцеві команд.» (Угріновіч Микола Дмитрович)

«Алгоритм — це послідовність дій, направлених на отримання певного результату за кінцеве число кроків.» (Roxanstudio)

«Алгоритм є формалізована послідовність дій (подій). Алгоритм може бути записаний словами і зображений схематично. Практично будь-яка невипадкова повторювана дія піддається опису через алгоритм.» ([grey_olli])

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

«Алгоритм — це система операторів, узятих з безлічі операторів деякого виконавця, яка повністю визначає деякий клас алгоритмічних процесів, тобто процесів, які: дискретні; детерміновані; потенційно кінцеві; перетворюють деякі конструктивні об'єкти.