ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 14.03.2024
Просмотров: 164
Скачиваний: 0
СОДЕРЖАНИЕ
Лабораторная работа №3 «Создание классов. Создание экземпляров классов. Создание конструкторов»
Арифметическое выражение лр1: Арифметическое выражение лр2:
Лабораторная работа №4 «Создание меню в Python-программе. Инкапсуляция»
Лабораторная работа №5 «Табулирование функции»
Лабораторная работа №6 «Работа с библиотеками Python»
Лабораторная работа № 7 «Создание приложений, использующих итеративные циклические структуры»
3. Выполнение проекта и получение результатов
4.Доказательство правильности работы программ
Лабораторная работа №8 «Программирование Python-приложений с использованием библиотеки Tkinter»
1.Задание на разработку проекта
3.Выполнение проекта и получение результатов
4.Доказательство правильности работы программ
Лабораторная работа №9 «Работа с кортежами»
Лабораторная работа №10 «Работа со словарями»
Лабораторная работа №11 «Работа со списками»
Лабораторная работа №12 «Базовые алгоритмы обработки списков и их сортировка»
Лабораторная работа №13 «Работа со вложенными последовательностями»
-
Выполнение проекта и получение результатов
Ниже на рисунке 10 показан результат работы программы
Рисунок
10 - Результат работы программы
-
Проверка правильности работы
На рисунках 11-12 показана проверка правильности результатов
Рисунок
11 - Результат выражения из ЛР1
Рисунок
12 - Результат работы программы из ЛР2
Показанные результаты полностью совпадают с результатами из предыдущих работ.
Лабораторная работа №4 «Создание меню в Python-программе. Инкапсуляция»
-
Задание на разработку проекта
Выполнить расчет арифметического выражения:
Для выполнения задания следовало разработать:
- Пользовательскую функцию resh0(self), предназначенную для расчета арифметического выражения из ЛР1
- Пользовательскую функцию resh1(self), предназначенную для расчета 1 ветки арифметического выражения.
-Пользовательскую функцию resh2(self), предназначенную для расчета 2 ветки арифметического выражения.
- Пользовательскую функцию resh3(self), предназначенную для расчета 3 ветки арифметического выражения.
- Организовать создание меню
В основной части программы осуществить закрытие нескольких атрибутов методе-конструкторе, выполнить тестирование программного кода, выполнить тестирование всех пунктов меню, продемонстрировать результаты обращения к закрытым методам и атрибутам.
-
Разработка алгоритма
Ниже представлен код программы
Код программы
import math
class Lab():
def __init__(self, a, b, x, y):
self.__x = x
self.y = y
self.__a = a
self.__b = b
def __resh0(self):
h = math.sqrt(math.exp(2*self.__x) * math.sqrt(self.__x) + ((self.__x-1/3)/self.__x)) * math.fabs(math.cos(2.5*self.__x))
return h
def resh1(self):
r = x**3 + (math.log(x + a))**2
return r
def resh2(self):
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
return r
def resh3(self):
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)
return r
choice = None
while choice!="0":
print("""
Меню
0 - Выйти
1 - Выполнить программу
""")
choice = input("Сделайте выбор ")
print()
if choice == "0":
print("Заканчиваем работу")
elif choice =="1":
print("Введите исходные данные ", end=" ")
a = float(input('\nВведите значение a: '))
b = float(input('Введите значение b: '))
x = float(input('Введите значение x: '))
y = float(input('Введите значение y: '))
rez = Lab(a, b, x, y)
print('Результат ЛР1: ', rez._Lab__resh0())
if x > 0:
j = rez.resh1()
elif x <= 0 and y <= 0:
j= rez.resh2()
else:
j = rez.resh3()
print('Результат ЛР2: ', j)
else:
print("Такого пункта в меню нет ", choice)
-
Выполнение проекта и получение результатов
Ниже представлено тестирование программного кода (Рисунок 1):
Рисунок
6
- Результат
работы программы
Ниже представлено тестирование меню программы (Рисунок 2):
Рисунок
2
- Тестирование
меню программы
Далее представлено обращение к закрытому методу (Рисунок 3):
Рисунок
7
- Обращение
к закрытому методу
-
Доказательство правильности работы
Можно заметить, что результат программы из 4 лабораторной работы совпадает с результатом программы из 2 лабораторной работы (Рисунок 4):
Рисунок
4 - Результат работы программы из ЛР№2
Лабораторная работа №5 «Табулирование функции»
-
Задание на разработку проекта
Построить таблицу и вычислить произведение значений функции y=f(x) при y > 0 при изменении x на отрезке [a; b] с шагом h:
Отрезок [-0.5;1.5], шаг h=0.1
Для выполнения задания следовало разработать:
- Пользовательскую функцию task(x), предназначенную для расчета ответа арифметического выражения при подстановке корня.
- Пользовательскую функцию cycle(a, b, h), предназначенную для табулирования арифметического выражения и вычисления произведений значений функции y = f(x), а также построить таблицу.
- Пакеты, в которых следует разместить пользовательские функции
В основной части программы выполнить алгоритмы каждой функции, осуществить ввод данных.
Формализация задания:
Для того чтобы табулировать функцию нужно задать циклическому алгоритму for значение предела табулирования. Это задается следующей формулой: n = round((b-a)/h+1), где b – верхний предел, a – нижний предел, h – шаг.
-
Разработка алгоритма
Ниже приведена блок-схема функции task(), которая решает поставленное арифметическое выражение (Рисунок 1):
Рисунок
8 - Блок-схема функции task(),
которая решает арифметическое выражение
Далее приведена блок-схема функции cycle() по табулированию арифметического выражения (Рисунок 2):
Рисунок
9 - Блок-схема функции cycle()
по табулированию арифметического
выражения
Далее представлена блок-схема основной части программы (Рисунок 3):
Рисунок
10 - Блок-схема основной части программы
Ниже представлен код пользовательской функции для решения арифметического выражения.
Код пользовательской функции
def task(x):
y = x**5 + 5*x**4 - 2*x**3 - 4*x**2 + 7*x - 3
return y
Далее представлен код пользовательской функции по табулированию арифметического выражения.
Код пользовательской функции
import task
def cycle(a, b, h):
x = a
n = round((b-a)/h + 1)
pr = 1
for i in range(n):
y = task.task(x)
if y > 0:
print('x = ', x, 'z = ', '{0:.3f}'.format(y))
pr *= y
x += h
return pr
Ниже представлен код основной части программы, где осуществляется ввод данных и выполняются алгоритмы каждой функции.
Код основной части программы
import cycle
a = float(input('Нижняя граница: '))
b = float(input('Вверхняя граница: '))
h = float(input('Шаг: '))
rez = cycle.cycle(a, b, h)
print('Результат выражения: ', rez)
-
Выполнение проекта и получение результатов
Рисунок
11
- Результат
работы программы
Лабораторная работа №6 «Работа с библиотеками Python»
-
Задание на разработку проекта
Записать условие своей задачи по табулированию функций в редактор Word, а также разместить в нем результаты работы программы в виде встроенного рисунка. А также записать результаты программы по табулированию функции в Excel.
Для выполнения задания следовало разработать:
- Пользовательскую функцию task(x), предназначенную для расчета арифметического выражения
- Пользовательскую функцию cycle(a, b, h), предназначенную для табулирования арифметического выражения и вычисления произведений значений функции y = f(x), а также построить таблицу.
- Пакеты, в которых следует разместить пользовательские функции
- Код, который запишет условие задачи по табулированию функции в текстовый редактор Word, а также разместит в нем результаты работы программы.
- Код, который выведет таблицу значений табулирования функции в редактор Excel
В основной части программы импортировать внешние библиотеки, а также записать соответствующие коды программы.
Формализация задания:
Для того, чтобы записать результаты в документ Word, нужно импортировать библиотеку docx. Затем инициализировать документ с помощью конструкции имя_переменной = docx.Document(). После с помощью команд doc.add_paragraph(), doc.add_picture() и doc.save() записать условие задачи, импортировать рисунок и сохранить документ соответственно.
-
Разработка алгоритма
Ниже представлен код программы
Код программы
import docx
import pandas as pd
import openpyxl
from openpyxl import Workbook
from math import *
from cycle import *
doc = docx.Document()
doc.add_paragraph("_________________________________________________________________________________________________________")
doc.add_paragraph('''Задание:
Использование внешних библиотек Python''')
doc.add_paragraph("_________________________________________________________________________________________________________")