Алгоритм - остаточне число приписів однозначно визначає процес перетворення вихідних даних в потрібний результат.
Слово «алгоритм» походить від імені узбецького математика IX століття Аль Хорезми, який сформулював правила виконання чотирьох арифметичних дій (+, -, /, х) над десятковими числами.
Властивості алгоритму:
- масовість - застосовується для рішення задач даного класу, незалежно від вихідних даних;
- визначеність - всі інструкції повинні виконуватися чітко і не допускати двозначних тлумачень
- однозначність (детермінованість) результатів - результат повинен збігатися при багаторазовому вирішенні задачі;
- результативність - виконання алгоритму повинно приводити до отримання результату;
- кінцівка - процес вирішення задачі повинен закінчуватися за кінцеве число кроків.
Способи описания алгоритмів. Існує кілька способів описания алгоритмів:
- словесний - представляє алгоритм у вигляді слів і пропозицій;
- табличний - використовується для опису складних логічних умов, які визначають ті або інші обчислення;
- операторний - алгоритм представляється у вигляді послідовності операторів;
- схемний (графічний) алгоритм задається у вигляді схеми.
В інженерній практиці найбільше поширення одержав схемний спосіб опису алгоритмів, при цьому процес обчислень розчленовується на окремі операції, які відображаються у вигляді умовних графічних блочних символів.Блоки зазвичай мають наскрізну нумерацію.
Правила виконання схем, перелік блоків, їх найменування, форму і розміри встановлюється ГОСТом, який відповідає міжнародному стандарту UCO. Програмні документи оформляються відповідно до стандартів:
- Схеми алгоритмів для документів ГОСТ 19.701-90;
- ЕСКД - Единая система онструкторской даліокументации;
- ЕСПД - Единая система программной даліокументации;
- і/або діаграмами міжнародного стандарту UML.
Найбільш часто використовувані блоки наведені в табл. №1.
Таблиця 1
Назву символу |
Символ |
Примітка |
Процес |
|
Обчислювальне дію або послідовність дій |
Рішення |
|
Перевірка умов |
Модифікація |
|
Заголовок циклу |
Визначений
процес |
|
Обчислення за підпрограмі. |
Документ
|
|
Вивід даних на друк. |
Вод/вивід |
|
Вод/Вивід даних (незалежно від фізичного носія інформації) |
Пуск/Зупинка |
|
Початок, кінець алгоритму, вхід і вихід у підпрограма |
Міжрядковий з'єднувач |
|
Розрив ліній потоку в межах однієї сторінки |
Межстраничный з'єднувач |
|
Розрив ліній потоку розташованих на різних сторінках |
Коментар |
|
Пояснення блоків і підпрограм |
Лінії |
|
Вказують на хід процесу |
В блоках прийняті розміри , . Припустимо збільшення розміру на кратне число 5. Мінімальна відстань між блоками 5 мм.
Рис.4.1. Розміри блоків.
Типові структури алгоритмів
За характером зв'язків між блоками розрізняють наступні типові структури алгоритмів: лінійної, розгалуженої і циклічної структури.
Приклади:
Алгоритм лінійної структури
Алгоритм розгалуженої структури
Алгоритм циклічної структури