Моделювання процесу дослідження – його алгоритмізація. Алгоритмізація та моделювання

Моделювання процесу дослідження – його алгоритмізація. Алгоритмізація та моделювання

МОСКІВСЬКИЙ ТЕХНОЛОГІЧНИЙ ІНСТИТУТ
Комп'ютерне моделювання
Бужинський В.А. ктн
доцент

Москва
2014

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

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

Тема №1. Основні поняття комп'ютерного моделювання.
Тема № 2. Побудова моделюючих алгоритмів: формалізація та
алгоритмізація процесів.
Тема №3. Універсальність математичних моделей.
Тема №4. Математичні моделі складних систем.
Тема № 5. Безперервно-детерміновані, дискретно-детерміновані, дискретно-імовірнісні та безперервно-ймовірні моделі.

Вебінар №2
Побудова моделюючих алгоритмів:
формалізація та алгоритмізація процесів
1. Формалізація моделі
2. Алгоритмізація процесу

Протягом своєї історії людство використовувало різні
способи та інструменти для створення інформаційних моделей. Ці способи
постійно вдосконалювалися. Так, перші інформаційні моделі
створювалися у формі наскельних малюнків. В даний час інформаційні
моделі зазвичай будуються та досліджуються з використанням сучасних
комп'ютерні технології.
При вивченні нового об'єкта спочатку зазвичай будується його
описова інформаційна модель з використанням природних мов
та малюнків. Така модель може відображати об'єкти, процеси та явища.
якісно, ​​тобто не використовуючи кількісних характеристик. Наприклад,
геліоцентрична модель світу Коперника природною мовою
формулювалася так:
Земля обертається навколо Сонця, а Місяць обертається навколо Землі;
всі планети обертаються навколо Сонця.

За допомогою формальних мов будуються формальні
інформаційні моделі Математика є найбільш широко
використовуваним формальним мовою. З використанням математичних
понять та формул будуються математичні моделі.
У природничих науках (фізиці, хімії та ін.) будуються
формальні моделі явищ та процесів. Часто для цього застосовується
універсальна математична мова алгебраїчних формул (до зан. № 3).
Однак у деяких випадках використовуються спеціалізовані
формальні мови (у хімії - мова хімічних формул, у музиці - нотна
грамота і т. д.) (?).

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

