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

Демонстрация различия между атрибутами объектов класса и атрибутами экземпляров класса.

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

  • Класс MyClass.

  • В классе MyClass добавить атрибут x равный 10

  • Метод __init__(self) для определения атрибута экземпляра класса y равного 20.

  • Экземпляры класса obj1 и obj2.

В основной части программы изменить значение x на 50 и y для экземпляра класса obj1 равного 90. Создать новый x для экземпляра класса obj2 равного 60 и изменить значение атрибута объекта класса MyClass.x на 80 и вывести все атрибуты класса.

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

Код программы представлен в Листинге 3

Листинг 3

class MyClass:

x = 10

def __init__(self):

self.y = 20

obj1, obj2 = MyClass(), MyClass()

print('obj1.x = {0} obj2.x = {1}'.format(obj1.x, obj2.x))

MyClass.x = 50

print('obj1.x = {0} obj2.x = {1}'.format(obj1.x, obj2.x))

print('obj1.y = {0} obj2.y = {1}'.format(obj1.y, obj2.y))

obj1.y = 90

print('obj1.y = {0} obj2.y = {1}'.format(obj1.y, obj2.y))

obj2.x = 60

MyClass.x = 80

print('obj1.x = {0} obj2.x = {1} MyClass.x = {2}'.format(obj1.x, obj2.x, MyClass.x))

  1. Выполнение проекта и получение результатов.

Результат работы программы представлен на Рисунке 3:

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

Упражнения 2.4

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

Инициализация объектов класса помощью конструктора

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

  • Класс Dist()

  • Метод __init__(self, mt, ct) для инициализации атрибутов класса.

  • В методе __init__(self, mt, ct) реализовать вывод надписи “Конструктор работает”

  • Метод get_dist(self) для получения значений с клавиатуры.

  • Метод show_dist(self) для вывода значений атрибутов.

  • Создать 3 объекта класса Dist(): dist1, dist2 и dist3.

В основной части программы для объектов dist1 и dist2 задать параметры 0, 0.0 и 14, 25 соответственно. Для dist3 параметры вводит пользователь. Вывести значения всех объектов с помощью метода show_dist(self).

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

Код программы представлен в Листинге 4

Листинг 4

class Dist:

def __init__(self, mt, ct):

self.meters = mt

self.centimeters = ct

print('Работает контруктор')

def get_dist(self):

self.meters = int(input('Введите число метров'))

self.centimeters = float(input('Введите число сантиметров:'))

def show_dist(self):

print ('{0} м {1} см'.format(self.meters, self.centimeters))

dist1 = Dist(0, 0.0)

dist2 = Dist(14, 25.)

dist3 = Dist(0, 0.0)

dist3.get_dist()

print('dist1 = ', end = '')

dist1.show_dist()

print('dist2 = ', end = '')

dist2.show_dist()

print('dist = ', end = '')

dist3.show_dist()

  1. Выполнение проекта и получение результатов.

Результат работы программы представлен на Рисунке 4:

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

2 Часть

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

Создать класс с методом конструктора, в котором есть метод расчета варианта из ЛР 1 и в котором есть три метода для каждой ветви системы расчета кусочно-ломанной функции из ЛР2.