Курсовая работа: Розробка програми мовою програмування С++ по пошуку коренів нелінійних рівнянь
Рисунок 2.1 - Загальна схема проекту
Розбиття програми на різні файли визначається логічною структурою програми. Використання додаткових модулів дозволило спростити реалізацію нашого проекту та більш наочно показати взаємодію одних частин проекту з іншими та значно зменшити час на від лагодження та компіляцію цілого проекту.
3. ОПИС АЛГОРИТМІВ РОЗВ’ЯЗАННЯ ЗАДАЧІ
Опишемо алгоритм роботи усіх функцій усіх модулів нашого проекту. Почнемо з основного main.cpp. Містить дві функції void avtor() та void main(). Перша з них виводить інформацію про автора проекту. Алгоритм роботи дуже простий: очистка екрану -> задання кольору -> отримання розмірів екрану -> замальовування екрану вибраним кольором -> задання кольору та стилю тексту -> вивід тексту на екран.
Друга функція – головна. Вона є фактично монітором нашого проекту, спочатку ініціалізує графічний режим, підключаючи BGI драйвер EGAVGA.BGI, потім запускає електронну титульну сторінку курсової роботи, потім будує графік функції, корені якої нам потрібно знайти, використовуючи метод дихотомії знаходить корінь на вказаному з клавіатури проміжку з вказаною точністю, демонструє метод дихотомії графічно та зрештою виводить головне меню на екран. Після цього програма очікує вибору користувача.
Тепер перейдемо до додаткових модулів.
Модуль tytulka.cpp містить лише одну функцію void tytulka(), що виводить на екран електронну титульну сторінку розробника курсової роботи. Алгоритм роботи дуже простий і подібний до алгоритму функції void avtor().
Модуль grafik.cpp містить функцію void grafik(), що будує Декартову систему координат та графік функції на ній. Алгоритм роботи теж подібний до алгоритму функції void avtor(), але є додатково цикл обчислення значення функції для точок з проміжку [-2;2] з кроком 0,01 та побудова кривої, що з’єднує ці точки.
Модуль dyhotom.cpp містить дві функції: double f(double x) – обчислення значення вказаної в завданні функції для певного значення х, void dyhotom() – реалізація чисельного методу знаходження кореня рівняння на вказаному проміжку з вказаною точністю. Проміжні результати виконання записуються у файли KORENI.TXT та MEGI.TXT.
Алгоритм наступний:
ввід інтервалу (a;b) та потрібної точності (D)
поки |a-b| < D виконувати
початок циклу
якщо f(a)×f(с) > 0
то a:=c
інакше b:=c
кінець циклу
вивід значення кореня
Модуль demon.cpp містить одну функцію void demon(), що графічно демонструє роботу функції void dyhotom(), використовуючи проміжні результати виконання, що записані у файли KORENI.TXT та MEGI.TXT. Алгоритм роботи дуже простий і подібний до алгоритму функцій void avtor() та void tytulka().
Алгоритми всіх функцій у вигляді блок-схем подані в додатку.
4. РОЗРОБКА ТА ВИКОНАННЯ ТЕСТОВОГО ПРИКЛАДУ
Перед нами стоїть задача перевірити вірність виконання поставленого перед нами завдання.
Побудуємо графік функцій та використовуючи математичний пакет MathСad (рисунок 4.1):
Рисунок 4.1 – Зображеня вказаних функцій в середовищі MathCad
Запускаємо на виконання виконавчий файл нашого проекту. Спочатку бачимо зображення електронної титульної сторінки (рисунок 4.2).