Першим етапом будь-якого дослідження є постановка задачі, яка
визначається заданою метою.
Завдання формулюється звичайною мовою. За характером постановки всі
Завдання можна розділити на дві основні групи. До першої групи можна
віднести завдання, в яких потрібно дослідити, як зміняться
Показники об'єкта при певному впливі на нього, «що буде,
якщо?…». Друга група завдань: який треба вплинути на
об'єкт, щоб його параметри задовольняли деякому заданому
умові, «як зробити, щоб?..».
Другий етап – аналіз об'єкта. Результат аналізу об'єкта – виявлення його
складових (елементарних об'єктів) та визначення зв'язків між ними.
Третій етап – розробка інформаційної моделі об'єкта. Побудова
Модель повинна бути пов'язана з метою моделювання. Кожен об'єкт має
велика кількість різних властивостей. У процесі побудови моделі
виділяються головні, найбільш суттєві властивості, які
відповідають цілі
Все те, про що йшлося вище – це формалізація, тобто заміна
реального об'єкта чи процесу його формальним описом, тобто. його
інформаційною моделлю.

10.

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

11.

12.

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

13.

Послідовність команд з управління об'єктом,
виконання яких призводить до досягнення заздалегідь поставленої
Цілі називається алгоритмом управління.
Походження поняття «алгоритм».
Слово «алгоритм» походить від імені математика
середньовічного Сходу Мухаммеда аль-Хорезмі (787-850). Ним були
запропоновано прийоми виконання арифметичних обчислень з
багатозначними числами. Пізніше у Європі ці прийоми назвали
алгоритмами від латинського написання імені аль-Хорезмі. В наш час
поняття алгоритму не обмежується лише арифметичними
обчисленнями.

14.

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

15.

Властивості алгоритмів:
Дискретність - алгоритм має бути розбитий на кроки (окремі
закінчені дії).
Визначеність – у виконавця не повинно виникати
двозначностей у розумінні кроків алгоритму (виконавець
має приймати самостійні рішення).
Результативність (кінцевість) - алгоритм повинен призводити до
кінцевого результату за кінцеве число кроків.
Зрозумілість - алгоритм має бути зрозумілим для виконавця.
Ефективність - з можливих алгоритмів вибирається той
алгоритм, який містить менше кроків або його виконання
потрібно менше часу.

16.

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

17.

У процесі алгоритмізації вихідний алгоритм розбивається окремі
пов'язані частини, які називають кроками, або приватними алгоритмами.
Розрізняють чотири основні типи приватних алгоритмів:
лінійний алгоритм;
алгоритм із розгалуженням;
циклічний алгоритм;
допоміжний, чи підлеглий, алгоритм.
Лінійний алгоритм - набір інструкцій, що виконуються
послідовно у часі один за одним.
Алгоритм із розгалуженням - алгоритм, що містить хоча б одне
умова, внаслідок перевірки якого ЕОМ забезпечує перехід на
один із двох можливих кроків.
Циклічний алгоритм - алгоритм, що передбачає повторення
однієї й тієї ж дії над новими вихідними даними. Необхідно
помітити, що циклічний алгоритм легко реалізується за допомогою двох
раніше розглянуті типи алгоритмів.
Допоміжний, чи підлеглий, алгоритм - алгоритм, раніше
розроблений і повністю використовуваний при алгоритмізації конкретної
завдання.

18.

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

19.

Способи опису алгоритмів
Вибір засобів та методів для запису алгоритму
залежить насамперед від призначення (природи) самого
алгоритму, а також від того, хто (що) буде
виконавцем алгоритму.
Алгоритми записуються у вигляді:
словесних правил,
блок-схем,
програм.

20.

Словесний спосіб опису алгоритмів - це, по суті, звичайна мова, але
з ретельним відбором слів і фраз, що не допускають зайвих слів,
двозначностей та повторень. Доповнюється мова звичайними математичними
позначеннями та деякими спеціальними угодами.
Алгоритм описується як послідовності кроків. На кожному кроці
визначається склад виконуваних дій та напрямок подальших
обчислень. При цьому, якщо на поточному кроці не вказується, який крок повинен
виконуватися наступним, здійснюється перехід до наступного кроку.
приклад. Скласти алгоритм знаходження найбільшого числа із трьох заданих
чисел a, b, c.
Порівняти a та b. Якщо a>b, то як максимум t прийняти a, інакше (a<=b) в
як максимум прийняти b.
Порівняти t та c. Якщо t>c, перейти до кроку 3. Інакше (t максимуму c(t=c).
Прийняти t як результат.
Недоліки словесного способу опису алгоритмів:
відсутність наочності,
недостатня точність.

21.

Графічний спосіб опису
алгоритмів – це спосіб
уявлення алгоритму з
допомогою загальноприйнятих
графічних фігур, кожна з
яких описує один або
кілька кроків алгоритму.
Усередині блоку записується
опис команд чи умов.
Для вказівки
послідовності виконання
блоків використовують лінії зв'язку
(Лінії з'єднання).
Існують певні
правила опису алгоритмів у
вигляді блок-схем. (?)

22.

Опис алгоритмів за допомогою програм - алгоритм, записаний на
мовою програмування, називається програмою.
Словесна та графічна форми запису алгоритму призначені для
людини. Алгоритм, призначений для виконання на комп'ютері,
записується мовою програмування (мові, зрозумілому ЕОМ). Зараз
відомо кілька сотень мов програмування. Найбільш популярні:
Сі, Паскаль, Бейсік і т.д.
приклад. Скласти алгоритм знаходження найбільшого числа із трьох
заданих чисел a, b, c.
program MaxFromThree;
var
a, b, c, result: Real;
begin
Write ("Введіть a, b, c");
ReadLn (a, b, c);
if a>b then result:= a else result:= b;
if c>result then result:= c;
WriteLn ("Максимальне з трьох чисел одно:", result:9:2)
end.
(?)

23.

Приклад 1
Даний одновимірний масив, обчисліть середнє арифметичне. (?)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Рішення задачі
Program test;
Var i, summ: Integer;
massiv: array of Integer;
Begin
summ:=0;
for i:=1 to 5 do
begin
Write("Введіть елемент масиву:");
ReadLn (massiv [i]);
summ: = summ + massiv [i];
end;
Write("середнє арифметичне масиву дорівнює:", summ/5);
WriteLn;
End.
(?)

24.

Приклад 2
Побудувати алгоритм процесу кидання тіла під кутом до горизонту
(?)

25.

В.В. Васильєв, Л.А. Сімак, А.М. Рибнікова. Математичне та
комп'ютерне моделювання процесів та систем у середовищі
MATLAB/SIMULINK. Навчальний посібник для студентів та аспірантів. 2008
рік. 91 стор.
Комп'ютерне моделювання фізичних завдань у
Microsoft Visual Basic. Підручник Автор: Алексєєв Д.В.
СОЛОН-ПРЕС, 2009 р
Автор: Орлова І.В., Половніков В.А.
Видавництво: Вузовський підручник
Рік: 2008

26.

Анфілатов, В. С. Системний аналіз в управлінні [Текст]: навч. посібник / В. С.
Анфілатов, А. А. Ємельянов, А. А. Кукушкін; за ред. А. А. Ємельянова. - М.:
Фінанси та статистика, 2002. - 368 с.
Вєніков, В.А.. Теорія подібності та моделювання [Текст] / В. А. Вєніков, Г. В.
Вініков.- М.: Вищ.шк., 1984. - 439 с.
Євсюков, В. Н. Аналіз автоматичних систем[Текст]: навчально-методичне
посібник для виконання практичних завдань/В. Н. Євсюков, А. М. Чорноусова. -
2-ге вид., Вик. - Оренбург: ІПК ГОУ ОГУ, 2007. - 179 с.
Зарубін, В. С. Математичне моделювання в техніці [Текст]: навч. для вузів /
За ред. В. С. Зарубіна, О. П. Крищенко. - М: Вид-во МДТУ ім.Н.Е.Баумана, 2001. -
496 с.
Колесов, Ю. Б. Моделювання систем. Динамічні та гібридні системи [Текст]:
уч. посібник/Ю.Б. Колесов, Ю.Б. Сеніченков. - СПб. : БХВ-Петербург, 2006. – 224 с.
Колесов, Ю.Б. Моделювання систем. Об'єктно-орієнтований підхід [Текст] :
Уч. посібник/Ю.Б. Колесов, Ю.Б. Сеніченков. - СПб. : БХВ-Петербург, 2006. – 192 с.
Норенков, І. П. Основи автоматизованого проектування [Текст]: навч.
вузів / І. П. Норенков. - М.: Вид-во МДТУ ім. Н.Е.Баумана, 2000. - 360 с.
Скуріхін, В.І. Математичне моделювання [Текст]/В. І. Скуріхін, В. В.
Шифрін, В. В. Дубровський. - К.: Техніка, 1983. - 270 с.
Чорноусова, А. М. Програмне забезпеченняавтоматизованих систем
проектування та управління: навчальний посібник [Текст]/А. М. Чорноусова, В.
Н. Шерстобітова. – Оренбург: ОГУ, 2006. – 301 с.

Другим етапом моделювання є етап алгоритмізації моделі та її машинна реалізація. Цей етап являє собою етап, спрямований на реалізацію ідей та математичних схем у вигляді машинної моделі Мпроцесу функціонування систем S.

Процес функціонування системи Sможна розглядати як послідовну зміну її станів у k-мірному просторі. Завданням моделювання процесу функціонування досліджуваної системи Sє побудова функцій z,на основі яких можна провести обчислення характеристик процесу функціонування системи, що цікавлять. Для цього необхідні співвідношення, що пов'язують функції zзі змінними, параметрами та часом, а також початкові умовами в момент часу t=t 0 .

Існують два типи станів системи:

  • 1) особливі, властиві процесу функціонування системи лише деякі моменти часу;
  • 2) неособливі, у яких процес перебуває решта часу. У цьому випадку функція стану z i (t)можуть змінюватися стрибкоподібно, а між особливими – плавно.

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

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

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

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

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

Логічна схема моделюючого алгоритмууявляє собою логічну структурумоделі процесу функціонування систем S.

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

Етапи алгоритмізації моделі та її машинної реалізації:

  • 1. Побудова логічної схеми моделі.
  • 2. Отримання математичних співвідношень.
  • 3. Перевірка достовірності моделі системи.
  • 4. Вибір інструментальних засобів для моделювання.
  • 5. Складання плану виконання робіт із програмування.
  • 6. Специфікація та побудова схеми програми.
  • 7. Верифікація та перевірка достовірності схеми програми.
  • 8. Проведення програмування моделі.
  • 9. Перевірка достовірності програми.
  • 10. Складання технічної документації на другому етапі.

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

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

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

Вимоги користувача до моделі.Сформулюємо основні вимоги до моделі процесу функціонування системи .

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

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

3. Тривалість розробки та реалізації моделі великої системимає бути по можливості мінімальною при врахуванні обмежень на наявні ресурси.

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

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

6. Програмні та технічні засоби повинні забезпечувати ефективну (по швидкодії та пам'яті) машинну реалізацію моделі та зручне спілкування з нею користувача.

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

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

Етапи моделювання систем. Розглянемо основні етапи моделювання системи , до яких належать: побудова концептуальної моделі системи та її формалізація; алгоритмізація моделі системи та її машинна реалізація; отримання та інтерпретація результатів моделювання системи.

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

Мал. 1. Взаємозв'язок етапів моделювання систем

Перерахуємо ці підетапи:

1.1 - постановка задачі машинного моделювання системи; 1.2 – аналіз завдання моделювання системи; 1.3-визначення вимог до вихідної інформації про об'єкт моделювання та організація її збору; 1.4 - висування гіпотез та прийняття припущень; 1.5 - визначення параметрів та змінних моделі; 1.6 – встановлення основного змісту моделі; 1.7 – обґрунтування критеріїв оцінки ефективності системи; 1.8 – визначення процедур апроксимації; 1.9 – опис концептуальної моделі системи; 1.10 – перевірка достовірності концептуальної моделі; 1.11 – складання технічної документації за першим етапом; 2.1 – побудова логічної схеми моделі; 2.2 – отримання математичних співвідношень; 2.3 – перевірка достовірності моделі системи; 2.4 – вибір інструментальних засобів для моделювання; 2.5 – складання плану виконання робіт з програмування; 2.6 -специфікація та побудова схеми програми; 2.7 - верифікація та перевірка достовірності схеми програми; 2.8 – проведення програмування моделі; 2.9 – перевірка достовірності програми; 2.10 – складання технічної документації за другим етапом; 3.1 – планування машинного експерименту з моделлю системи; 3.2 – визначення вимог до обчислювальних засобів; 3.3 – проведення робочих розрахунків; 3.4 – аналіз результатів моделювання системи; 3.5 – подання результатів моделювання; 3.6 – інтерпретація результатів моделювання; 3.7 - підбиття підсумків моделювання та видача рекомендацій; 3.8 – складання технічної документації за третім етапом.

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

Моделювання, алгоритмізація та програмування

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

Розв'язання задачі із застосуванням комп'ютера передбачає наступні етапи:

Розглянемо докладніше кожен із перерахованих етапів.

1. Постановка задачі. Побудова інформаційної моделі

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

Щоб таке завдання можна було вирішити за допомогою комп'ютера, потрібно виконати постановку завдання:

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

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

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

Всі ці відомості утворюють інформаційну модель завдання .

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

Кроки побудови інформаційної моделі:

Дамо визначення поняття «модель» та можливі класифікації.

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

Процес створення (а іноді й дослідження) моделі називається моделюванням.

Метод пізнання, що полягає у дослідженні об'єкта за його властивостями, називається моделюванням.

Класифікація моделей

По області використання

Класифікація з урахуванням фактору часу

За способом подання

За формою подання можна виділити такі види інформаційних моделей:

2. Формалізація завдання

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

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

3. Побудова алгоритму

Поняття алгоритму – одне із фундаментальних понять інформатики. Алгоритмізація поряд з моделюванням виступає як загальний метод інформатики.

Алгоритми є об'єктом систематичного дослідження прикордонної між математикою та інформатикою наукової дисципліни, що примикає до математичної логіки. теорії алгоритмів.

Саме слово "алгоритм" походить від algorithmi - латинської форми написання імені великого математика IX століття аль-Хорезмі, який сформулював правила виконання арифметичних дій. Спочатку під алгоритмами і розуміли лише правила виконання чотирьох арифметичних процесів над багатозначними числами.

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

Відповідно до цього визначення рецепти виготовлення будь-яких ліків чи печива є алгоритмами. І правило безпечного переходу пішоходом проїжджої частини вулиці теж алгоритм. За своїм призначенням алгоритми може бути як «побутовими», і обчислювальними.

Виконавець – це хтось чи щось, хто вміє виконувати певний цілком певний набір дій. Він має такі властивості:

Вся сукупність команд, які виконавець вміє виконувати, називається системою команд виконавця (СКІ).

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

Проте людина може бути формальним виконавцем. Якщо він не знає мети виконуваної роботи, йому доведеться суворо дотримуватися інструкцій.

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

Властивості алгоритмів

Дискретність алгоритму

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

Зрозумілість алгоритму

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

Зрозумілими для виконавця є ті команди, які він може виконати.

Наприклад,людина, яка не вміє складати однозначні числа (не знає таблиці додавання), не зможе скористатися описаним аль-Хорезмі порядком додавання багатозначних чисел.

Точність алгоритму

Важливою властивістю алгоритму є точність (визначеність, однозначність).Кожна команда алгоритму має однозначно сприйматися виконавцем і припускати певну дію.Виконавши крок алгоритму виконавець повинен точно знати, який крок виконувати наступним. Прикладом неточного алгоритму є фраза з рецепту «всипати 2-4 столові ложки цукру» або класичний вислів «страти не можна помилувати».

Результативність та кінцівка алгоритму

Виконання алгоритму має призводити до одержання результату (властивість результативності) за кінцеве число кроків (властивість кінцівки).

Масовість алгоритму

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

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

Способи запису алгоритмів

Насправді найбільш поширені такі форми фіксації алгоритмів:

Словесний спосіб

Для людини основним є словесний метод.

Наприклад. Записати алгоритм знаходження найбільшого загального дільника (НДД) двох натуральних чисел.

Алгоритм може бути наступним:

задати два числа;

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

визначити більше із чисел;

замінити більше з чисел різницею більшого та меншого з чисел;

повторити алгоритм із кроку 2.

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

Словесний спосіб немає широкого поширення з таких причин:

Псевдокод

Псевдокод – система позначень та правил для одноманітного та точного запису алгоритмів.

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

Зазначимо, що між поняттями «алгоритмічна мова» та «мови програмування» є різниця; Насамперед, під виконавцем в алгоритмічній мові може бути не тільки комп'ютер, а й пристрій для роботи «в обстановці». Програма, записана алгоритмічною мовою, не обов'язково призначена комп'ютеру. Практична ж реалізація алгоритмічної мови – окреме питання у кожному конкретному випадку.

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

Алгоритм, записаний алгоритмічною мовою, повинен мати назву. Назву бажано вибирати так, щоб було зрозуміло, вирішення якого завдання описує даний алгоритм. Для виділення назви алгоритму перед ним записують службове слово АЛГ (АЛГоритм). За назвою алгоритму (зазвичай з нового рядка) записують його команди. Для вказівки початку та кінця алгоритму його команди укладають у пару службових слів НАЧ (ПОЧАТОК) та КОН (Кінець). Команди записують послідовно.

Послідовність запису алгоритму:

АЛГ назва алгоритму

серія команд алгоритму

Графічне представлення алгоритмів

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

Насамперед визначимо поняття блок-схеми.

Блок-схема – це орієнтований граф, що вказує порядок виконання команд алгоритму.

Блок-схема – це графічне уявлення алгоритму.

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

У блок-схемі дії алгоритму (блоки) зображуються такими геометричними фігурами:

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

Конструкція проходження (лінійний алгоритм)

Конструкція прямування - Це така форма організації дій, коли дії виконуються послідовно, одна за одною.

Тут як серії команд можуть виступати:

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

приклад

Завдання: обчислити площу кола, якщо відомий радіус.

Дано: R - радіус кола.

Знайти: S - площа кола.

Рішення: S=3,14 R2

Виберемо російську мову для запису алгоритму у цій формі та запишемо послідовність команд, виконання яких при заданому значенні радіуса дозволить знайти площу:

Прочитати значення R.

Помножити значення R на 3,14.

Помножити результат другого на значення R.

Записати отриманий результат значення S.

Мовою блок-схем

Ця форма запису полягає в заміні типових алгоритмічних команд певними геометричними фігурами. Алгоритм розв'язання цього завдання виглядає так (див. рис.).

Конструкція розгалуження

Конструкція розгалуження – це форма організації дій, коли він залежно від виконання (невиконання) деякого умови виконується одне із двох серій команд.

Якщо< умова >

то< серія команд 1 >

інакше< серія команд 2 >

кінець розгалуження

приклад

Завдання: обчислити

Дано: х - значення аргументу.

Знайти: у - значення функції.

Рішення:

X , якщо х<0

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

Зробимо словесне уявленняданого алгоритму.

початок

Якщо х>0, то

у: = х

інакше

початок

У: = -х

Кінець розгалуження

Записати значення у

Кінець

Виділяють повну та неповну умовну конструкцію.

Введемо позначення:

Q – умова;

P 1 , P 2 , … P N – дії, що виконуються у разі істинності умови;

T 1 , T 2 , … T N - дії, що виконуються, якщо умова хибна.

Блок-схема та алгоритм виглядають наступним чином (див. табл.):

Умовні конструкції

Повна

Неповна

Р 1

Р 2

Р N

інакше

Т 1

Т 2

Т N

Кінець розгалуження

Р 1

Р 2

Р N

Кінець розгалуження.

Конструкція циклу

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

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

Розрізняють два основні типи циклів: цикл із параметром та цикл із умовою.

Цикл із параметром

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

При цьому параметр (Змінна циклу) змінюється від свого початкового значення до кінцевого із заданим кроком і визначає кількість повторень.

Запис циклу з параметром алгоритмічною мовою виглядає так:

початковий кінцевий крок

для <имя параметра> від < значение > до < значение > крок <изменения>

параметра параметра параметра

<тело цикла>

Цикл із умовою

Він застосовується, коли кількість повторень наперед невідома і залежить від виконання певної умови.

Розрізняють цикли з передумовою і з постумовою .

Цикл із передумовою(цикл «поки»)

Перевірка умови відбувається перед виконанням тіла циклу.

Запис алгоритмічною мовою та у вигляді блок-схеми:


поки що<условие>

< тело цикла >

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

Якщо умова спочатку не виконується, тіло циклу може бути виконано жодного разу.

Цикл із постумовою(цикл «до»)

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


повторювати

< тело цикла >

до< условие >



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



4. Складання програми

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

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

Технології програмування

Алгоритмічне (модульне) програмування

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

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

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

У такому програмуванні використовуються такі елементи:

Структурне програмування

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

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

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

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

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

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

Подієво-орієнтоване програмування

З активним розповсюдженням системи Windows та появою візуальних RAD - серед широку популярність набув подійного підходу до створення програм - подієво-орієнтоване програмування.

Ідеологія системи Windows заснована на подіях. Клацнув людина на кнопці, вибрав пункт меню, натиснув на клавішу або кнопку миші - Windows генерується відповідне повідомлення , яке надсилається вікну відповідної програми. Структура програми, створеної за допомогою програмного подій, наступна. Головна частина є одним нескінченним циклом, який опитує Windows , стежачи за тим, чи не з'явилося нове повідомлення. При його виявленні викликається підпрограма, відповідальна за обробку відповідної події (обробляються не всі події, їх сотні, а лише потрібні), і подібний цикл опитування триває доти, доки не буде отримано повідомлення «Завершити роботу».

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

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

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

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

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

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

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

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

Наприклад , клас «студент» має властивості «ПІБ», «рік надходження», методи «відвідувати заняття» та «скласти іспити». Створений на його основі клас «студент-заочник» успадковує всі ці властивості та методи, до яких додатково додається властивість «місце роботи» та метод «приїжджати на сесію» Спадкування дозволяє створювати нові класи, повторно використовуючи вже готовий вихідний коді не витрачаючи часу на його переписування.

Найчастіше методи базового класу у класів-спадкоємців доводиться перевизначати - об'єкт класу «студент-заочник» виконує метод «відвідувати заняття» негаразд, як об'єкт класу «студент-очник». Усі перевизначені методи написання (назви) будуть збігатися з методами базового об'єкта, однак компілятор за типом об'єкта (його класу) розпізнає, який конкретно метод треба використовувати, і не викличе для об'єкта класу «студент-заочник» метод «відвідувати заняття» класу « студент». Така властивість об'єктів перевизначати методи успадкованого класу та коректно їх використовувати називається поліморфізмом.

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

Наприклад, файлова система комп'ютера може містити сотні та тисячі файлів. Всі файли мають один і той же набор властивостей (ім'я, положення у файловій системі) та операцій (перейменування, переміщення або копіювання) і утворюю клас об'єктів ФАЙЛИ. Кожен окремий файл є екземпляром цього класу та має конкретні значення властивостей (ім'я, місцезнаходження та ін.).

  1. успадкування- Визначає відношення між класами: об'єкти класу-нащадок мають всі властивості об'єктів класу-батько . Тобто, кожен наступний похідний об'єкт успадковує властивості, дії своїх попередників. Механізм успадкування дозволяє перевизначити чи додати нові дані та методи їх обробки, створити ієрархію класів.

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

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

