Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

Національний технічний університет України


«Київський політехнічний інститут імені Ігоря Сікорського»
Факультет Електроніки
Кафедра електронних пристроїв та систем

ЗВІТ
про виконання лабораторної роботи №7
«Чисельне інтегрування функцій на заданому числовому
інтервалі методом трапецій»

Виконав: Студент групи ДЕ-11


Коніков Дмитро
(Прізвище Ім’я )

Перевірив: Професор кафедри


електронних пристроїв та систем
Мельник Ігор Віталійович

Оцінка: _____________ Підпис:_________


(Кількість балів) 2022 р.

Київ
НТУУ «КПІ»
2022

1
Завдання. Варіант 6.
Знайти значення наступних визначених інтегралів для
заданої математичної функції у заданому діапазоні значень аргументу:

Хід виконання роботи


1. Будуємо структуру інтерфейсного вікна програми та визначаємо
розташування на ньому елементів інтерфейсу.
Вікна для вводу змінних
Результат розрахунку

Кнопка
2. Особливості написання коду функції f(x).
Для зниження обчислювальної похибки чисельного інтегрування
переходять до лінійної апроксимації функції f(x), розглянутої у практичному
занятті 5. Такий спосіб інтегрування називається методом трапецій, він
наочно проілюстрований на рис. 7.6, б. Зрозуміло, що за умови використання
метода трапецій обчислювальна похибка є значно меншою, ніж для методу
прямокутників. Квадратурна формул для метода трапецій записується у
вигляді

2
Програмний код функції f(x):

3. Особливості написання програми формування інтерфейсного вікна.

4. Остаточний код програмного модуля.


from tkinter import *
import math

def f(x: float) -> float:


3
y = (x**5 *(math.exp(x) + math.log(x))/(x**3 + 2 * x + 5))
return y

def TRapezia(a, b, n):


s = 0;
x = a;
h = (b - a) / n
for i in range(n):
x += h
s += f(x)
s += f(a) / 2 + f(b) / 2
s *= h
return s

def clicked():
aa=float(a.get())
bb=float(b.get())
nn=int(n.get())
out.configure(text = round(TRapezia(aa,bb,nn), 3))

window = Tk()
window.title("laba")
window.geometry('550x250')
lb0 = Label(window, text="Інтегрування \n f(x)= (x**5 *(exp(x) + log(x))/(x**3 + 2 * x + 5))\n на проміжку x є[a;b]",
font=("Arial", 14))
lb0.grid(column=1, row=0)
lb1 = Label(window, text="a=", font=("Calibri Light:", 14))
lb1.grid(column=0, row=2)
lb2 = Label(window, text="b=", font=("Calibri Light:", 14))
lb2.grid(column=0, row=3)
lb2 = Label(window, text="n=", font=("Calibri Light:", 14))
lb2.grid(column=0, row=4)
lb3 = Label(window, text="відповідь=", font=("Calibri Light:", 14))
lb3.grid(column=0, row=6)
Button1 = Button(window, text="Обрахунок", command=clicked)
Button1.grid(column=1, row=5)
a = Entry(window, width=14,font=("Calibri Light:", 14))
b = Entry(window, width=14,font=("Calibri Light:", 14))
n = Entry(window, width=14,font=("Calibri Light:", 14))
out = Label(window, text=" ", font=("Calibri Light:", 14))
a.grid(column=1, row=2)
b.grid(column=1, row=3)
n.grid(column=1, row=4)
out.grid(column=1, row=6)

window.mainloop()

5. Проведення розрахунків значення функції згідно з визначеним


завданням.

4
6. Висновки. В ході виконання роботи на мові Python була написана програма,
призначена для обчислення значення функції в
діапазоні

a=2 b=3 для n = 8000. Програма має графічний інтерфейс користувача,


побудований на основі таких елементів, як текстовий редактор, вікно виведення
тексту та кнопки. Дослідження поведінки функції f(x) в заданому діапазоні
значень аргументу обчислення функції проведені правильно.

Список використаної літератури


1. Мельник І.В. Основи програмування на мові Python. Том 1. Базові
5
принципи побудови мови програмування Python та її головні синтаксичні
конструкції. Комплексний навчальний посібник з курсів «Об’єктно-
орієнтоване програмування» та «Обчислювальні системи та мережі» для
студентів-бакалаврів, які навчаються за освітньою програмою
«Електронні прилади та пристрої». – Київ, «Кафедра», 2020. – 372 с.
2. Мельник І.В. Основи програмування на мові Python. Том 2. Розвинені
засоби мови програмування Python. Комплексний навчальний посібник з
курсів «Об’єктно-орієнтоване програмування» та «Обчислювальні системи
та мережі» для студентів-бакалаврів, які навчаються за освітньою програмою
«Електронні прилади та пристрої». – Київ, «Кафедра», 2020. – 492 с.

You might also like