# Общее контрольное задание по Теме 9 Ходюк Максим Романович А-01-23 ## Задание Создайте и запишите в модуль класс, содержащий следующие компоненты: - конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения; - метод для обеспечения операции повышения оклада сотрудника на заданное значение; - метод для обеспечения перевода сотрудника из одного отдела в другой; - метод для изменения должности сотрудника; - свойство, содержащее перечень (список) поощрений сотрудника. Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности. ### Выполнение Модуль с созданным необходимым классом [Sotrudniki.py](Sotrudniki.py): ``` class Sotrudniki: def __init__(self, fio, otdel, dolzhnost, oklad): self.fio = fio self.otdel = otdel self.dolzhnost = dolzhnost self.oklad = oklad self._pooshrenia = [] def salary_raise(self, summa): if summa > 0: self.oklad += summa print(f"Оклад сотрудника {self.fio} увеличен на {summa}. Новый оклад: {self.oklad}") else: print("Сумма для повышения оклада должна быть больше нуля.") def change_department(self, new_department): print(f"Сотрудник {self.fio} переведен из отдела {self.otdel} в отдел {new_department}.") self.otdel = new_department def change_position(self, new_position): print(f"Должность сотрудника {self.fio} изменена с {self.dolzhnost} на {new_position}.") self.dolzhnost = new_position @property def pooshrenia(self): return self._pooshrenia def add_pooshrenie(self, tekst): self._pooshrenia.append(tekst) print(f"Сотрудник {self.fio} теперь имеет поощрение: {tekst}") ``` Модуль для выполнения необходимых операций с классом Sotrudniki: [Main.py](Main.py) ``` from Sotrudniki import Sotrudniki sot1 = Sotrudniki("Пронин А.Д", "Кафедра Управления и информационных технологий", "Ассистент",60000) sot2 = Sotrudniki("Бирюков А.М.", "Кафедра Математического и компьютерного моделирования", "Доцент", 75000) print("=== НАЧАЛЬНЫЕ ДАННЫЕ ===") print(f"{sot1.fio}, {sot1.otdel}, {sot1.dolzhnost}, оклад: {sot1.oklad}") print(f"{sot2.fio}, {sot2.otdel}, {sot2.dolzhnost}, оклад: {sot2.oklad}") print("\n=== ОПЕРАЦИИ С СОТРУДНИКАМИ ===") sot2.salary_raise(20000) sot1.change_department("Кафедра Математического и компьютерного моделирования") sot1.change_position("Старший преподаватель") sot2.add_pooshrenie("За преданность делу") sot1.add_pooshrenie("За создание позитивной атмосферы") print("\n=== ИТОГОВЫЕ ДАННЫЕ ===") print(f"{sot1.fio}, {sot1.otdel}, {sot1.dolzhnost}, оклад: {sot1.oklad}") print(f"{sot2.fio}, {sot2.otdel}, {sot2.dolzhnost}, оклад: {sot2.oklad}") print("\n=== ПЕРЕЧЕНЬ ПООЩРЕНИЙ ===") print(f"Поощрения {sot1.fio}: {sot1.pooshrenia}") print(f"Поощрения {sot2.fio}: {sot2.pooshrenia}") ``` Вывод программы: ``` ========================================================================= RESTART: D:\POAS\Hodyuk\Tema9\Main.py ======================================================================== === НАЧАЛЬНЫЕ ДАННЫЕ === Пронин А.Д, Кафедра Управления и информационных технологий, Ассистент, оклад: 60000 Бирюков А.М., Кафедра Математического и компьютерного моделирования, Доцент, оклад: 75000 === ОПЕРАЦИИ С СОТРУДНИКАМИ === Оклад сотрудника Бирюков А.М. увеличен на 20000. Новый оклад: 95000 Сотрудник Пронин А.Д переведен из отдела Кафедра Управления и информационных технологий в отдел Кафедра Математического и компьютерного моделирования. Должность сотрудника Пронин А.Д изменена с Ассистент на Старший преподаватель. Сотрудник Бирюков А.М. теперь имеет поощрение: За преданность делу Сотрудник Пронин А.Д теперь имеет поощрение: За создание позитивной атмосферы === ИТОГОВЫЕ ДАННЫЕ === Пронин А.Д, Кафедра Математического и компьютерного моделирования, Старший преподаватель, оклад: 60000 Бирюков А.М., Кафедра Математического и компьютерного моделирования, Доцент, оклад: 95000 === ПЕРЕЧЕНЬ ПООЩРЕНИЙ === Поощрения Пронин А.Д: ['За создание позитивной атмосферы'] Поощрения Бирюков А.М.: ['За преданность делу'] ```