Алгоритмізація

Розробка дискретної моделі

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

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

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

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

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

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

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