You are on page 1of 12

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

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


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

ЗВІТ
про виконання лабораторної роботи №2
«Основи роботи з інтерпретатором мови Python»

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


Левицький Володимир
(Прізвище Ім’я (Підпис)

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


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

Оцінка: _____30________ Підпис: __ ___


(Кількість балів) 30 жовтня 2022 р.

Київ
НТУУ «КПІ»
2022
1
Завдання. Варіант 2.

Розрахувати значення функції для значень аргументу


Х= -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5; та значень параметру n = 1, 3, 5, 7. Програму
для обчислення значення функції написати з графічним інтерфейсом
користувача.
Хід виконання роботи
1. Будуємо структуру інтерфейсного вікна програми та визначаємо
розташування на ньому елементів інтерфейсу.
Вікна для вводу змінних
Результат розрахунку

Значення «х» Значення «n»

Результат:

Розрахувати Очистити Вихід

Кнопки

2. Визначаємо структуру програми.


Програма містить головну процедуру, в якій формується інтерфейсне вікно та
розташовується його елементи, та три функції.
1 Функція clear_et(), яка відповідає події натиснення на кнопку
«Очистити».
2 Функція f1(x), яка відповідає події натиснення на кнопку
«Розрахувати».
3 Функція f(x), де безпосередньо здійснюють обчислення заданої
математичної функції f(x, n) за умови заданого значення аргументу x та
параметру n.
2
3. Особливості написання коду функції f(x).
Оскільки математичні операції, які слід виконати, містять функцію обчислення
квадратного кореня, а цю операцію в області дійсних чисел можна виконати
лише за умови додатних значень аргументу, виконуємо обчислення з
використанням лінгвістичної конструкції try: ... except: ... . Якщо
обчислення можна виконати – до текстового вікна буде виведено отриманий
числовий результат, а якщо неможна – повідомлення про помилку. Функція має 1
параметр, значення аргументу, який задається у вікні «значення х». Параметр n
задають у вікні «значення n».
Програмний код функції f(x):
def f(x):
from math import(tan,sqrt)
try:
n=float(et2.get())
val=sqrt((n*x**2)-15)/tan(sqrt((n*x**3)+1))
except:
val= "помилка"
return val

4. Особливості написання коду функції f1().


У коді функції f1() слід виконати такі дії.
1. Читання значення заданого аргументу функції f(x) із вікна текстового
редактора.
2. Переведення зчитаного значення із формату текстової змінної до
формату дійсного числа float. Відповідний оператор мови
програмування Python:
PAR=float(et1.get());
де et1 – змінна, яка відповідає вікну текстового редактора Entry,
get()–функція читання властивості цього вікна. У даному випадку
властивість вікна відповідає тексту, який в ньому набраний.
3. Виклик функції f(x) із параметром PAR та переведення обчисленого
числового значення функції до текстового формату з метою подальшого
запису його до вікна виведення тексту label1 через зміну властивостей
цього вікна. Відповідні оператори мови програмування Python:
Vout=str(f(PAR))
strout='результат:'+Vout
label1.config(text=strout)
Програмний код функції f1(x):
def f1():
PAR=float(et1.get());
Vout=str(f(PAR))
strout='результат:'+Vout
label1.config(text=strout)
return

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


3
1. Формування основного вікна, де будуть розташовані всі елементи
інтерфейсу.
from tkinter import *
window = Tk()
window.geometry("270x150")
window.title('Обчислення функції')
2. Формування та розташування вікна текстового редактора Entry.
et1 = Entry(window, font='Arial 10', width = 10)
et1.insert(0,'0')
et1.place(x=10,y=25)
Тут функція insert(0,'0') – функція вставлення елементу тексту,
place(x = 10, y = 25) – розташування вікна текстового редактору в
інтерфейсному вікні за заданими координатами x, y. Відлік координат
проводиться від правого верхнього кута інтерфейсного вікна.
3. Розташування кнопок та описання їхніх властивостей.
btn1 = Button(window,text= 'Розрахувати',width=10,command=f1)
btn1.place(x=10,y=100)
btn2 = Button(window,text='Очистити',width=10,command=clear_et1)
btn2.place(x=90,y=100)
btn3 = Button(window,text='Вихід',width=10,command=window.destroy)
btn3.place(x=170,y=100)
4. Розташування текстового вікна та описання його властивостей.
strout='Результат:'
label1=Label(window, font= 'Arial 12',text=strout)
label1.place(x=10,y=50)

6. Функція очищення вікон текстового редактора Entry.


1. Очищення вікон. Видалення з них всіх символів, від початкового до
кінцевого. Відповідний оператор мови програмування Python:
et1.delete(0,END)
et2.delete(0,END)
2. Виведення на першу позицію символу «0». Відповідний оператор мови
програмування Python:
et1.insert(0,'0')
et2.insert(0,’0’)
Остаточний програмний код функції clear_et1():
def clear_et1():
et1.delete(0,END)
et1.insert(0,'0')
et2.delete(0,END)
et2.insert(0,'0')

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


def f(x):
from math import(tan,sqrt)
try:
n=float(et2.get())
val=sqrt((n*x**2)-15)/tan(sqrt((n*x**3)+1))
except:
4
val= "помилка"
return val
def clear_et1():
et1.delete(0,END)
et1.insert(0,'0')
et2.delete(0,END)
et2.insert(0,'0')
return
def f1():
PAR=float(et1.get());
Vout=str(f(PAR))
strout='результат:'+Vout
label1.config(text=strout)
return
from tkinter import *
window = Tk()
window.geometry("270x150")
window.title('Обчислення функції')
et1 = Entry(window, font='Arial 10', width = 10)
et1.insert(0,'0')
et1.place(x=10,y=25)
et2 = Entry(window, font='Arial 10', width = 10)
et2.insert(0,'0')
et2.place(x=90,y=25)
label=Label(window, font='Arial 9', text='Значення "х"')
label.place(x=10,y=3)
label2=Label(window, font='Arial 9', text='Значення "n"')
label2.place(x=90,y=3)
btn1 = Button(window,text= 'Розрахувати',width=10,command=f1)
btn1.place(x=10,y=100)
btn2 = Button(window,text='Очистити',width=10,command=clear_et1)
btn2.place(x=90,y=100)
btn3 = Button(window,text='Вихід',width=10,command=window.destroy)
btn3.place(x=170,y=100)
strout='Результат:'
label1=Label(window, font= 'Arial 12',text=strout)
label1.place(x=10,y=50)
window.mainloop()

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


завданням.
Результати роботи наведеної програми для різних значень параметра n показані
на рис. 1 – 4.

а) б) в)