Властивості

Координати (x, y)

Переміщення

Зміна кольору

З класу об'єктів ТОЧКА можна отримати новий клас ОКРУЖНІСТЬ, додавши нову властивість Радіус та операцію Зміна радіуса. Клас об'єктів ОКРУЖНІСТЬ можна задати таблицею.

Властивості

Координати (x, y)

Переміщення

Зміна кольору

Радіус (R)

Зміна радіусу

Всі об'єкти класу ОКРУЖНІСТЬ успадковують властивості та операції класу ТОЧКА. Клас ТОЧКА називається клас-батько, клас ОКРУЖНІСТЬ – клас-нащадок. Графічно це виглядає так:


успадкування

  1. Поліморфізм- Можливість проведення одних і тих же операцій над об'єктами, що належать різним класам, за збереження індивідуальних методів їх реалізації для кожного класу. Тобто та сама операція над об'єктами різних класів може виконуватися різними методами.

Наприклад. Для більшості класу об'єктів у середовищі WINDOWS/OFFICE характерний набір тих самих операцій – перейменування, переміщення, копіювання, видалення тощо. Механізми реалізації цих процесів неоднакові різних класів. Так, для копіювання папки необхідно здійснити послідовність дій щодо зміни файлової системи, а для копіювання символу внести зміни до документа. Ці операції виконуватимуться різними програмами.

