- •Оглавление
- •Лабораторная работа №1 «Запись арифметических выражения на языке Python. Обработка исключений. Запись информации в текстовый файл. Создание пользовательских функций»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов
- •Лабораторная работа №2 «Программирование алгоритмов разветвляющихся структур. Нахождение максимального и минимального значения»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов
- •Лабораторная работа №3 «Создание классов. Создание экземпляров классов. Создание конструкторов»
- •Часть 1
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов.
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов.
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов.
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов.
- •2 Часть
- •Задание на разработку проекта
- •Арифметическое выражение лр1: Арифметическое выражение лр2:
- •Разработка алгоритма
- •Выполнение проекта и получение результатов
- •Проверка правильности работы
- •Лабораторная работа №4 «Создание меню в Python-программе. Инкапсуляция»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов
- •Доказательство правильности работы
- •Лабораторная работа №5 «Табулирование функции»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов
- •Лабораторная работа №6 «Работа с библиотеками Python»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов
- •Лабораторная работа № 7 «Создание приложений, использующих итеративные циклические структуры»
- •Задание на разработку проекта
- •Разработка алгоритма
- •3. Выполнение проекта и получение результатов
- •4.Доказательство правильности работы программ
- •Лабораторная работа №8 «Программирование Python-приложений с использованием библиотеки Tkinter»
- •1.Задание на разработку проекта
- •2.Разработка алгоритма
- •3.Выполнение проекта и получение результатов
- •4.Доказательство правильности работы программ
- •Лабораторная работа №9 «Работа с кортежами»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результата
- •Доказательство правильности работы программы
- •Лабораторная работа №10 «Работа со словарями»
- •1 Часть
- •Задание на разработку проекта
- •2. Разработка алгоритма
- •Выполнение проекта и получение результата
- •Доказательство правильности работы программы
- •2 Часть
- •Задание на разработку проекта
- •Разработка проекта
- •Выполнение проекта и получение результатов
- •Лабораторная работа №11 «Работа со списками»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов:
- •Лабораторная работа №12 «Базовые алгоритмы обработки списков и их сортировка»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов:
- •Лабораторная работа №13 «Работа со вложенными последовательностями»
- •Задание на разработку проекта
- •Разработка алгоритма
- •Выполнение проекта и получение результатов
- •Дополнительное задание «Реализация пошаговой детализации»
- •Задание на разработку проекта
- •Разработка алгоритма
- •3. Выполнение проекта и получение результатов
3. Выполнение проекта и получение результатов
Результат работы программы представлен на рисунке 3.
Рисунок 14 - Результат работы
На рисунках 5-6 показаны запись данных в excel файл, а также считывание этих данных.
Рисунок
15 - Записанные в excel
файл результаты программы
Рисунок
16 - Считывание данных из excel
4.Доказательство правильности работы программ
Все выведенные значения последовательности больше 0.0001, и они совпадают с результатом встроенной функции по нахождению логарифма (Рисунок 4).
Рисунок
17 - Результат встроенной функции
Лабораторная работа №8 «Программирование Python-приложений с использованием библиотеки Tkinter»
1.Задание на разработку проекта
Разработать на основе использования библиотеки Tkinter программу решения заданной согласно варианту системы.
Для выполнения задания требуется разработать:
Класс Application(Frame), для рисовки GUI.
Функцию func(self), предназначенную для решения системы.
В функции func(self) осуществить подстановку ответа в пользовательском интерфейсе программы.
Метод widget(self), предназначенный для отображения пользовательского интерфейса.
В методе 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()