Курсовая по QT. Приписное к курсовой работе. Пошук кореня та максимуму функції
Скачать 262.95 Kb.
|
МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ «ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ» Кафедра «Комп’ютерного моделювання процесів і систем» ЗВІТ ЗА КУРСОВОЮ РОБОТОЮ НА ТЕМУ: ПОШУК КОРЕНЯ ТА МАКСИМУМУ ФУНКЦІЇ Виконав студент гр. І-206.8 Д.Е. Мілусь Керівник роботи О. С. Пащенко Харків 2019 АНОТАЦІЯ Програмне забезпечення призначене для знаходження максимуму та кореня функції. Обсяг місця, що займає програмне забезпечення на жорсткому диску: 72.0 КБ. При написанні програми використана операційна система MS WINDOWS та мова програмування С++. Вхідними даними для програми є: початок ділянки на якій буде шукатись максимум та корінь ( в програмі позначено як “А”), кінець ділянки на якій буде шукатись максимум та корінь ( в програмі позначено як “В”), точність обчислення (в програмі позначено як “Eps”). Результатом роботи є: максимум та корінь функції (на обраній ділянці), графік обраної функції на якому позначено максимум і корінь. ЗМІСТ 1. Загальні відомості……………………………………………………………4 2 .Функціональне призначення…………………………………………………..5 2. 1. Постановка задачі……………………………………………………5 2. 2. Алгоритм Дихотомії…………………………...…………………….6 2. 3. Алгоритм Простого перебору ……………………………………7 3. Опис логічної структури……………………………………………………..8 4. Використані технічні засоби…………………………………………………11 5. Виклик і завантаження……………………………………...……………....12 6. Вхідні та вихідні дані…………………………………………………….......13 7. Список літератури……………………………………………………………14 8. Додаток……………………………………………………………………….15 1. ЗАГАЛЬНІ ВІДОМОСТІ Найменування програмного засобу: «Kursach». Програма орієнтована на застосування операційної системи MS WINDOWS, мова програмування С++. Програма використовує стандартні бібліотеки С++ та фреймворк Qt. Після того, як користувач вибрав кінці відрізка та точність обчислення, програма знаходить корінь та максимум функції на цьому відрізку та будує графік заданої функції разом з результатами обчислення. 2. ФУНКЦІОНАЛЬНЕ ПРИЗНАЧЕННЯ 2.1. Постановка задачі Програма призначена для обробки даних введених користувачем та знаходження максимума та кореня функції та побудови графіка даної функції. Користувач повинен ввести початок та кінець відрізка та точність обчислювання, також користувач має можливість запустити обчислення за допомогою кнопки «Рассчитать» для знаходження максимуму функції методом дихотомії або «Рассчитать» для знаходження кореня функції методом простого перебору (залежить від обраного користувачем методу). Далі, роботу програмного засобу проілюструємо за допомогою опису роботи відповідних процедур. Після того, як данні були введені користувачем, вони використовуються у методі «Per_D» для знаходження максимума функції або «Per» для знаходження кореня функції . По завершенню роботи обраного користувачем методу, в спеціальному текстовому полі користувач може побачити число ,яке означає в якому місці функція досягає свого максимума, а в іншому, спеціальному текстовому полі, користувач може побачити число, яке означає де знаходиться корінь функції . Функціональні обмеження: Значення початку відрізку має бути більшим за значення кінця відрізку. Обчислення відбуваються на функції x*sin(x). 2.2. Алгоритм Дихотомії Для знаходження максимуму функції було використано алгоритм дихотомії. Алгоритм полягає у пошуку максимуму функції на заданому відрізку [a,b] з урахуванням точності ε. Він складається з двох етапів. На першому етапі визначаємо половину відрізка, а на другому виконується перевірка. Етап 1: Визначаємо половину відрізка [a,b] C=1/2(a+b). Обчислюємо . Етап 2: 3. Перевіряємо наступні умови: 1) Якщо ,то c – максимум. ε – заданна точність. 2) Якщо , то максимум знаходиться на відрізку [a,c]. Повертаємось на Етап 1, де b приймае значення с. 3) Якщо , то максимум знаходиться на відрізку [c,b]. Повертаємось на Етап 1, де а приймае значення с. Метод Дихотомії дозволяє виключати в точності половину інтервалу на кожній ітерації. 2.3. Алгоритм простого перебору Для знаходження кореня функції було використано алгоритм простого перебору. Алгоритм полягає у пошуку кореня фукції на відрізку [a,b], з кроком dx та точністю ε. Він складається з двух етапів. На першому етапі обчислюємо значення фукції, а на другому виконується перевірка. Етап 1: 1. Обчислюємо Етап 2: 2. Перевіряємо наступні умови: 1) Якщо , то а-корінь. ε – заданна точність. 2) Якщо , то збільшуємо а на крок dx та повертаємося на Етап 1. 3. ОПИС ЛОГІЧНОЇ СТРУКТУРИ Програма використовує наступні алгоритми: алгоритм створення графічного інтерфейсу, метод Дихотомії, метод простого перебору. Програма складається з двох файлів: header та source . В header file знаходиться підключення усіх необхідних бібліотек та створюються необхідні змінні та методи. А в source file відбувається реалізація кожного із алгоритмів. Робота з програмою ділиться на декілька етапів: 1) На початку роботи програми для користувача вже створене робоче вікно, з можливістю вибору необхідного методу (рис. 1). Рис. 1 Початок роботи програми. 2) Далі, користувач, після обраного ним методу, вводить дані в поля введення, та натискає кнопку для розрахування кореня або максимуму функції (Рис. 2). Рис. 2 Ведення даних та розрахунок максимуму та кореня. 3) Графік функції будується при натисненні на відповідну кнопку.( Рис. 3). Рис. 3 Побудова графіка. Рис. 4 Діаграма класів Рис. 5 Діаграма компонентів Рис. 6 Діаграма послідовностей 4. ВИКОРИСТАНІ ТЕХНІЧНІ ЗАСОБИ Для роботи програми необхідне використання персональної ЕОМ – IBM – сумісного комп'ютера. Мінімальна конфігурація – персональний комп’ютер з процесором Intel Celeron 2 ГГц (і старше), ОЗУ не менш ніж 200 Мб. Час роботи програми залежить від користувача. 5. ВИКЛИК І ЗАВАНТАЖЕННЯ Для роботи програми необхідно мати наступні файли: файл Kursach.pro, файл з всіма классами. Для запуску необхідно запустити файл Kursach.pro. 6. ВХІДНІ ТА ВИХІДНІ ДАНІ Вхідними даними програми є: Початок та кінець відрізка; Точність обчислювання; Вихідними даними програми є: Максимум та корінь функції; Графік. 7. СПИСОК ЛІТЕРАТУРИ Шлее М. Qt 5. Стенли Б. Липпман Язык программирования C++. Базовый курс. / Б. Липпман, Жози Лажойе, Э. Му Барбара – Вильямс, 2014. – 1120 с. Шилдт Г. С++: базовый курс, 3-е издание. / Г. Шилдт – Вильямс, 2016. – 624 с. 3. Профессиональное программирование на C++ / М. Шлее – СПб. : БХВ – Петербург, 2012. – 912 с. 4.Бланшет Ж. Qt 4: программирование GUI на C++. 2-е изд., доп.: Пер. с англ. / Ж. Бланшет, С. Лунина, В. Казаченко. — М. : КУДИЦ-ПРЕСС, 2008 — 718 с. 8. ДОДАТОК Початок double I = a_d; I <= b_d; I += dx_d double a_d, double b_d, double dx_d double xmax = dx_d I*qSin(i) >= i*qSin(xmax) xmax = i Кінець Рис . 1 Метод Дихотомії Початок const double dx = 0.01, double xroot double a, double b, double eps double I = a; I <= b; I += dx I*qSin(i) <= eps xroot = I; break; Кінець |