Візуальне програмування

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

Розвиток цієї технології пов'язаний із появою графічного інтерфейсу. Це технологія розробки додатків у вигляді графічних об'єктів, з подальшим переведенням їх у програмний код. У 90-ті роки з'являється технологія RAD – Rapid Application Development – ​​швидка розробка додатків. Всі необхідні елементи оформлення та управління створюються та обслуговуються не шляхом ручного програмування, а за допомогою готових візуальних компонентів, які за допомогою миші перетягуються у вікно, що проектується. Властивості та поведінка компонентів налаштовуються за допомогою простих редакторів, що візуально показують характеристики відповідних елементів. При цьому вихідний текст програми генерується RAD-середовищем автоматично.

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

З універсальних мов програмування сьогодні найпопулярніші такі:

Бейсік (Basic) – для освоєння вимагає початкової підготовки (загальноосвітня школа);

Паскаль (Pascal) – вимагає спеціальної підготовки (школи з поглибленим)
вивченням предмета та загальнотехнічні вузи);

Сі++ (C++), Ява (Java), Сі Шарп (С#) – вимагають професійної підготовки (спеціалізовані середні та вищі навчальні заклади).

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

Basic: Microsoft Visual Basic;

Pascal: Borland Delphi;

C++: Microsoft Visual C++;

Java: BorlandJBuilder,

C#: Microsoft Visual Studio .NET, Borland C#Builder.

Для розробки серверних та розподілених програм можна використовувати систему програмування Microsoft Visual C++, продукти фірми Borland, практично будь-які засоби програмування на java.

5. Введення програми у пам'ять комп'ютера. Пробний запуск

На великих обчислювальних центрах, під час вирішення чималих і складних завдань уведенням програм займаються люди спеціальної професії – оператори ЕОМ. Крім введення програм оператори виконують підготовку даних – введення даних на згадку, запис їх у зовнішні носії. Програміст, що працює на ПК, вводить програму та дані сам.

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

6. Налагодження та тестування програми

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

Набагато складніше знайти помилки, допущені при складанні алгоритму, які, зрештою, призводять до неправильної роботи програми: відсутність результату, зациклювання, неправильний результат. І тут корисний буває покроковий контроль виконання програми.

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

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

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

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

До останнього часу 4, 5 та 6 етапи були необхідними етапами розв'язання задачі за допомогою ЕОМ. При цьому мови та системи програмування були програмними інструментами, за допомогою яких створювалися нові програми для вирішення завдань користувача. Однак з розширенням кола завдань, для вирішення яких використовується комп'ютер, зростає кількість людей, які, будучи професійними програмістами, застосовують комп'ютер у роботі.

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

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

7. Отримання та аналіз результатів

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

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

Питання для підготовки до контрольної роботи на тему «Моделювання, алгоритмізація, програмування»

ФОРМАЛІЗАЦІЯ ТА АЛГОРИТМІЗАЦІЯ ПРОЦЕСУ ФУНКЦІОНУВАННЯ СИСТЕМ

НАСЛІДНІСТЬ РОЗРОБКИ І МАШИННОЇ РЕАЛІЗАЦІЇ МОДЕЛЕЙ СИСТЕМ

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

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

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

Вимоги користувача до моделі.Сформулюємо основні вимоги до моделі Мпроцесу функціонування системи S.

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

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

    Тривалість розробки та реалізації моделі великої системи має бути по можливості мінімальною при врахуванні обмежень на наявні ресурси.

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

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

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

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

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

Моделювання систем за допомогою ЕОМ можна використовувати у таких випадках:

а) для дослідження системи Sдо того, як вона спроектована, з метою визначення чутливості характеристик до змін структури, алгоритмів та параметрів об'єкта моделювання та зовнішнього середовища;

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

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

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

