Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОснАлгор_Посібн_Яровенко

.pdf
Скачиваний:
30
Добавлен:
08.06.2015
Размер:
3.12 Mб
Скачать

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

Ще однією різновидністю комп’ютерного моделювання є імітаційне моделювання метод дослідження, який полягає в імітації на комп’ютері процесу функціонування (поведінки) об’єкту дослідження.

Таким чином, можна сказати, що імітаційне моделювання – це комп’ютерний експеримент з математичною моделлю, яка імітує процеси, що відбуваються в об’єкті дослідження при його функціонуванні під впливом зовнішнього середовища. Імітаційне моделювання дозволяє отримати відомості про стан об’єкту дослідження в певні моменти часу.

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

Імітаційне моделювання застосовується в самих різних сферах діяльності. Аверіл Лоу та Девід Кельтон в своїй фундаментальній праці «Simulation modeling and analysis» приводять список задач, при розв’язувані яких застосування імітаційного моделювання є особливо ефективним:

проектування та аналіз виробничих систем;

оцінка систем озброєнь і вимог до їх матеріально-технічному забезпеченню;

визначення вимог до обладнання і протоколів систем зв’язку;

визначення вимог до обладнання і програмного забезпечення комп’ютерних систем;

проектування і аналіз роботи транспортних систем (аеропортів, автомагістралей, портів, метрополітену тощо);

оцінка проектів створення організацій масового обслуговування (центрів опрацювання замовлень, лікарень, відділень зв’язку тощо);

визначення політики в системах керування запасами;

аналіз фінансових та економічних систем.

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

Ефективність імітаційного моделювання демонструє наступний приклад. Впровадження рекомендацій, отриманих у результаті досліджень імітаційних моделей, дозволило компанії AT&T тільки в центрі, що займається замовленнями авіаквитків, на 20% збільшити кількість оброблюваних дзвінків, на 20% зменшити витрати на персонал, на 27% скоротити кількість понаднормових годин. Число замовлених авіаквитків зросло на 5%. Загальний річний прибуток компанії збільшився на 750 млн. дол.

Статистичне моделювання.

За наявності в моделі випадкових факторів виникає необхідність статистичного оцінювання результатів моделювання, що виконується за допомогою методу статистичного моделювання (методу Монте-Карло).

Статистичне моделювання є самостійним методом наукового дослідження, але

71

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

може включатися в імітаційне моделювання при необхідності моделювання ймовірнісних систем і процесів.

Відзначимо, що інформаційне (математичне) моделювання крім побудови моделі об’єкту дослідження також включає:

1.Проектування алгоритму і програми розв’язання задачі з використанням створених моделей.

2.Планування і проведення комп’ютерного експерименту з моделлю об’єкту дослідження.

3.Верифікація моделі.

4.Перевірку адекватності моделі об’єкту дослідження на основі результатів комп’ютерного експерименту.

5.Ітеративну адаптацію (корегування) моделі.

6.Використання моделі.

На завершення сформулюємо висновок: моделі можуть бути створені

наближенням, кодуванням (трансляцією) чи відтворенням.

3.6. ВИБІР ТА ОБҐРУНТУВАННЯ МЕТОДУ РОЗВ’ЯЗАННЯ ЗАДАЧІ

Метод розв’язання добрий, якщо з самого початку ми можемо передбачити – і надалі це підтвердити, – що слідуючи цьому методу, ми досягнемо цілі. Г. Лейбніц.

ІМ чи ММ досліджуваного в конкретній задачі об’єкту не є розв’язком власне задачі. Використовуючи ці моделі маємо розв’язати задачу – відповісти на поставлене в задачі запитання, обчислити чи дослідити деякий параметр об’єкту, виконати певні перетворення (опрацювання) вхідних даних, отримати деякий логічний висновок тощо. Розв’язання задач (вирішення проблем) звичайно потребує знань та роздумів.

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

Аналітичні методи розв'язків є більш цінними в тому плані, що дозволяють із меншими обчислювальними витратами вивчити властивості об'єкта моделювання, застосовуючи традиційно добре розвинені математичні методи аналізу аналітичних функцій. Важливо те, що застосування аналітичних методів у більшості випадків можливо без використання комп’ютерів. Крім того, одержання розв'язання в аналітичному вигляді дозволяє досліджувати фундаментальні властивості об'єкта, його якісну поведінку, будувати нові гіпотези про його внутрішню структуру. Можливості аналітичних методів суттєво залежать від рівня розвитку відповідних розділів математики.

