Організована сукупність дій, необхідних для розв’язання поставленої задачі, називається алгоритмом.
Ефективним методом побудови алгоритмів є метод покрокової деталізації, при якому завдання розбивається на кілька простих підзадач (модулів), і для кожного модуля створюється свій власний алгоритм.
Здебільшого модуль реалізує певний процес обробки інформації і застосовується як для окремого використання, так і для включення модуля в інші алгоритми. Застосування модульності при створенні алгоритмів дозволяє розбити великі задачі на незалежні блоки (модулі), усуває повторення стандартних дій і значно прискорює процес відлагодження алгоритму в цілому. Найчастіше алгоритм складається з головного модуля, який містить декілька інших модулів, створених раніше. Використовуючи модулі як складові великої конструкції, можна створювати алгоритми будь-якого ступеня складності, і при цьому не втрачати контролю за функціюванням алгоритму всієї задачі. Такий метод називається структурним проектуванням алгоритму «зверху донизу», є універсальним і може використовуватися як для обчислювальних процесів (так зване системне програмування), так і для процесів реального життя.
В обчислювальних процесах алгоритм є послідовністю команд (директив або інструкцій), що визначає дії, які треба виконати для досягнення поставленої мети: розв’язання певної задачі.
Властивості алгоритму
Алгоритм повинен мати такі властивості:
1. Дискретність — процес розв’язку розбивається на кроки. Кожен крок — це одна дія або підпорядкований алгоритм (метод покрокової деталізації). Таким чином полегшується процес знайдення помилок і редагування алгоритму.
2. Визначеність (точність) — кожен крок алгоритму має бути однозначно описаною дією і не містити двозначностей.
3. Зрозумілість — усі дії, включені до алгоритму, мають бути у межах компетенції виконавця алгоритму.
4. Універсальність (масовість) — алгоритм має виконуватися при будь-яких значеннях вхідних даний та початкових умов.
5. Скінченність — алгоритм має бути реалізований за конечне число кроків і повинен користуватися кінцевим набором вхідних значень.
6. Результативність — алгоритм має привести до отримання результату.
Якщо алгоритму присутні перелічені вище властивості, то його виконання провадиться формально, тобто точно за схемою алгоритму, без будь-яких втручань у послідовність дій та у самі дії.
Способи опису алгоритмів
Алгоритми можуть бути описані
· усно;
· словесно (у вигляді плану дій — розпоряджень);
· графічно (у вигляді блок-схем).
Найчастіше алгоритми обчислювальних процесів подаються у вигляді блок-схем, де кожний крок алгоритму представлений спеціальним блоком, який умовно показує дію, яку треба виконати. Сама дія записується всередину блоку і є конкретною для даного алгоритму.
УМОВНІ ЗОБРАЖЕННЯ БЛОКІВ, ЇХ ПРИЗНАЧЕННЯ ТА ДІЇ,
ЯКІ ВИКОНУЮТЬСЯ ЗА ДОПОМОГОЮ ВИБРАНИХ БЛОКІВ
Графічне зображення
| Призначення
| Виконувана дія
|
| Пуск
| Початок або кінець алгоритму
|
| Уведення/ виведення
| Блок введення або виведення даних
|
| Процес
| Виконання обчислень або присвоєння значень
|
| Розв’язок
| Перевірка умови. Якщо умова справедлива (набуває значення ІСТИНА), виконується перехід по лінії Так, а якщо не справедлива (набуває значення ХИБНІСТЬ), то виконується перехід на наступний блок по лінії Ні
|
| Визначений процес
| Блок звертання до допоміжного алгоритму
|
| Модификація
| Найчастіше використовується при присвоєнні нових значень старим, тобто тим, що вже були раніше описані
|
| Коментар
| Короткі пояснення до показаного блоку
|
| Поєднувач
| Поєднання одного блоку з іншим
|
Блоки поєднуються між собою лініями потоку інформації — лініями зі стрілками, при цьому, якщо інформація передається по блоках зверху вниз або праворуч, стрілки не проставляються. Якщо треба поєднати один блок з іншим, рекомендується не перетинати лінії потоку, а використовувати поєднувач блоків. Для використання поєднувача блоки мають бути попередньо пронумеровані, а сам поєднувач має містити цифру — номер блоку, з яким відбувається поєднання або номер блоку, з якого відбувається поєднання.