ка обчислювального алгоритму і т.д.).
Етап 3. Створення програми, що реалізує обчислювальний алгоритм.
Етап 4. Проведення розрахунків і обробка отриманої інформації.
Етап 5. Аналіз результатів розрахунків, порівняння (якщо це можливо) з натурним експериментом.
Зазвичай на останньому (5-м) етапі дослідник приходить до висновку про те, що необхідно внести певні зміни в рішення, прийняті на етапах 1, 2 або 3.
Так, може з'ясуватися, що побудована модель недостатньо добре відображає особливості досліджуваного явища. У цьому випадку модель коригується, вносяться відповідні поправки в чисельні методи і реалізують їх програми і виконується новий розрахунок. Тим самим цикл обчислювального експерименту відтворюється в повному обсязі.
При аналізі результатів можуть бути виявлені які-небудь недоліки використовуваних чисельних методів, пов'язані, зокрема, з міркуваннями точності або ефективності. Зміна методів тягне за собою зміну відповідних програм і т.д. Інакше кажучи, цикл повторюється в дещо скороченому вигляді (етапи 2-5).
Нарешті, може виявитися невдалим деякий програмне рішення, наприклад обраний спосіб роботи з зовнішньою пам'яттю. Перегляд таких рішень призводить до повторення етапів 3-5.
3.3 Особливості програмування
Зрозуміло, цикли, подібні циклу обчислювального експерименту, виникають практично в будь-якому мало-мальськи складному проекті Програми. Найперша версія програми зазвичай чим-небудь не задовольняє розробника або замовника, і доводиться уточнювати постановку задачі, покращувати окремі алгоритми і т.д. Однак у більшості випадків досить буває виконати кілька циклів, що вимагають порівняно невеликих зусиль, і програма знаходить бажаний вид. Зовсім інакше йде справа в обчислювальному експерименті. Тут програма мислиться як експериментальна установка, від перших дослідів з якою навряд чи слід очікувати скільки-небудь цікавих результатів. Дані перших дослідів послужать всього-навсього відправною точкою тривалого процесу змін і вдосконалень установки, який тільки і здатний привести до досить обгрунтованим висновкам про досліджуваний об'єкт.
Таким чином, поява первісної версії програми лише в найзагальніших рисах намічає напрямок досліджень. Основна ж робота з програмування ще попереду - вона пов'язана з багаторазовими модифікаціями програми, що відображають еволюцію математичної моделі і методів її розрахунку. Число циклів обчислювального експерименту, кожен з яких пов'язаний з модифікацією розрахункової програми, нерідко досягає десятків тисяч. Тому раціональна організація таких модифікацій - ключ до ефективного програмування даного класу задач.
Продовжуючи паралель з натурним експериментом, можна помітити, що там зазвичай не поспішають викидати на звалище окремі вузли, вилучені або замінені в експериментальній установці при проведенні чергового досвіду: вони ще не раз можуть стати в нагоді згодом. Аналогічно і рішення (а разом з ними і відповідні їм фрагменти програм), переглядається на черговому циклі обчислювального експерименту, як правило, не відкидаються і можуть використовуватися потім для інших розрахунків. Наприклад, метод, який опинився непридатним для однієї моделі, цілком може підійти для розр...