Етапи моделювання систем.Розглянемо основні етапи моделювання системи S, до яких належать: побудова концептуальної моделі системи та її формалізація; алгоритмізація моделі системи та її машинна реалізація; отримання та інтерпретація результатів моделювання системи.

Мал. 1. Взаємозв'язок етапів моделювання систем

Взаємозв'язок перерахованих етапів моделювання систем та їх складових (підетапів) може бути представлений у вигляді мережевого графіка, показаного на рис. 1. Перерахуємо ці підетапи: 1.1 – постановка задачі машинного моделювання системи; 1.2 – аналіз завдання моделювання системи; 1.3 - визначення вимог до вихідної інформації про об'єкт моделювання та організацію її збору; 1.4 - висування гіпотез та прийняття припущень; 1.5 - визначення параметрів та змінних моделі; 1.6 – встановлення основного змісту моделі; 1.7 – обґрунтування критеріїв оцінки ефективності системи; 1.8 – визначення процедур апроксимації; 1.9 – опис концептуальної моделі системи; 1.10 – перевірка достовірності концептуальної моделі; 1.11 – складання технічної документації за першим етапом; 2.1 – побудова логічної схеми моделі; 2.2 – отримання математичних співвідношень; 2.3 – перевірка достовірності моделі системи; 2.4 – вибір обчислювальних засобів для моделювання; 2.5 – складання плану виконання робіт з програмування; 2.6 – побудова схеми програми; 2.7 – перевірка достовірності схеми програми; 2.8 – проведення програмування моделі; 2.9 – перевірка достовірності програми; 2.10 – складання технічної документації за другим етапом; 3.1 – планування машинного експерименту з моделлю системи; 3.2 – визначення вимог до обчислювальних засобів; 3.3 – проведення робочих розрахунків; 3.4 – аналіз результатів моделювання системи; 3.5 – подання результатів моделювання; 3.6 – інтерпретація результатів моделювання; 3.7 - підбиття підсумків моделювання та видача рекомендацій; 3.8 – складання технічної документації за третім етапом.

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

