# Общее контрольное задание. Создайте и запишите в модуль класс, содержащий следующие компоненты: - конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения; - метод для обеспечения операции повышения оклада сотрудника на заданное значение; - метод для обеспечения перевода сотрудника из одного отдела в другой; - метод для изменения должности сотрудника; - свойство, содержащее перечень (список) поощрений сотрудника. Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности. Модуль Sotrudnik.py: ```python class Sotrudnik: def __init__(self, fio, otdel="не указан", dolzhnost="не указана", oklad=30000): self.fio = fio self.otdel = otdel self.dolzhnost = dolzhnost self.oklad = oklad self._pooshreniya = [] def povysit_oklad(self, summa): """Повысить оклад на заданную сумму""" self.oklad += summa def perevesti_v_otdel(self, novy_otdel): """Перевести в другой отдел""" self.otdel = novy_otdel def izmenit_dolzhnost(self, novaya_dolzhnost): """Изменить должность""" self.dolzhnost = novaya_dolzhnost @property def pooshreniya(self): """Свойство для списка поощрений""" return self._pooshreniya @pooshreniya.setter def pooshreniya(self, znachenie): """Добавить поощрение""" self._pooshreniya.append(znachenie) ``` Основная программа: ```python from Sotrudnik import Sotrudnik s1 = Sotrudnik("Иванов И.И.", "IT", "программист", 80000) s2 = Sotrudnik("Петрова М.С.", "бухгалтерия", "бухгалтер") print("Начальные данные:") print(f"{s1.fio}: {s1.otdel}, {s1.dolzhnost}, {s1.oklad} руб.") print(f"{s2.fio}: {s2.otdel}, {s2.dolzhnost}, {s2.oklad} руб.") print("\nОперации с первым сотрудником:") print("Переведён в отдел \"разработка\" на должность \"старший программист\"") s1.perevesti_v_otdel("разработка") s1.izmenit_dolzhnost("старший программист") print("Повышен оклад на 15 000 руб.") s1.povysit_oklad(15000) s1.pooshreniya = "благодарность за проект" # Операции со вторым сотрудником print("\nОперации со вторым сотрудником:") s2.povysit_oklad(10000) s2.pooshreniya = "премия за квартал" # Отображаем итоговые значения print("\nИтоговые данные:") print(f"{s1.fio}: {s1.otdel}, {s1.dolzhnost}, {s1.oklad} руб.") print(f"Поощрения: {s1.pooshreniya}") print(f"\n{s2.fio}: {s2.otdel}, {s2.dolzhnost}, {s2.oklad} руб.") print(f"Поощрения: {s2.pooshreniya}") ``` Ответ программы: ```shell Начальные данные: Иванов И.И.: IT, программист, 80000 руб. Петрова М.С.: бухгалтерия, бухгалтер, 30000 руб. Операции с первым сотрудником: Переведён в отдел "разработка" на должность "старший программист" Повышен оклад на 15 000 руб. Операции со вторым сотрудником: Итоговые данные: Иванов И.И.: разработка, старший программист, 95000 руб. Поощрения: ['благодарность за проект'] Петрова М.С.: бухгалтерия, бухгалтер, 40000 руб. Поощрения: ['премия за квартал'] ```