![](/user_photo/_userpic.png)
- •Оглавление
- •Лабораторная работа №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. Выполнение проекта и получение результатов
Арифметическое выражение лр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 метода, которые решают арифметические выражения.
Разработка алгоритма
Ниже представлена блок-схема метода 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)