Програма складається з головного блоку, шести процедур:
- VVID_INTERVAL;
- INIT_GAUS;
- INIT_CHEB;
- CALCULATION;
- VYVID_REZ;
- INFORM.
Запуск програми здійснити двома способами:
- з головного меню інтегрованого середовища Turbo Pascal шляхом вибору опції Run (попередньо програма повинна бути завантажена в ОП - F10, File, Open, INTEGRALY.PAS);
- з середовища операційної оболонки Norton Commander шляхом запуску INTEGRALY.EXE (попередньо програма повинна буди відкомпільована з опцією Destination To Memory).
Програма виводить на дисплей головного меню, котре пропонує користувачеві вибір однієї з опцій:
- ВВІД
- ОБЧИСЛЕННЯ
- РЕЗУЛЬТАТИ
- ІНФОРМАЦІЯ
- ВИХІД.
При виборі певної опції активізується відповідна процедура. Завершення роботи програми і повернення в середовище системи програмування Turbo Pascal здійснюється при натисканні клавіші Esc, що відповідає вибору опції "ВИХІД". Програма знаходить розв’язки систем лінійних рівнянь з двома та трьома невідомими, виводить обчислені визначники та знайдені розв’язки на дисплей, або інформує користувача про відсутність розв’язків.
Опишемо процедури програми INTEGRALYS.PAS.
Процедура VVID_INTERVAL. Призначення - ввід лівої та правої меж інтегрування (інтервалу інтегрування). Процедура викликається з головного меню програми при виборі пункту "ВВІД" шляхом натискання функціональної клавіші F2.
Після вводу меж інтегрування процедура припиняє роботу і повертає керування в програму. Процес виконання процедури представлено екранною копією (див. додаток 1).
Процедура INIT_GAUS. Призначення - визначення (ініціація) значень елементів
Процедура INIT_CHEB. Призначення - визначення (ініціація) значень елементів
Процедура CALCULATION. Призначення - обчислення визначеного інтеграла з допомогою квадратурних формул‚ розглянутих в попередньому розділі. Процедура викликається з головного меню програми при виборі пункту "ОБЧИСЛЕННЯ" (функціональна клавіша F3). Обчислені різними методами значення визначеного інтеграла зберігаються в масиві змінних. Після обчислення інтегралів процедура передає керування головному блокові програми.
Блок схема процедури представлена в додатку 3.
Процедура VYVID_REZ. Призначення - форматований вивід результатів обчислення визначеного інтеграла на дисплей. Процедура викликається з головного меню програми при виборі пункту "РЕЗУЛЬТАТИ" (функціональна клавіша F4). Результат роботи процедури представлено не екранній копії (див. додаток 5). Для отримання друкованого результату потрібно натиснути клавішу PrtScr (при роботі в режимі MS DOS) або комбінацію клавіш Shift+PrtScr (при роботі з ОС Windows 3.xx, Windows 9x).
Процедура INFORM. Призначення - ввід короткої інформації про методи чисельного інтегрування та квадратурні формули. Процедура викликається з головного меню програми при виборі пункту "ІНФОРМАЦІЯ" шляхом натискання функціональної клавіші F1.
Після вводу текстової інформації на екран дисплею процедура організовує паузу в роботі і повертає керування в програму при натисканні довільної клавіші. Результат виконання процедури представлено екранною копією (див. додаток 1).
Головний блок програми реалізовано у вигляді вертикального меню з використанням функціональних клавіш. Вибір опції меню здійснюється за допомогою натискання відповідної функціональної клавіші‚ вихід з меню (а тим самим і з програми) здійснюється при натисканні клавіші Esc. Блок-схема головного блоку програми подано в додатку 2.
Програма складена‚ відкомпільована і відлагоджена в середовищі Turbo Pascal 6.0.
На початку програми, відповідно до вимог технології програмування, знаходиться вступний коментар до програми, а решта операторів програми мають таке призначення:
| Оператор | Призначення оператора |
| 001 | Заголовок програми |
| 002 | Підключення зовнішнього модуля управління виводом на дисплей (Crt) |
| 003-008 | Опис глобальних змінних програми |
| 009-011 | Опис підінтегральної функції |
| 012 | Заголовок процедури Init_Gauss |
| 013 | Початок процедури |
| 014 | Визначення кількості вузлів інтегрування |
| 015-022 | Ініціалізація абсцис інтегрування та коефіцієнтів формули Гауса |
| 023 | Кінець процедури Init_Gauss |
| 024 | Заголовок процедури Init_Cheb |
| 025 | Початок процедури |
| 026 | Визначення кількості вузлів інтегрування |
| 027-032 | Ініціалізація абсцис інтегрування та коефіцієнтів формули Чебишева |
| 033 | Кінець процедури Init_Cheb |
| 034 | Початок процедури Vvid_Interval |
| 035 | Опис локальної змінної |
| 036 | Початок процедури |
| 037 | Очистка вікна виводу |
| 038-040 | Вивід екранної форми для вводу даних |
| 041-042 | Ввід меж інтегрування |
| 043 | Кінець процедури Vvid_Interval |
| 044 | Заголовок процедури Calculation |
| 045 | Початок процедури |
| 046-047 | Присвоєння значення 0 масиву integral [1..5] |
| 048-051 | Обчислення наближеного значення інтегралу за формулою прямокутників і присвоєння цього значення змінній integral[1] |
| 052-055 | Обчислення наближеного значення інтегралу за формулою трапецій і присвоєння цього значення змінній integral[2] |
| 056-064 | Обчислення наближеного значення інтегралу за формулою Сімпсона і присвоєння цього значення змінній integral[3] |
| 065 | Виклик процедури Init_Gauss |
| 066-069 | Обчислення наближеного значення інтегралу за формулою Гауса і присвоєння цього значення змінній integral[4] |
| 070 | Виклик процедури Init_Cheb |
| 071-076 | Обчислення наближеного значення інтегралу за формулою Чебишева і присвоєння цього значення змінній integral[5] |
| 077 | Заголовок процедури Vyvid_Rez |
| 078 | Початок процедури |
| 079-089 | Вивід на дисплей екранної форми для виводу результатів обчислень |
| 090-093 | Вивід масиву вихідних наближених значень інтегралу‚ обчислених різними методами |
| 094 | Організація паузи в роботі програми |
| 095 | Кінець процедури Vyvid_Rez |
| 096 | Початок процедури Inform |
| 097-098 | Опис локальних змінних процедури |
| 098 | Початок процедури |
| 099-104 | Очистка вікна виводу |
| 105-128 | Вивід короткої інформації про чисельне інтегрування та про методи‚ що використовуються для наближеного обчислення визначених інтегралів |
| 129 | Організація паузи в роботі програми |
| 130 | Кінець процедури Inform |
| 131 | Початок головного блоку програми |
| 132 | Організація циклу виводу меню програми |
| 133 | Початок тіла циклу |
| 134 | Очистка екрану |
| 135-136 | Визначення основного та фонового кольорів |
| 137 | Оголошення вікна виводу |
| 138-162 | Вивід головної екранної форми програми та меню |
| 163 | Очікування натискання довільної клавіші і присвоєння коду цієї клавіші змінній choise |
| 164-165 | Зміна основного та фонового кольорів |
| 166-174 | Заголовок оператора вибору(аналіз коду клавіші) |
| 167 | Виклик процедури Vvid_Interval‚ якщо користувачем натиснуто клавішу F2 (код клавіші 6016) |
| 168-170 | Виклик процедури Calculation‚ якщо користувачем натиснуто клавішу F3 (код клавіші 6116) |
| 171 | Виклик процедури Vyvid_Rez‚ якщо користувачем натиснуто клавішу F4 (код клавіші 6216) |
| 172 | Виклик процедури Inform‚ якщо користувачем натиснуто клавішу F1 (код клавіші 5916) |
| 173 | Кінець роботи програми при натисканні користувачем клавіші Esc (код клавіші 2716) |
| 174 | Кінець дії оператора вибору |
| 175 | Кінець тіла циклу |
| 176 | Кінець програми. |
Випробування будь-якої системи є найбільш відповідальним і пов’язаний з найбільшими труднощами і найбільшими втратами часу. Відладка і тестування - найважливіші етапи життєвого циклу програм. Не можна робити висновок про правильність програми лише на тій підставі, що програма повністю протрансльована (відкомпільована) і видала числові результати. Все, чого досягнуто в даному випадку - це отримання деякої вихідної інформації, необов’язково правильної. В програмі все ще можуть міститись логічні помилки. Тому необхідно здійснювати "ручну" перевірку результатів‚ отриманих внаслідок машинного експерименту.
Існує кілька способів перевірки правильності машинних результатів:
1) обчислення результатів вручну;
2) отримання результатів з довідкової літератури, документації або сукупності таблиць;
3) отримання результату з допомогою іншої програми.
Контрольний приклад для перевірки правильності розробленої програми виконано вручну. Для перевірки роботи програми в нормальних умовах розглянемо визначений інтеграл‚ обчислення якого не викликає жодних труднощів‚ а саме
Обчислення цього інтегралу здійснимо‚ використовуючи формулу Ньютона-Лейбніца: