From ee06ba6d99715f60655229c9fd7b5967d1f4b8d3 Mon Sep 17 00:00:00 2001 From: KhodiukMR Date: Sun, 7 Dec 2025 22:37:33 +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=20=D0=9E=D0=9A=D0=97=20=D0=BA=20=D0=A2=D0=B5=D0=BC=D0=B5?= =?UTF-8?q?=209=20=D0=B8=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=BA=20?= =?UTF-8?q?=D0=BD=D0=B5=D0=BC=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA9/Main.py | 29 +++++++++++++ TEMA9/Sotrudniki.py | 30 +++++++++++++ TEMA9/task.md | 100 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 159 insertions(+) create mode 100644 TEMA9/Main.py create mode 100644 TEMA9/Sotrudniki.py create mode 100644 TEMA9/task.md diff --git a/TEMA9/Main.py b/TEMA9/Main.py new file mode 100644 index 0000000..33876ab --- /dev/null +++ b/TEMA9/Main.py @@ -0,0 +1,29 @@ +import os +os.chdir('D:\\POAS\\Hodyuk\\Tema9\\') + +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}") diff --git a/TEMA9/Sotrudniki.py b/TEMA9/Sotrudniki.py new file mode 100644 index 0000000..7e528da --- /dev/null +++ b/TEMA9/Sotrudniki.py @@ -0,0 +1,30 @@ +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}") diff --git a/TEMA9/task.md b/TEMA9/task.md new file mode 100644 index 0000000..cf63fbc --- /dev/null +++ b/TEMA9/task.md @@ -0,0 +1,100 @@ +# Общее контрольное задание по Теме 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 + +=== ПЕРЕЧЕНЬ ПООЩРЕНИЙ === +Поощрения Пронин А.Д: ['За создание позитивной атмосферы'] +Поощрения Бирюков А.М.: ['За преданность делу'] +``` +