Останнім часом помітний потужний сплеск інтересу до аналітичних методів розв'язання задач, що пов'язане з появою великої кількості програмних пакетів для математичних символьних обчислень – систем комп’ютерної алгебри (MATLAB та вільний аналог Scilab, MathСad, Maple, Mathematica та ін.). Спектр розв'язуваних цими пакетами завдань дуже великий і постійно розширюється. Застосування подібного інструментарію не тільки спрощує

72

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

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

Однак існуючі в цей час пакети дозволяють одержувати аналітичні розв'язки тільки для відносно нескладних математичних задач. У більшості випадків при дослідженні моделей доводиться використовувати алгоритмічні підходи, серед яких необхідно розрізняти числові (чисельні) й імітаційні.

При числовому підході сукупність математичних співвідношень шляхом дискретизації моделі заміняється на їх скінченновимірний аналог, тобто виконується перехід від функції безперервного аргументу до функції дискретного аргументу. Після цього розробляється обчислювальний алгоритм, тобто визначається послідовність арифметичних і логічних дій, які дозволять за скінченне число кроків одержати розв'язання (використовуючи комп’ютер!). Знайдений розв'язок дискретизованої задачі за умови досить малого кроку дискретизації приймається за наближене розв'язання початкової математичної задачі.

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

Використання як числового, так і імітаційного підходу не дозволяє одержати розв'язки задачі в аналітичній формі, що створює деякі труднощі при аналізі отриманих результатів. Оскільки застосування цих методів можливо винятково за наявності обчислювальної техніки, то їх ефективність прямо пов'язана з потужністю і швидкодією застосовуваних комп’ютерів.

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

Вибір того або іншого методу розв'язання значною мірою залежить від кваліфікації й досвіду членів робочої групи. У випадку, якщо математична постановка задачі (хоча б і у спрощеному варіанті) допускає аналітичне розв'язання, воно, без сумніву, має перевагу перед числовим. Алгоритмічні методи, використовуючи дискретизацію задачі, реалізують обчислювальний експеримент із використанням комп’ютерів. Точність моделювання в подібному експерименті суттєво залежить від обраного методу і його параметрів (наприклад, кроку інтегрування). Алгоритмічні методи, як правило, більш трудомісткі в реалізації, вимагають доброго знання обчислювальної математики, ефективного програмного забезпечення й потужної обчислювальної техніки.

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

Величезна різноманітність числових методів створює деякі труднощі при їхньому виборі в кожному конкретному випадку. Оскільки для розв'язання однієї й тієї самої задачі можна використовувати кілька альтернативних

73

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

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

Зважаючи на те, що нашою кінцевою метою є проектування програми для розв’язання поставленої задачі за допомогою комп’ютера, маємо отримати розв’язок задачі у виді, придатному для програмування. Очевидно, що правильному формулюванні мети (цілей) проектування (пункт 1 специфікації вимог до програмного продукту) такий розв’язок буде єдиним. Але також очевидно, що методів (способів) його отримання може бути декілька. Вибір методу розв’язання задачі для подальшої програмної реалізації є надзвичайно важливим, а тому має бути обґрунтованим.

Критеріями вибору методу розв’язання задачі за допомогою комп’ютера є

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

Звичайно, точність розв’язку розглядається в аспектах:

отримання результату перетворення (опрацювання) вхідних даних точно відповідного тому, що вимагався;

отримання числового значення аналітичного розв’язку задачі із заданою точністю (зважаючи на машинну похибку);

отримання чисельного розв’язку задачі із заданою точністю;

отримання рішення (наприклад, експертного висновку) із заданою

достовірністю.

