На головну

Післямова

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

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

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

Насправді існує можливість, залишаючись у середовищі електронних таблиць, використати вбудовану мову програмування, наприклад, Vіsual Basіc - внутрішню мову електронних таблиць Excel.
Такий крок дозволяє об'єднати переваги електронних таблиць та мов програмування високого рівня, проте орієнтація на мову програмування лише однієї фірми неминуче ставить користувача у залежність від стратегії розвитку мови, а ця стратегія обирається фірмами
переважно з комерційних міркувань. До того ж значна швидкість еволюції такої мови, відсутність інваріантного (незмінного) ядра та переобтяженість додатковими можливостями підвищують вимоги до техніки і утруднюють вивчення такої мови в школі.

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

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

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

Свого часу автори першої об'єктно-орієнтованої мови програмування Sіmula-67 наголошували на тому, що об'єктно-орієнтоване
середовище є природним середовищем для розв'язання задач моделювання (sіmulatіon). Об'єктно-орієнтований підхід (ООП) вносить якісні зміни у самий процес моделювання, надаючи потужні можливості щодо підвищення рівня абстракції даних. Сьогодні такі можливості серед інших мов має мова С++, яка легко пристосовується для використання в спеціальних областях шляхом створення на її базі складених понять та конструкцій, що слугують будівельними блоками при програмуванні. Так наявність у ній типу «арифметичний
вектор» та визначених операцій над ним спрощує запис програми, наближуючи його до алгоритмічного. До того ж об'єктно-орієнтоване середовище дозволяє від групування зазначених вище параметрів за ознакою спільності фізичного змісту перейти до групування за ознакою «бути планетою». В такому разі ми розглядатимемо Сонячну систему як набір планет (вважаючи Сонце однією з них), а не як сукупність прискорень, швидкостей, координат тощо.

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

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

Стан Сонячної системи на момент
завершення Ураном повного оберту

На наступному рисунку подані результати моделювання руху Марсу з точки зору земного спостерігача (в системі відліку, пов'язаній із Землею). Розрахунок показує, що за 6 років відбулося три протистояння, і останнє з них виявилося великим - обчислена мінімальна відстань склала 56 млн. 135 тис. км.




Висновки | Термінологічний тлумачний словник

Метод Монте-Карло | Статистичний аналіз результатів експерименту | Приклад природного розподілу | Як отримати такий розподіл в середовищі електронних таблиць? | Картини броунівського руху з нормальним розподілом окремих випадкових переміщень | Висновки | Постановка задачі | Обговорення алгоритму розв'язування задачі | Побудова математичної моделі | Комп'ютерна модель. Обчислювальний експеримент |

© um.co.ua - учбові матеріали та реферати