From fc9b288c78c96e6c2a96f4a4568726c6cb2f3fbe Mon Sep 17 00:00:00 2001 From: DobrovolskaY Date: Sun, 14 Dec 2025 16:58:05 +0000 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D0=BB(=D0=B0)=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20'TEM?= =?UTF-8?q?A9'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA9/SAU.py | 20 ++++++++++ TEMA9/task.md | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++ TEMA9/task.py | 65 +++++++++++++++++++++++++++++++ 3 files changed, 189 insertions(+) create mode 100644 TEMA9/SAU.py create mode 100644 TEMA9/task.md create mode 100644 TEMA9/task.py diff --git a/TEMA9/SAU.py b/TEMA9/SAU.py new file mode 100644 index 0000000..0e3537e --- /dev/null +++ b/TEMA9/SAU.py @@ -0,0 +1,20 @@ +class SAU: + def __init__(self,zn_param): + self.param=zn_param + self.ypr=[0,0] + + def zdn_zn(self,upr): + self.x=upr + + def model(self): + def inerz(x,T,yy): + return (x+T*yy)/(T+1) + y0=self.x-self.ypr[1]*self.param[3] #Обр.связь с усилителем 2 + y1=self.param[0]*y0 #Усилитель1 + y2=inerz(y1,self.param[1],self.ypr[0]) #Инерционное звено1 + y3=inerz(y2,self.param[2],self.ypr[1]) #Инерционное звено2 + self.ypr[0]=y2 + self.ypr[1]=y3 + + def otobraz(self): + print('y=',self.ypr[1]) diff --git a/TEMA9/task.md b/TEMA9/task.md new file mode 100644 index 0000000..b9ba560 --- /dev/null +++ b/TEMA9/task.md @@ -0,0 +1,104 @@ +## Общее контрольное задание по теме 9 + +## Задание + + +Создайте и запишите в модуль класс, содержащий следующие компоненты: + +- конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения; + +- метод для обеспечения операции повышения оклада сотрудника на заданное значение; + +- метод для обеспечения перевода сотрудника из одного отдела в другой; + +- метод для изменения должности сотрудника; + +- свойство, содержащее перечень (список) поощрений сотрудника. + +Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобра-зите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности. + +## Решение + +Программа записанная в модуль: + +```py +class Sotrudnik: + + def __init__(self, fio, otdel, dolzhnost, oklad): + self.fio = fio + self.otdel = otdel + self.dolzhnost = dolzhnost + self.oklad = oklad + # Приватный атрибут для хранения поощрений + self.__pooshchreniya = [] + + def __chtenie_pooshchreniy(self): + return self.__pooshchreniya + + def __zapis_pooshchreniy(self, pooshchrenie): + self.__pooshchreniya.append(pooshchrenie) + + def __stiran_pooshchreniy(self): + self.__pooshchreniya = [] + + pooshchreniya = property(__chtenie_pooshchreniy, __zapis_pooshchreniy, __stiran_pooshchreniy, "Список поощрений сотрудника") + + def povysit_oklad(self, summa): + self.oklad += summa + + def perevod_v_otdel(self, novyy_otdel): + self.otdel = novyy_otdel + + def izmenit_dolzhnost(self, novaya_dolzhnost): + self.dolzhnost = novaya_dolzhnost + + def __repr__(self): + return (f"Сотрудник: {self.fio}, Отдел: {self.otdel}, " + f"Должность: {self.dolzhnost}, Оклад: {self.oklad}, " + f"Поощрения: {self.pooshchreniya}") + +# Создание экземпляров +emp1 = Sotrudnik("Иванова И.И.", "Секретариат", "Разносчица бумажек", 50000) +emp2 = Sotrudnik("Петрова А.С.", "Секретариат", "Приносильщица кофе", 80000) + +# Задание начальных поощрений +emp1.pooshchreniya = "Благодарность" +emp2.pooshchreniya = "Премия" +emp2.pooshchreniya = "Премия 2" + +# Отображение начальных значений +print("Начальные данные ") +print(emp1) +print(emp2) +print("-" * 30) + +# Операции с экземплярами + +# Сотрудник 1: Повышение оклада и перевод +emp1.povysit_oklad(10000) +emp1.perevod_v_otdel("Генсекритариат") + +# Сотрудник 2: Изменение должности и объявление благодарности +emp2.izmenit_dolzhnost("Старшая секретарша") +emp2.pooshchreniya = "Благодарность от руководства за вкусный кофе" + +# Отображение измененных значений +print("Измененные данные") +print(emp1) +print(emp2) +print("-" * 30) +``` + +Отображение результата: + +```py +================================================== RESTART: C:/Users/Лиза/OneDrive/Desktop/python-labs/TEMA9/task.py ================================================== +Начальные данные +Сотрудник: Иванова И.И., Отдел: Секретариат, Должность: Разносчица бумажек, Оклад: 50000, Поощрения: ['Благодарность'] +Сотрудник: Петрова А.С., Отдел: Секретариат, Должность: Приносильщица кофе, Оклад: 80000, Поощрения: ['Премия', 'Премия 2'] +------------------------------ +Измененные данные +Сотрудник: Иванова И.И., Отдел: Генсекритариат, Должность: Разносчица бумажек, Оклад: 60000, Поощрения: ['Благодарность'] +Сотрудник: Петрова А.С., Отдел: Секретариат, Должность: Старшая секретарша, Оклад: 80000, Поощрения: ['Премия', 'Премия 2', 'Благодарность от руководства за вкусный кофе'] +------------------------------ +``` \ No newline at end of file diff --git a/TEMA9/task.py b/TEMA9/task.py new file mode 100644 index 0000000..2dece33 --- /dev/null +++ b/TEMA9/task.py @@ -0,0 +1,65 @@ +class Sotrudnik: + + def __init__(self, fio, otdel, dolzhnost, oklad): + self.fio = fio + self.otdel = otdel + self.dolzhnost = dolzhnost + self.oklad = oklad + # Приватный атрибут для хранения поощрений + self.__pooshchreniya = [] + + def __chtenie_pooshchreniy(self): + return self.__pooshchreniya + + def __zapis_pooshchreniy(self, pooshchrenie): + self.__pooshchreniya.append(pooshchrenie) + + def __stiran_pooshchreniy(self): + self.__pooshchreniya = [] + + pooshchreniya = property(__chtenie_pooshchreniy, __zapis_pooshchreniy, __stiran_pooshchreniy, "Список поощрений сотрудника") + + def povysit_oklad(self, summa): + self.oklad += summa + + def perevod_v_otdel(self, novyy_otdel): + self.otdel = novyy_otdel + + def izmenit_dolzhnost(self, novaya_dolzhnost): + self.dolzhnost = novaya_dolzhnost + + def __repr__(self): + return (f"Сотрудник: {self.fio}, Отдел: {self.otdel}, " + f"Должность: {self.dolzhnost}, Оклад: {self.oklad}, " + f"Поощрения: {self.pooshchreniya}") + +# Создание экземпляров +emp1 = Sotrudnik("Иванова И.И.", "Секретариат", "Разносчица бумажек", 50000) +emp2 = Sotrudnik("Петрова А.С.", "Секретариат", "Приносильщица кофе", 80000) + +# Задание начальных поощрений +emp1.pooshchreniya = "Благодарность" +emp2.pooshchreniya = "Премия" +emp2.pooshchreniya = "Премия 2" + +# Отображение начальных значений +print("Начальные данные ") +print(emp1) +print(emp2) +print("-" * 30) + +# Операции с экземплярами + +# Сотрудник 1: Повышение оклада и перевод +emp1.povysit_oklad(10000) +emp1.perevod_v_otdel("Генсекритариат") + +# Сотрудник 2: Изменение должности и объявление благодарности +emp2.izmenit_dolzhnost("Старшая секретарша") +emp2.pooshchreniya = "Благодарность от руководства за вкусный кофе" + +# Отображение измененных значений +print("Измененные данные") +print(emp1) +print(emp2) +print("-" * 30)