Етапи підготовки вирішення завдань на комп'ютері
З використанням комп'ютера вирішуються завдання з різними характерами (графіка, розробки програмного забезпечення, управління виробничими процесами та інші). У той же час для більшості вирішальних завдань, можна виділити наступні етапи вирішення завдань:
1) Постановка завдання;
2) Математичний опис задачі (пряме і наближене);
3) Вибір і обгрунтування методу розв'язання;
4) Алгоритмізація обчислювального процесу;
5) Складання програми на мовах програмування;
6) Трансляція програми і отримання виконуваної програми;
7) Відкладання програми;
8) Тестування програми;
9) Передача програми в експлуатацію.
Математичний опис задачі. Даний етап характеризується математичним способом опису завдання, при якому співвідношення між величинами, що визначають результат, можна висловити за допомогою математичної формули. Більш коректно етап математичного опису можна назвати етапом розробки математичної моделі розв'язуваної задачі. Дана модель завдання має відповідати вимогам реалістичності і можливості бути реалізованим. Реалістичність, є правильне відображення моделлю найбільш значущих рис, досліджуваного явища. Реалізація досягається розумною абстракцією, відволіканням від непотрібних деталей і зведенням завдання до проблеми з уже відомим рішенням. Умовою можливості бути реалізованим є можливість практичного виконання необхідних обчислень за певний час, при доступних обчислювальних рішень.
Вибір і обгрунтування методу розв'язання. Реалізація математичної моделі, розробленої на попередньому етапі, може бути здійснена двома основними методами:
- прямі методи;
- наближені методи (методи математичного програмування).
Прості методи здійснюють прості обчислення за розробленими виразами і є доступними в реалізації. Методи математичного програмування є більш складними і вимагають більше обчислювальних ресурсів. Одну і ту ж задачу можна вирішити за допомогою великої кількості різних методів, при цьому в рамках обраного методу можна сформувати різні алгоритми.
Алгоритмізація обчислювального процесу. Тут відбувається складання алгоритму розв'язання задачі згідно діям, що задається обраним методом вирішення завдань. При формуванні алгоритму завдання розбивається на окремі, відносно самостійні блоки, встановлюється послідовність блоків і зв'язок між ними. Розробляється блок-схема.
Трансляція програми і отримання виконуваної програми.
Програма, написана на мові програмування, є текстом, і цей текст ніяк не може бути виконаний. Для виконання необхідно перетворити в виконувану програму. Таке завдання вирішується за допомогою трансляторів мови програмування. Кожна мова програмування, реалізований на даному класі ПК повинен мати транслятор цієї ж мови. По суті транслятор це виконується програма, яка перетворює текст програми, написаний на мові програмування в машинні команди і дані.
- транслятор-компілятор (Pascal): здійснює перетворення вихідного коду програми у виконувану програму і формує файл виконуваної програми. Зазвичай компілятори отримують виконувану програму в 2 етапи: на першому етапі формується об'єктний код або файл з розширенням .obj, який є напівфабрикатом для створення програми, що виконується. На другому етапі до об'єктного коду пристиковуються коди, встановлені між різними частинами програм. Після цього формується файл виконуваної програми. Файл виконуваної програми може бути використаний для запуску програми в НЕ середовища програмування під управлінням операційної системою.
- транслятор-інтерпретатор (Basic): транслює програму по рядках і відразу ж виконує її. Такі транслятори не формують файл виконуваної програми. Працювати з програмою можна тільки в середовищі програмування.
Відкладання програми. При складанні програми в більшості випадків в програмі присутні помилки. Види помилок:
- cінтаксіческіе;
- помилка в організації програм.
Синтаксичну помилку можна характеризувати як невідповідність конструкції в програмі синтаксису мови програмування. Ці помилки є найбільш простими помилками в програмуванні. Помилки зазвичай видаються під час етапу трансляції. Зазвичай транслятор знаходить першу синтаксичну помилку, перериває процес трансляції та виводить повідомлення про виявлення синтаксичної помилки і її код. При виявленні помилки програміст виправляє цю помилку і запускає програму на повторну трансляцію, до тих пір, поки трансляція не буде успішною. Зазвичай транслятор в цьому випадку виводить повідомлення про успішну трансляції. Після успішної трансляції створюється код виконуваної програми. Зазвичай програма, при цьому завантажується в оперативну пам'ять, і може бути виконана, однак при запуску програма може не виконуватися. У цьому випадку можливі дві причини невиконання програми:
- помилки виконання: пов'язані в першу чергу з некоректними математичними операціями (поділ на нуль);
- некоректне використання пристроїв ПК. Цей вид помилок зазвичай називається логічними помилками і це зазвичай помилки програмістів. До них можна віднести: зациклення програми - в цьому випадку в програмі виповнюється нескінченний цикл і програма не може з нього вийти самостійно; зависання - при виконанні чергової операції програма зайшла в комірку пам'яті, з якої немає виходу.
Помилки виконання зазвичай виключаються на етапі підготовки рішення задач. Некоректні математичні операції усуваються шляхом правильного підбору вихідних даних для вирішення завдань. Неправильне використання пристроїв також виключається правильним використанням їх в програмі. Логічні помилки найскладніші в програмуванні. Для їх виявлення використовуються спеціальна процедура "налагодження програми". Найбільш простим і дієвим способом налагодження, так звана покрокова налагодження програми. При покрокової налагодженні, програма виконується крок за кроком. Сучасні середовища програмування мають спеціальні засоби налагодження, які називаються отладчиками.
Тестування програми. Тестування виконується для того щоб бути впевненим, що програма працює правильно. Найбільш простим випадком тестування є результат роботи програми з результатом, отриманим іншим способом. У складних завданнях, де є різні переходи за умовою, повинні бути відтестували у всіх випадках переходу.
Передача програми в експлуатацію. Після проходження всіх етапів розробки програма може експлуатуватися. Користувачі повинні знати, як програму використовувати. Для цього програма повинна бути разом із супровідною документацією, зазвичай в цій інструкції дається призначення програми, перелік і діапазон параметрів цієї програми.