До обчислювальних ресурсів, затрати яких впливають на ефективність методу розв’язання задачі, відносяться апаратні ресурси (час роботи програми

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

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

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

3.7. ІНФОРМАЦІЙНА МОДЕЛЬ ЗАДАЧІ.

Інформаційну модель задачі визначимо наступним чином:

Означення. Інформаційна модель задачі (ІМЗ) складається з ІМ і/або ММ досліджуваного в задачі об’єкту та формалізованого опису методу отримання розв’язку задачі.

В більш вузькому сенсі (проектування програм) ІМЗ можна визначити

так:

74

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

Означення. ІМЗ – це сукупність вхідних (початкових) та вихідних даних, визначених специфікаціями вимог до майбутньої програми, разом з формалізованим описом методу отримання розв’язку задачі.

Формалізований опис методу отримання розв’язку задачі є аналітичною формулою розв’язку або формулами чисельного методу розв’язання задачі, або послідовністю чітко визначених дій перетворення (опрацювання) вхідних даних для виконання завдання чи отримання результату, що вимагається.

3.8. РЕКОМЕНДОВАНА СТРУКТУРА ТА ЗМІСТ ЕТАПІВ ПОБУДОВИ МОДЕЛЕЙ ДЛЯ РОЗВ’ЯЗАННЯ НАВЧАЛЬНИХ ЗАДАЧ В РАМКАХ ПРАКТИКУМУ.

Побудова математичної моделі, взагалі кажучи (в загальному випадку), процедура не формалізована. Виділяють наступні узагальненні етапи математичного моделювання:

визначення цілі моделювання;

системний аналіз об’єкту моделювання (дослідження);

формалізація інформації (даних) про об’єкт;

створення математичної моделі;

створення комп’ютерної моделі;

верифікація і валідація моделі;

комп’ютерне моделювання;

аналіз адекватності моделі об’єкту і цілі моделювання;

дослідження моделі (аналіз);

застосування (використання) моделі.

Розв’язання навчальних задач в даному практикумі передбачає побудову інформаційної і математичної моделей досліджуваного в задачі об’єкту, та інформаційної моделі власне задачі. Ці роботи відповідають етапам 2-5 (рис.10) процесу розробки навчальних програм.

Рекомендована структура та зміст етапів побудови моделі.

1.Аналіз задачі та предметної області. Знайомство з предметною областю,

формулювання цілей моделювання, визначення кола задач, для розв’язання яких буде використана модель, знайомство з існуючими в предметній області методами і технологіями розв’язання таких чи аналогічних задач.

2.Аналіз об’єкту дослідження:

2.1.Змістовий опис об’єкту дослідження. Структурування об’єкту – виділення та опис елементів та їх взаємозв’язків. Виділення та опис істотних властивостей і станів об’єкту, їх взаємозв’язків (внутрішні зв’язки) та параметрів, які впливають на властивості і стани об’єкту. Визначення та опис важливих зв’язків об’єкту з іншими об’єктами ПО (зовнішні зв’язки);

2.2.Планування й проведення експериментів (в тому числі комп’ютерних)

для можливого отримання додаткової інформації про об’єкт;

75

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

2.3.Абстрагування. Ідентифікація властивостей об’єкту, якими можна знехтувати. Формулювання припущень та гіпотез.

3.Формалізація опису об’єкту дослідження:

3.1.Створення інформаційної моделі об’єкту, досліджуваного в задачі:

3.1.1.Опис заданих вхідних параметрів (впливів):

 

 

,

= 1,2,…,

;

;

3.1.2. Опис постійних параметрів об’єкту:

;

;

 

 

,

= 1,2,…,

 

3.1.3. Опис впливів зовнішнього середовища:

;

 

 

 

,

= 1,2,…,

;

3.1.4. Опис вихідних (шуканих) параметрів об’єкту:

,

= 1,2,…, ;

;

3.1.5.Опис залежності основних параметрів (властивостей і станів) об’єкту від інших (впливаючих параметрів) за допомогою логікоматематичних співвідношень (рівняння, рівності, нерівності, логікоматематичні конструкції);

3.1.6.Опис залежності вихідних (шуканих) параметрів об’єкту від інших параметрів і впливів:

у ( ) = ( ( ), ( ), ( ), )

Формальний запис цих залежностей має дати відповіді на запитання, поставлені в задачі.

3.2.Створення математичної моделі об’єкту, досліджуваного в задачі:

3.2.1.Опис залежності основних параметрів (властивостей і станів) об’єкту від інших (впливаючих параметрів) за допомогою логікоматематичних співвідношень (рівняння, рівності, нерівності, логікоматематичні конструкції);

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

4.Вибір та обґрунтування методу розв’язання задачі: формалізований опис методу отримання розв’язку задачі у вигляді аналітичної формули розв’язку чи формул чисельного методу розв’язання задачі, чи послідовності чітко визначених дій перетворення (опрацювання) вхідних даних для виконання завдання чи отримання результату, що вимагається.

5.Створення інформаційної моделі задачі: ІМ і/або ММ досліджуваного в задачі об’єкту та формалізований опис методу отримання розв’язку задачі.

76

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

4. ПРОЕКТУВАННЯ АЛГОРИТМУ РОЗВ’ЯЗАННЯ ЗАДАЧІ.

4.1. ПОНЯТТЯ АЛГОРИТМУ.

Слово «алгоритм» походить від імені перського математика IX сторіччя Абу Джафара (Абдулаха) Мухамеда ібн Муса аль-Хорезмі, (Abu Jafar Mohammed ibn Musa al-Khorezmi) який біля 825 року вперше описав придуману в Індії позиційну десяткову систему числення. В першій половині XII століття книжка потрапила до Європи в перекладі латинською мовою під назвою Algoritmi de numero Indorum. Вважається, що перше слово в перекладі відповідає невдалій латинізації імені Аль-Хорезмі, а назва перекладу звучить як «Алгорітмі про індійську лічбу». Через невірне тлумачення слова Algoritmi як іменника в множині ним стали називати метод обчислення.

Перший алгоритм, призначений для виконання на автоматичному обчислювальному пристрої (комп'ютері), описала Ада Лавлейс в 1843 році. Алгоритм мав обчислювати числа Бернуллі і працювати на аналітичній машині Беббіджа. Цей алгоритм вважається першою комп'ютерною програмою, а його автор баронеса Ада Лавлейс – першим програмістом

Поняття алгоритму (або алгорифму) належить до первісних, основних, базисних понять математики, таких, як множина чи натуральне число.

Означення. Алгоритм це скінченна система точно визначених правил дії або команд (інструкцій), яка описує порядок дій виконавця для отримання розв’язку задачі за скінченний час (скінченну кількість кроків).

Сформульоване поняття алгоритму не є точним математичним означенням, а тільки пояснює зміст слова «алгоритм», в якому воно використовується в математиці. Слід відзначити, що єдиного «істинного» означення поняття «алгоритм» не існує. Для прикладу приведемо означення терміну «алгоритм» відомих вчених:

«Алгоритм це скінченний набір правил, який визначає послідовність операцій для розв’язування конкретної множини задач і має п'ять важливих рис: скінченність, визначеність, введення, виведення, ефективність». (Д.Кнут)

«Алгоритм це будь-яка система обчислень, що виконуються за строго визначеними правилами, яка після певної кількості кроків обов’язково призводить до розв’язку поставленої задачі». (А. Колмогоров)

«Алгоритм це точна інструкція, яка описує обчислювальний процес, який йде від вхідних даних, які варіюються, до шуканого результату». (А.Марков)

«Під алгоритмом в математиці прийнято розуміти скінченну систему точно визначених правил дії, виконання яких в певному порядку дає можливість розв’язувати всі задачі даного типу». (В.Трохименко)

«Алгоритм це строго детермінована послідовність дій, що описує процес перетворення об'єкта з початкового стану у кінцевий, записана за допомогою зрозумілих виконавцю команд». (М. Угринович)

Алгоритм дозволяє формалізувати процес розв’язування задачі. Важливим є поняття виконавця алгоритму, роль якого може виконувати як деякий автомат (комп’ютер, станок тощо), так і людина. Якщо виконавцем

77

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

алгоритму є людина, то вважається, що вона виконує алгоритм формально – не вникаючи в зміст поставленої задачі, а тільки точно виконуючи послідовність дій, визначену алгоритмом.

Відзначимо, що різні означення алгоритму в явній чи неявній формі постулюють ряд загальних вимог (властивостей):

1.Кожен алгоритм передбачає існування деякої множини об’єктів, допустимих в якості початкових (вхідних) даних. Наприклад, в алгоритмі ділення дійсних чисел ділене може бути будь-яким, а дільник не може бути рівним нулю.

2.Виконання алгоритму призводить до отримання певного результату.

3.Виконання кожного алгоритму відбувається шляхом виконання в певному порядку скінченного числа елементарних дій – операцій над вхідними даними. Ці дії (операції) називають кроками, кожен з них має формальний характер i виконується автоматично, а процес їхнього виконання називають

алгоритмічним процесом.

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

5.Порядок виконання кроків визначається однозначно, тобто після виконання кожного кроку точно відомий наступний крок.

4.2.ФОРМАЛЬНІ ВЛАСТИВОСТІ АЛГОРИТМІВ

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

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

Детермінованість (визначеність) – однозначне визначення результату кожного кроку i порядку їх виконання. Виконання алгоритму є строго детермінованим процесом, який не залежить від виконавця. Таким чином, алгоритм видає один і той же результат для одних і тих же вхідних даних. Існують імовірнісні (стохастичні) алгоритми, в яких кожний наступний крок залежить від поточного стану системи і деякого випадкового числа. Але при включені методу генерування випадкових чисел в список «вхідних даних», імовірнісний алгоритм стає підвидом звичайного.

Зрозумілість – алгоритм повинен включать тільки ті команди, які доступні виконавцю, тобто, входять в його систему команд.

Масовість (універсальність) – єдиний алгоритм повинен забезпечувати розв`язання будь-якої задачі з класу однотипних задач за будь-якими вхідними даними, що належать до області застосування алгоритму.

Результативність – забезпечення одержання певного результату – розв’язку задачі (в разі існування).

78

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

Правильність – забезпечення одержання правильного у відношенні до поставленої задачі розв’язку.

Ефективність – алгоритм вважають ефективним, якщо всі його кроки (операції) досить прості для того, аби їх можна було точно виконати за скінченний проміжок часу.

Приведемо два приклади відомих алгоритмів:

Приклад 1. Алгоритм Евкліда. Цей алгоритм використовується при знаходженні найбільшого спального дільника для довільних двох даних натуральних чисел a i b.

Нехай a > b > 0. Ділимо a на b, отримуємо остачу с1< b. Якщо с1=0, то b є найбільший спільний дільник (НСД), якщо ж с1>0, то шуканий дільник співпадає з НСД чисел b i с1. Тому b ділимо на с1 , i якщо нова остача с2 = 0, то с1 – шуканий дільник, якщо ж с1 > с2 > 0, то ділимо с1 на с2 . Продовжуючи цей процес, отримаємо:

a > b > c1 > c2 > ... > cn > cn + 1 = 0.

Останнє вiдмiнне від нуля в цьому ланцюгу (cn) i буде шуканим. При цьому весь процес закінчиться за скінченне число кроків, оскільки натуральних чисел, менших числа b, – скінченне число.

Приклад 2. Додавання цілих чисел. Вхiднi дані – цифрові записи натуральних чисел у вигляді послідовності знаків: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, які називаються цифрами. Наприклад, 71, 935, 01026.

Правила додавання можна сформулювати так:

1.Для фіксованих цифр доданків з врахуванням цифри перенесення записати відповідну їм цифру суми i відзначити нове перенесення (якщо воно є).

2.Фіксувати наступні вліво цифри доданків i місце нової цифри суми.

3.Повторити виконання правил 1 i 2, поки не будуть вичерпані всі значущі цифри доданків i перенесення.

4.3. СПОСОБИ ЗАПИСУ АЛГОРИТМУ

Для запису (подання) алгоритмів використовують наступні способи:

словесний або вербальний;

аналітичний – у вигляді формул;

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

схемний:

блок-схемиу вигляді спеціальних символів (геометричних образів), визначених стандартом;

граф-схеми – у вигляді мережі Петрі або скінченного зв’язного орієнтованого графу, вершини якого відповідають крокам алгоритму, а дуги задають порядок слідування вершин;

79

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)

операторні схеми – послідовність операторів певних типів;

структурограми – або діаграми Насі-Шнейдермана (Isaac Nassi Ben Shneiderman).

таблиці рішень;

HIPO-схеми (Hierarchy Input Process Output) – таблиць, в яких у трьох колонках розміщуються вказівки щодо вхідних даних, дій над ними та вихідних даних.

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

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

Правила виконання блок-схем алгоритмів регламентує ДСТУ 2938-94, графічні символи, що використовуються для позначення кроків (операцій перетворення вхідних даних), регламентує ДСТУ 2940-94, ДСТУ 2941-94. Графічні символи можуть мати порядкові номери, що проставляються в лівій частині верхньої сторони зображення. Усередині символу дається опис відповідного етапу, якщо він є не занадто громіздким.

Графічні символи на схемі алгоритму з'єднуються направленими лініями потоку інформації. Основний напрямок потоку йде зверху вниз і зліва на право. Вихідна лінія може бути лише одна (виключення - блок перевірки логічних умов і блок модифікації). Лінії потоку поводять паралельно лініям зовнішньої рамки схеми і підводять, як правило, до середини графічного символу. Відстань між паралельними (рівнобіжними) лініями потоку має бути не меншою від 3 мм, між іншими символами – не меншою від 5 мм. Лінію потоку можна обривати, використовуючи на місці розриву з’єднувачі, якщо схему виконано на двох і більше аркушах, або якщо символи, які з’єднуються, розташовано на значній відстані один від одного.

Для графічних символів прийняті розміри:

Висота А= 10, 15, 20,.... мм;

Ширина В=1,5А (допускається встановлювати В=2А).

При необхідності збільшення розмірів схеми алгоритму допускається збільшення розміру А на число, кратне 5.

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

Основні графічні символи, які використовуються для зображення блоксхеми алгоритму, приведені в додатку 1.

80

Print to PDF without this message by purchasing novaPDF (http://www.novapdf.com/)