# Общее контрольное задание по теме 9 ## Бушманов А.С. А-01-23 ## Задание: Создайте и запишите в модуль класс, содержащий следующие компоненты: - конструктор, задающий четырем атрибутам (fio,otdel,dolzhnost,oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов,  некоторые начальные значения; - метод для обеспечения операции повышения оклада сотрудника на заданное значение; - метод для обеспечения перевода сотрудника из одного отдела в другой; - метод для изменения должности сотрудника; - свойство, содержащее перечень (список) поощрений сотрудника. Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности. ## Решение: ```python class Employee: def __init__(self, fio="", otdel="", dolzhnost="", oklad=0): self.fio = fio self.otdel = otdel self.dolzhnost = dolzhnost self.oklad = oklad self._pooshreniya = [] # список поощрений def info(self): print(f"{self.fio}, {self.otdel}, {self.dolzhnost}, оклад: {self.oklad}") def povyshenie_oklada(self, summa): self.oklad += summa def perevod(self, new_otdel): self.otdel = new_otdel def smena_dolzhnosti(self, new_dolzhnost): self.dolzhnost = new_dolzhnost # property: только чтение списка поощрений @property def pooshreniya(self): return self._pooshreniya # добавить поощрение def add_pooshrenie(self, text): self._pooshreniya.append(text) # удалить поощрение def del_pooshrenie(self, text): if text in self._pooshreniya: self._pooshreniya.remove(text) ``` ## Ответ: ```python >>> emp_1 = Employee("Обычайко Д.С.", "Кафедра Управления и информационных технологий", "Ассистент", 100000) >>> emp_2 = Employee("Бобряков А.В.", "Кафедра Управления и ИТ", "Заведующий кафедрой", 1500000) >>> emp_1.info() Обычайко Д.С., Кафедра Управления и информационных технологий, Ассистент, оклад: 100000 >>> emp_2.info() Бобряков А.В., Кафедра Управления и ИТ, Заведующий кафедрой, оклад: 1500000 >>> emp_1.povyshenie_oklada(15000) >>> emp_1.add_pooshrenie("Премия за научную работу") >>> emp_2.smena_dolzhnosti("Декан факультета") >>> emp_2.perevod("Деканат") >>> emp_2.add_pooshrenie("Надбавка за руководство") >>> print("Поощрения", emp_1.fio, ":", emp_1.pooshreniya) Поощрения Обычайко Д.С. : ['Премия за научную работу'] >>> print("Поощрения", emp_2.fio, ":", emp_2.pooshreniya) Поощрения Бобряков А.В. : ['Надбавка за руководство'] >>> emp_1.del_pooshrenie("Премия за научную работу") >>> print("После удаления поощрения у", emp_1.fio, ":", emp_1.pooshreniya) После удаления поощрения у Обычайко Д.С. : [] >>> emp_1.info() Обычайко Д.С., Кафедра Управления и информационных технологий, Ассистент, оклад: 115000 >>> emp_2.info() Бобряков А.В., Деканат, Декан факультета, оклад: 1500000 ```