ПОБУДУВАННЯ КОНЦЕПТУАЛЬНОЇ МОДЕЛІ СИСТЕМИ ТА ЇЇ ФОРМАЛІЗАЦІЯ

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

Перехід від опису до блочної моделі.Найбільш раціонально будувати модель функціонування системи за блочним принципом. При цьому можуть бути виділені три автономні групи блоків такої моделі. Блоки першої групиє імітатором впливів зовнішнього середовища Ена систему S; блоки другої групиє власне моделлю процесу функціонування досліджуваної системи S; блоки третьої групи- Допоміжними та служать для машинної реалізації блоків двох перших груп, а також для фіксації та обробки результатів моделювання.

Розглянемо механізм переходу від опису процесу функціонування певної гіпотетичної системи моделі цього процесу. Для наочності введемо уявлення про опис властивостей процесу функціонування системи S, тобто про її концептуальну модель
як сукупності деяких елементів умовно зображених квадратами так, як показано на рис. 2, а.Ці квадрати є описом деяких підпроцесів досліджуваного процесу функціонування системи. S, впливу зовнішнього середовища Еі т. д. Перехід від опису системи до її моделі у цій інтерпретації зводиться до виключення з розгляду деяких другорядних елементів опису (елементи 5-8, 39-41, 43-47 ). Передбачається, що вони не суттєво впливають на перебіг процесів, що досліджуються за допомогою моделі. Частина елементів ( 14, 15, 28, 29, 42 ) замінюється пасивними зв'язками , що відбивають внутрішні властивості системи (рис. 2, б). Деяка частина елементів 1-4, 10, 11, 24, 25 замінюється вхідними факторами хта впливами зовнішнього середовища . Можливі та комбіновані заміни: елементи 9, 18, 19, 32, 33 замінені пасивним зв'язком та впливом зовнішнього середовища Е . Елементи 22, 23, 36, 37 відбивають вплив системи на довкілля у.

