Алгоритми та їх властивості

У IX ст. узбецький математик Мухаммед, уродженець Хорезма (по арабськи "аль-Хорезмі"), розробив правила виконання чотирьох арифметичних дій над числами в десятковій системі числення. Безліч цих правил назвали алгоритмом (algorithmi - від латинського написання імені аль-Хорезмі), а потім словом "алгоритм" почали позначати сукупність правил певного виду, а не тільки правил виконання арифметичних дій.

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

Говорячи про алгоритми, необхідно розглянути джерела їх виникнення.

Перше джерело - це практика, наше повсякденне життя, яка надає можливість, а іноді і вимагає отримувати алгоритми шляхом опису дій з вирішення різних завдань. Такі алгоритми називаються емпіричними.

Друге джерело - це наука. З її теоретичних положень і встановлених фактів можуть бути виведені алгоритми. Так, на основі теоретичних законів можна побудувати алгоритми для управління різними технологічними процесами.

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

властивості алгоритмів

Будь алгоритм повинен мати такі основні властивості:

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

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

Результативність - обов'язкова властивість алгоритмів. Її суть полягає в тому, що при точному виконанні всіх вказівок алгоритму процес прийняття рішення (отримання результату) повинен закінчитися через кінцеве кількість кроків і при цьому повинен бути отримана відповідь на поставлені в задачі питання.

Способи подання алгоритмів

Існує кілька способів подання алгоритмів: словесний, символічний, графічний.

Словесний спосіб полягає в описі алгоритму в термінах будь-якого мови. Даний спосіб застосовується рідко, оскільки запис при цьому досить громіздка і можуть виникнути суперечливі тлумачення алгоритму.

Символічний спосіб полягає в записі алгоритму за допомогою умовних знаків. Даний спосіб представлення алгоритму робить запис алгоритму дуже коротким, і не наочним.

Графічний спосіб - зображення алгоритму у вигляді структурної схеми, яка складається з окремих блоків. Цей спосіб представлення алгоритму є найбільш зручним і наочним.

При поданні завдання графічним способом застосовують такі основні види блоків:

Блок у вигляді прямокутника символізує виконання певних вказівок завдання. Стрілками позначається напрям ходу виконання умов завдання.

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

Початок і кінець алгоритму зображуються у вигляді овальних блоків.

Якщо існує потреба звести кілька ліній в одну, то використовують з'єднувальний коло.

При складанні структурної схеми алгоритму укладач повинен дотримуватися наступних правил, так званих правил для складання структурної схеми алгоритму:

Будь алгоритм повинен мати початок і кінець

Всі блоки, крім перевірки умови, мають тільки один вихід.

Всі блоки алгоритму мають не більше одного входу.

Лінії алгоритму не можуть розгалужуватися.

Типи алгоритмів та їх структурні схеми