5
г) д) е)

є) ж) з)

і) к)

Рис 1. n = 1. а – x = -5; б – x = -4; в – x = -3; г – x = -2;


д – x = -1; е – x = 0; є – x = 1; ж – x = 2; з – x = 3; і – x = 4; к – x = 5.

а) б) в)

6
г) д) е)

є) ж) з)

і) к)

Рис 2. n = 3. а – x = -5; б – x = -4; в – x = -3; г – x = -2;


д – x = -1; е – x = 0; є – x = 1; ж – x = 2; з – x = 3; і – x = 4; к – x = 5.

7
а) б) в)

г) д) е)

є) ж) з)

і) к)

Рис 3. n = 5. а – x = -5; б – x = -4; в – x = -3; г – x = -2;


д – x = -1; е – x = 0; є – x = 1; ж – x = 2; з – x = 3; і – x = 4; к – x = 5.

8
а) б) в)

г) д) е)

є) ж) з)

і) к)
Рис 4. n = 7. а – x = -5; б – x = -4; в – x = -3; г – x = -2;
д – x = -1; е – x = 0; є – x = 1; ж – x = 2; з – x = 3; і – x = 4; к – x = 5.
9
9. Дослідження функції та пояснення отриманих розрахункових
результатів.
Із отриманих розрахункових результатів, наведених на рис. 1 – 4, зрозуміло, що
функція f(x, n) може бути обчисленою для значень n=1, x=4, 5; n=3, x=3, 4, 5;
n=5,
x=2, 3, 4, 5; n=7, x=2, 3, 4, 5; та не може бути обчисленою у всіх інших
випадках. Щоб пояснити це, необхідно дослідити поведінку функцій
та які стоять під квадратними коренями та загалом

визначають поведінку функції , значення якої


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

Рис 5. Графіки функції для різних значень параметру n

10
Рис 6. Графіки функції для різних значень параметру n

11
Рис 7. Графіки функції для різних значень параметру n

10. Висновки. В ході виконання роботи на мові Python була написана

програма, призначена для обчислення значення функції в


діапазоні з кроком 2 для n = 1, 3, 5, 7. Програма має графічний
інтерфейс користувача, побудований на основі таких елементів, як текстовий
редактор, вікно виведення тексту та кнопки. У разі, якщо значення функції
неможливо обчислити, у вікно виведення тексту виводили повідомлення про
обчислювальну помилку. Дослідження поведінки функції f(x) в заданому
діапазоні значень аргументу обчислення функції проведені правильно.

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


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

12

You might also like