Блок-схеми алгоритмів - Навчальна та наукова діяльність Анісімова Володимира Вікторовича
Проектування інформаційних систем
лекції
8. Розробка поведінкової моделі
БЛОК-СХЕМИ АЛГОРИТМІВ
8.2. Блок-схеми алгоритмів.
8.3. Правила та рекомендації побудови блок-схем.
8.4. Приклади побудови блок-схем для розрахунку допустимих швидкостей.
8.2. Блок-схеми алгоритмів
При описі алгоритмів давно і успішно використовуються блок-схеми (Basic Flowchart). Побудова блок-схем алгоритмів регламентується ГОСТ 19.701-90 (ІСО 5807-85) "Єдина система програмної документації. Схеми алгоритмів програм, даних і систем. Умовні позначення і правила виконання" [ 22 ]. Даний державний стандарт складено на основі міжнародного стандарту "ISO 5807-85. Information processing - Documentation symbols and conventions for data, program and system flowcharts, program network charts and system resources charts".
Згідно ГОСТ 19.701-90 під схемою розуміється графічне представлення визначення, аналізу або методу розв'язання задачі. За допомогою схем можна відобразити як статичні, так і динамічні аспекти системи. Символи, наведені в державному стандарті, можуть використовуватися в наступних типах схем:
- схеми даних - визначають послідовність обробки даних і їх носії;
- схеми програм - відображають послідовність операцій в програмі (по суті, це і є блок-схеми алгоритмів в традиційному розумінні);
- схеми роботи системи - відображають управління операціями і потоки даних в системі;
- схеми взаємодії програм - відображають шлях активації програм (модулів) та їх взаємодію з відповідними даними;
- схеми ресурсів системи - відображають конфігурацію блоків даних і обробних блоків.
Як видно з наведених вище типів схем, вони можуть використовуватися не тільки для моделювання поведінкового аспекту, а й для задач функціонального, інформаційного та компонентного проектування.
При побудові поведінкової моделі системи використовуються основні принципи структурного підходу - принципи декомпозиції і ієрархічного упорядкування. Поведінкова модель являє собою набір взаємозалежних схем (діаграм) з різним рівнем деталізації, причому з кожним новим рівнем деталізації система набуває все більш закінчені обриси.
На схемах можуть бути присутніми наступні елементи графічної нотації:
- символи даних - вказують на наявність даних, вид носія або спосіб введення-виведення даних;
- символи процесу - вказують операції, які слід виконати над даними;
- символи ліній - вказують потоки даних між процесами і / або носіями даних, а також потоки управління між процесами;
- спеціальні символи - використовуються для полегшення написання і читання схем.
Крім поділу за смисловим змістом, кожну категорію символів (крім спеціальних) ділять на основні і специфічні символи. Основний символ використовується в тих випадках, коли точний вид процесу або носія даних невідомий або відсутня необхідність в описі фактичного носія даних (процесу). Специфічний символ використовується в тих випадках, коли відомий точний вид процесу або носія даних і це необхідно відобразити на схемі. У наступній таблиці наводяться елементи графічної нотації блок-схем.
Таблиця 8.1. Умовні позначення на блок-схемах
№ п / п Символ Найменування Примітки 1. СИМВОЛИ ДАНИХ
Основні 1.1 Дані Дані, носій яких не визначений 1.2 Оперативна пам'ять (ЗУ) Дані, що зберігаються у вигляді, придатному для автоматичної обробки, носій не визначений Специфічні 1.3 ОЗУ Дані, що зберігаються в ОЗП (оперативна пам'ять) 1.4 ЗУ з послідовним доступом Дані, що зберігаються на магнітній стрічці (магнітна стрічка, трасах) 1.5 ЗУ з прямим доступом Дані, що зберігаються на жорстких або гнучких магнітних дисках, CD, DVD, ZIP і т.д. 1.6 Документ Дані, що подаються не в комп'ютерному вигляді (на папері, на плівках і т.д.) 1.7 Ручне введення Дані, що вводяться вручну за допомогою клавіатури, миші, світлового пера і т. Д. 1.8 Карта Дані на перфокартах, магнітних картах, картах зі зчитуваними мітками і т.д. 1.9 Паперова стрічка Дані на паперовій стрічці 1.10 Дисплей Дані, які відображаються на екрані монітора, сигнальні індикатори і т.д. 2. СИМВОЛИ ПРОЦЕСУ
основний 2.1 Процес Елементарна (атомарна) операція з обробки даних (наприклад, n: = n + 1) Специфічні 2.2 Зумовлений процес (процедура) Процес, що складається з операцій, описаних в іншому місці (на іншій схемі) 2.3 Ручна операція Операція, яка виконується вручну 2.4 Підготовка Підготовчі операції, що виконуються з метою модифікації наступних операцій (цикл з параметром [For-To-Do]) 2.5 Рішення Операція з одним входом і декількома альтернативними виходами, один з яких активізується після перевірки умови, що записується всередині символу (оператори If-Then-Else або Case) 2.6 Паралельні дії Паралельне виконання двох і більше операцій 2.7 Межі циклу Початок і кінець циклу. Особливості роботи циклу (ініціалізація, приріст, умова) записується на початку або наприкінці, в залежності від того, де здійснюється його перевірка (цикли з перед- або постусловіем) 3. СИМВОЛИ ЛІНІЙ
основний 3.1 Лінія Потік даних або управління Специфічні 3.2 Канал зв'язку Передача даних по каналу зв'язку 3.3 Пунктирна лінія Альтернативна зв'язок між двома і більше символами або для обведення коментованого ділянки схеми 4. СПЕЦІАЛЬНІ СИМВОЛИ 4.1 ГОСТ З'єднувач Використовується для обриву ліній і їх продовження в іншому місці.
Зазвичай використовується для позначення взаємопов'язаних елементів схеми на різних аркушах. Усередині з'єднувача пишеться номер з'єднання ІСО 4.2 Термінатор Вихід у зовнішнє середовище або увійти з зовнішнього середовища (початок і кінець процесу обробки даних [в цьому випадку всередині пишуть "початок" або "кінець"], джерело або пункт призначення даних, початок і кінець роботи зумовленого процесу) 4.3 Одержувач - відправник За функціональним призначенням аналогічний символу "Термінатор" 4.4 Коментар Символ використовується для внесення пояснювальних записів 4.5 Пропуск Пропуск символу або групи символів
8.3. Правила та рекомендації побудови блок-схем
Нижче наводяться деякі правила і рекомендації побудови схем [ 22 ].
1. Допускається дзеркально відображати символи і повертати їх навколо осі. Зокрема, запам'ятовуючі пристрої з прямим доступом (таблиці на жорсткому диску) на схемах, як правило, повертають на 90 ° проти годинникової стрілки.
2. Більшість символів допускають завдання всередині них текстових пояснень. Якщо текст не поміщається усередині символу, то краще його приводити, використовуючи коментарі.
3. Кількість перетинів ліній слід мінімізувати. При цьому вважається, що пересічні лінії не мають логічного зв'язку один з одним. Іншими словами потоки даних або управління в місцях перетину не змінюють свого напряму.
4. Якщо дві або більше ліній об'єднаються в одну, то місце об'єднання повинне бути зміщений.
Мал. 8.1. Об'єднання потоків даних або управління
5. Кілька виходів з символу рішення слід показувати одним із таких способів:
- декількома лініями від даного символу до інших символів;
- однією лінією від даного символу, яка потім розгалужується в відповідне число потоків.
Мал. 8.2. розгалуження ліній
У разі розгалуження кожен вихід з символу повинен супроводжуватися або записом умови (наприклад, умова "Порівняти A і B", 3 виходи: A> B, A <B і A = B), або результату перевірки умови, записаного всередині символу (наприклад, умова "A = B", 2 виходи: та й Ні).
Як видно, на рис. 8.2 символ рішення допускає більше двох вихідних потоків.
6. Замість одного символу з відповідним текстом можуть бути використані кілька символів з перекриттям зображення, кожен з яких може містити додатковий текст (наприклад, запис чи посилка кільком одержувачам, підготовка декількох копій документа і т. Д.).
Мал. 8.3. Множинне позначення символів
7. Якщо напрямок стрілки не вказано, то напрямок потоку вважається зверху вниз, зліва направо.
8.4. Приклади побудови блок-схем для розрахунку допустимих швидкостей
В якості ілюстрації використання блок-схем обраний блок розрахунку допускаються швидкостей. на діаграмі IDEF0 йому відповідає функція "Розрахунок допустимих швидкостей" (див. рис. 6.21), а на DFD - процес "Розрахувати допустимі швидкості" (див. Рис. 6.24). Для деталізації цього блоку на рис. 8.4 приведена контекстна блок-схема, що описує цю процедуру в цілому.
Мал. 8.4. Контекстна блок-схема
Як видно, вона складається з 6 зумовлених процедур. Перші три процедури перевіряють вихідні дані для розрахунку на повноту і коректність, фіксують все виявлені помилки в протоколі, а також перетворять ці дані до виду, більш зручному для виконання розрахунку. На контекстної діаграмі показана не тільки послідовність операцій, але і їх зв'язок з БД.
На рис. 8.5 подальша деталізація продовжена на прикладі зумовленої процедури "Розрахунок допустимих швидкостей в кривих".
Мал. 8.5. Блок-схема процедури "Розрахунок допустимих швидкостей в кривих"