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

Арифметическое выражение лр1: Арифметическое выражение лр2:

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

  • Класс Lab(a, b, x, y) в котором создать 4 метода

  • Метод resh0(self) для решения арифметического выражения из ЛР1

  • Методы resh1(self), resh2(self) и resh3(self) предназначенные для решения 3-х веток кусочно-ломанной функции из ЛР2

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

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

Формализация задания:

Для объявления класса в языке программирования Python надо воспользоваться оператором class, после этого нужно задать имя классу. Для инициализации значений надо воспользоваться методом __init__(self) и инициализировать значения a, b, x, y. После создать 4 метода, которые решают арифметические выражения.

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

Ниже представлена блок-схема метода resh0(), который решает арифметическое выражение из ЛР№1

Рисунок 5 - Блок-схема функции resh0(), для решения арифметического выражения из ЛР№1

На рисунке 6 показана блок-схема метода resh1(), который решает условие 1-ой ветки из ЛР№2

Рисунок 6 - Блок-схема метода resh1(), который решает условие из 1-ой ветки ЛР№2

На рисунке 7 показана блок-схема метода resh2(), который решает условие 2-ой ветки из ЛР№2

Рисунок 7 - Блок-схема метода resh2(), который решает условие 2-ой ветки из ЛР№2

На рисунке 8 показана блок-схема метода resh3(), который решает условие 3-ей ветки из ЛР№2

Рисунок 8 - Блок-схема метода resh3(), который решает условие 3-ей ветки из ЛР№2

На рисунке 5 показана блок-схема основной части программы

Рисунок 5 - Блок-схема основной части программы

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

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

a = float(input('Введите значение a: '))

b = float(input('Введите значение b: '))

x = float(input('Введите значение x: '))

y = float(input('Введите значение y: '))

rez = Lab(a, b, x, y)

print('Результат ЛР1: ', rez.resh0())

if x > 0:

j = rez.resh1()

elif x <= 0 and y <= 0:

j= rez.resh2()

else:

j = rez.resh3()

print('Результат ЛР2: ', j)