Графічне представлення алгоритмів - студопедія
Алгоритм, складений для деякого виконавця, можна уявити різними способами: за допомогою графічного або словесного опису, у вигляді таблиці, послідовністю формул, записаним на алгоритмічній мові (мові програмування). Зупинимося на графічному описі алгоритму, званому блок-схемою. Цей спосіб має ряд переваг завдяки наочності, що забезпечує, зокрема, високу «читаність» алгоритму і явне відображення управління в ньому.
Перш за все визначимо поняття блок-схеми. Блок-схема - це орієнтований граф, який вказує порядок виконання команд алгоритму; вершини такого графа можуть бути одного з трьох типів (рис. 2.2).

Рис.2.2. Три типу вершин графа
На рис. 2.2 зображені «функціональна» (a) вершина (має один вхід і один вихід); «Предикатна» (б) вершина, що має один вхід і два виходи (в цьому випадку функція Р передає управління по одній з гілок в залежності від значення Р (Т, тобто true, означає «істина», F, тобто . false - «брехня»); «що об'єднує» (в) вершина (вершина «злиття»), що забезпечує передачу управління від одного з двох входів до виходу. Іноді замість Т пишуть «так» (або знак +), замість F- « немає »(або знак -).
З даних елементарних блок-схем можна побудувати три блок-схеми, що мають особливе значення для практики алгоритмізації.
Дотримання - найважливіша зі структур. Вона означає, що дії можуть бути виконані один за одним:
Мал. 2.3. Структура «проходження»
Ці прямокутники можуть представляти як одну єдину команду, так і безліч операторів, необхідних для виконання складної обробки даних.
Розгалуження - це структура, що забезпечує вибір між двома альтернативами. Виконується перевірка, а потім вибирається один із шляхів.
Ця структура називається також «ЯКЩО - ТО - ІНАКШЕ», або «розвилка». Кожен із шляхів (ТО або ІНАКШЕ) веде до спільної точки злиття, так що виконання програми триває незалежно від того, який шлях був обраний.

Мал. 2.4. Структура «розгалуження»
Може виявитися, що для одного з результатів перевірки нічого робити не треба. В цьому випадку можна застосовувати тільки один обробляє блок:

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

Мал. 2.6. Структура циклу «поки»

Мал. 2.7. Структура циклу «до»
Ці структури можна комбінувати одну з іншого - як шляхом організації їх слідування, так і шляхом створення суперпозиций (вкладень однієї структури в іншу) - як завгодно різноманітно для вираження логіки алгоритму розв'язання будь-якої задачі.
Ще одним важливим компонентом структурного підходу до розробки алгоритмів є модульність. Модуль - це послідовність логічно пов'язаних операцій, оформлених як окрема частина програми. Використання модулів має такі переваги:
1) можливість створення програми декількома програмістами;
2) простота проектування і наступних модифікацій програми;
3) спрощення налагодження програми - виявлення і усунення в ній помилок;
4) можливість використання готових бібліотек найбільш уживаних модулів.
Але, мабуть, найважливішим досягненням структурного підходу до розробки алгоритмів є спадний проектування програм, засноване на ідеї рівнів абстракції, які стають рівнями модулів в розробляється програмі. На етапі проектування будується схема ієрархії, яка зображує ці рівні. Схема ієрархії дозволяє програмісту спочатку сконцентрувати увагу на визначенні того, що треба зробити в програмі, а лише потім вирішувати, як це треба робити. При низхідному проектуванні вихідна, що підлягає вирішенню завдання розбивається на ряд підзадач, підлеглих за своїм змістом головному завданню. Таке розбиття називається деталізацією або декомпозицією.
На практиці при складанні блок-схем виявляється зручним використовувати і інші графічні знаки (деякі з них наведені на рис. 2.8).

Рис.2.8. Деякі додаткові конструкції для зображення блок-схем алгоритмів