Мал. 2. Модель системи: а -концептуальна; б - блокова

Решта елементів системи Sгрупуються у блоки
, що відбивають процес функціонування досліджуваної системи. Кожен із цих блоків досить автономен, що виявляється у мінімальному кількості зв'язків з-поміж них: Поведінка цих блоків має бути добре вивчено і кожного з них побудована математична модель, що у своє чергу може містити ряд підблоків. Побудована блокова модельпроцесу функціонування досліджуваної системи Sпризначена для аналізу характеристики цього процесу, який може бути проведений під час машинної реалізації отриманої моделі.

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

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

(1)

Якби функції
були відомі, то співвідношення (1) виявилося б ідеальною математичною моделлю процесу функціонування системи S. Однак на практиці отримання моделі досить простого виду для великих систем найчастіше неможливе, тому зазвичай процес функціонування системи Sрозбивають ряд елементарних підпроцесів. При цьому необхідно проводити розбиття на підпроцеси, щоб побудова моделей окремих підпроцесів було елементарно і не викликало труднощів при формалізації. Таким чином, на цій стадії сутність формалізації підпроцесів полягатиме у підборі типових математичних схем. Наприклад, для стохастичних процесів це можуть бути схеми імовірнісних автоматів (Р-схеми),схеми масового обслуговування (Q-схеми)і т.д., які досить точно описують основні особливості реальних явищ, що становлять підпроцеси, з погляду прикладних завдань, що вирішуються.

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

