Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы Султонов Фирдавс.docx
Скачиваний:
6
Добавлен:
08.11.2023
Размер:
2.08 Mб
Скачать

3. Выполнение проекта и получение результатов

Результат работы программы представлен на рисунке 3.

Рисунок 14 - Результат работы

На рисунках 5-6 показаны запись данных в excel файл, а также считывание этих данных.

Рисунок 15 - Записанные в excel файл результаты программы

Рисунок 16 - Считывание данных из excel

4.Доказательство правильности работы программ

Все выведенные значения последовательности больше 0.0001, и они совпадают с результатом встроенной функции по нахождению логарифма (Рисунок 4).

Рисунок 17 - Результат встроенной функции

Лабораторная работа №8 «Программирование Python-приложений с использованием библиотеки Tkinter»

1.Задание на разработку проекта

Разработать на основе использования библиотеки Tkinter программу решения заданной согласно варианту системы.

Для выполнения задания требуется разработать:

  1. Класс Application(Frame), для рисовки GUI.

  2. Функцию func(self), предназначенную для решения системы.

  3. В функции func(self) осуществить подстановку ответа в пользовательском интерфейсе программы.

  4. Метод widget(self), предназначенный для отображения пользовательского интерфейса.

  5. В методе widget(self), осуществить отображение и ввод значений a, b, x, y пользователем, а также осуществить вывод ответа.

В основной части программы импортировать нужные библиотеки, а также задать параметры пользовательского интерфейса, а именно название и размер отображаемого окна.

2.Разработка алгоритма

Код программы

import math

from tkinter import *

class Application(Frame):

def __init__(self, fr):

super(Application, self).__init__(fr)

self.grid()

self.widget()

class Application(Frame):

def __init__(self, fr):

super(Application, self).__init__(fr)

self.grid()

self.widget()

def func(self):

x = float(self.textbox1.get())

y = float(self.textbox2.get())

a = float(self.textbox3.get())

b = float(self.textbox4.get())

if x > 0:

r = x**3 + (math.log(x + a))**2

elif x <= 0 and y <= 0:

if abs(x) + a > abs(y) + b:

minim1 = abs(y) + b

else:

minim1 = abs(x) + a

if a > x:

minim2 = x

else:

minim2 = a

if minim1 > minim2:

r = minim2

else:

r = minim1

else:

if math.e**(a+b) < math.log(x**2 + y**2)**2:

r = math.log(x**2 + y**2)**2

else:

r = math.e**(a+b)

self.textbox5.insert(0.0, r)

def widget(self):

self.lbl1 = Label(self, text = 'Введите х:', font=('Times New Roman', 16), fg = 'blue')

self.lbl1.grid(row = 0, column = 0)

self.textbox1 = Entry(self, width = 67, font=('Times New Roman', 16))

self.textbox1.grid(row = 1, column = 0)

self.lbl2 = Label(self, text = 'Введите y:', font=('Times New Roman', 16), fg = 'blue')

self.lbl2.grid(row = 2, column = 0)

self.textbox2 = Entry(self, width = 67, font=('Times New Roman', 16))

self.textbox2.grid(row = 3, column = 0)

self.lbl3 = Label(self, text = 'Введите a:', font=('Times New Roman', 16), fg = 'blue')

self.lbl3.grid(row = 4, column = 0)

self.textbox3 = Entry(self, width = 67, font=('Times New Roman', 16))

self.textbox3.grid(row = 5, column = 0)

self.lbl4 = Label(self, text = 'Введите b:', font=('Times New Roman', 16), fg = 'blue')

self.lbl4.grid(row = 6, column = 0)

self.textbox4 = Entry(self, width = 67, font=('Times New Roman', 16))

self.textbox4.grid(row = 7, column = 0)

self.btn = Button(self, font=('Times New Roman', 14, "bold"), fg = 'red')

self.btn['text'] = 'Вычислить функцию'

self.btn['command'] = self.func

self.btn['width'] = 20

self.btn['height'] = 2

self.btn.grid(row = 8, column = 0)

self.lbl5 = Label(self, text = 'Значение функции:', font=('Times New Roman', 14), fg = 'green')

self.lbl5.grid(row = 9, column = 0)

self.textbox5 = Text(self, width = 30, height = 1, font = ("Times New Roman", 14))

self.textbox5.grid(row = 10, column = 0)

root = Tk()

root.title('Многозначные ветвления')

root.geometry('743x400')

app = Application(root)

root.mainloop()