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

Ниже на рисунке 10 показан результат работы программы

Рисунок 10 - Результат работы программы

  1. Проверка правильности работы

На рисунках 11-12 показана проверка правильности результатов

Рисунок 11 - Результат выражения из ЛР1

Рисунок 12 - Результат работы программы из ЛР2

Показанные результаты полностью совпадают с результатами из предыдущих работ.

Лабораторная работа №4 «Создание меню в Python-программе. Инкапсуляция»

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

Выполнить расчет арифметического выражения:

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

- Пользовательскую функцию resh0(self), предназначенную для расчета арифметического выражения из ЛР1

- Пользовательскую функцию resh1(self), предназначенную для расчета 1 ветки арифметического выражения.

-Пользовательскую функцию resh2(self), предназначенную для расчета 2 ветки арифметического выражения.

- Пользовательскую функцию resh3(self), предназначенную для расчета 3 ветки арифметического выражения.

- Организовать создание меню

В основной части программы осуществить закрытие нескольких атрибутов методе-конструкторе, выполнить тестирование программного кода, выполнить тестирование всех пунктов меню, продемонстрировать результаты обращения к закрытым методам и атрибутам.

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

Ниже представлен код программы

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

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)