Підетапи першого етапу моделювання.Розглянемо докладніше основні підетапи побудови концептуальної моделі
системи та її формалізації (див. рис. 1).

1.1. Постановка задач машинного моделювання системи.Дається чітке формулювання завдання дослідження конкретної системи Sта основна увага приділяється таким питанням, як: а) визнання існування завдання та необхідності машинного моделювання; б) вибір методики вирішення завдання з урахуванням наявних ресурсів; в) визначення масштабу завдання та можливості розбиття її на підзавдання.

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

1.2. Аналіз задачі моделювання системи.Проведення аналізу завдання сприяє подоланню труднощів, що виникають надалі при її вирішенні методом моделювання. На другому етапі основна робота зводиться саме до проведення аналізу, включаючи: а) вибір критеріїв оцінки ефективності процесу функціонування системи S; б) визначення ендогенних та екзогенних змінних моделі М;в) вибір можливих методів ідентифікації; г)виконання попереднього аналізу змісту другого етапу алгоритмізації моделі системи та її машинної реалізації; д) виконання попереднього аналізу змісту третього етапу отримання та інтерпретації результатів моделювання системи.

1.3. Визначення вимог до вихідної інформації про об'єкт моделювання та організацію її збору.Після встановлення завдання моделювання системи Sвизначаються вимоги до інформації, з якої отримують якісні та кількісні вихідні дані, необхідні вирішення цього завдання. Ці дані допомагають глибоко розібратися у сутності завдання, методах її розв'язання. Таким чином, на цьому підетапі проводиться: а) вибір необхідної інформації про систему Sта зовнішньому середовищі Е;б) підготовка апріорних даних; в) аналіз наявних експериментальних даних; г) вибір методів та засобів попередньої обробки інформації про систему.

При цьому необхідно пам'ятати, що від якості вихідної інформації про об'єкт моделювання істотно залежать як адекватність моделі, так і достовірність результатів моделювання.

1.4. Висунення гіпотез та прийняття припущень.Гіпотези при побудові моделі системи Sслужать для заповнення «прогалин» у розумінні завдання дослідником. Висуваються також гіпотези щодо можливих результатів моделювання системи S, справедливість яких перевіряється під час проведення машинного експерименту. Припущення передбачають, деякі дані невідомі чи їх не можна отримати. Припущення можуть висуватися щодо відомих даних, які відповідають вимогам рішення поставленої задачи. Припущення дають змогу провести спрощення моделі відповідно до вибраного рівня моделювання. При висуванні гіпотез та прийнятті припущень враховуються такі фактори: а) обсяг наявної інформації для вирішення завдань; б) підзавдання, котрим інформація недостатня; в) обмеження на ресурси часу на вирішення задачи; г) очікувані результати моделювання.

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

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

1.6. Встановлення основного змісту моделі.На цьому підетапі визначається основний зміст моделі та вибирається метод побудови моделі системи, які розробляються на основі прийнятих гіпотез та припущень. У цьому враховуються такі особливості: а) формулювання завдання моделювання системи; б) структура системи Sта алгоритми її поведінки, впливу зовнішнього середовища Е;в) можливі методи та засоби вирішення задачі моделювання.

1.7. Обґрунтування критеріїв оцінки ефективності системи.Для оцінки якості процесу функціонування системи, що моделюється SНеобхідно вибрати деяку сукупність критеріїв оцінки ефективності, тобто в математичній постановці завдання зводиться до отримання співвідношення для оцінки ефективності функції параметрів і змінних системи. Ця функція є поверхнею відгуку в досліджуваній області зміни параметрів і змінних і дозволяє визначити реакцію системи. Ефективність системи Sможна оцінити за допомогою інтегральних або приватних критеріїв, вибір яких залежить від завдання, що розглядається.

1.8. Визначення процедур апроксимації.Для апроксимації реальних процесів, що протікають у системі S, зазвичай використовуються три види процедур: а) детерміновану; б) імовірнісну; в) визначення середніх значень.

При детермінованою процедуроюрезультати моделювання однозначно визначаються за даною сукупністю вхідних впливів, параметрів та змінних систем S. У цьому випадку відсутні випадкові елементи, що впливають результати моделювання. Вірогідна(рандомізована) процедуразастосовується в тому випадку, коли випадкові елементи, включаючи впливи зовнішнього середовища Е,впливають на характеристики процесу функціонування системи Sта коли необхідно отримати інформацію про закони розподілу вихідних змінних. Процедура визначення середніх значеньвикористовується тоді, коли при моделюванні системи інтерес становлять середні значення вихідних змінних за наявності випадкових елементів.

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

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

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

1.11. Складання технічної документації на першому етапі. Укінці етапу побудови концептуальної моделі
та її формалізації складається технічний звіт за етапом, який включає: а) докладну постановку задачі моделювання системи S; б) аналіз завдання моделювання системи; в) критерії оцінки ефективності системи; г) параметри та змінні моделі системи; д) гіпотези та припущення, прийняті при побудові моделі; е) опис моделі в абстрактних термінах та поняттях; ж) опис очікуваних результатів моделювання.

 

 

Це цікаво: