Задание 1. В4: Описание студентов и их оценок
Описание: Создайте класс Student, который будет описывать студента. У класса должны быть свойства: имя, фамилия и список оценок. Напишите методы для добавления оценки, вычисления средней оценки и отображения информации о студенте.
Реализовать:
Класс Student с свойствами first_name, last_name и grades.
Метод add_grade(grade) для добавления оценки.
Метод average_grade() для вычисления средней оценки.
Метод display_info() для отображения информации о студенте.
Конструктор, принимающий имя, фамилию и пустой список оценок.
Метод для получения наивысшей оценки.
Метод для получения наименьшей оценки.
Реализуйте метод для обновления фамилии студента.
Метод для получения количества оценок.
Добавьте метод для проверки, прошел ли студент (например, средняя оценка выше 4).
Задание 2. В4: Система мониторинга оборудования
Описание: Создайте систему мониторинга оборудования на производстве. Определите абстрактный класс Equipment с общими свойствами и методами, такими как status и метод performMaintenance(). Создайте конкретные классы Machine, Sensor, и ConveyorBelt.
Требования:
1. Абстрактный класс Equipment должен иметь метод performMaintenance().
2. Класс Machine должен иметь поля serialNumber и lastMaintenanceDate, а также метод performMaintenance().
3. Класс Sensor должен иметь поле sensitivity и метод performMaintenance().
4. Класс ConveyorBelt должен иметь поле beltLength и метод performMaintenance().
Задание 3. В4: 4. Система бронирования билетов на мероприятия
• Паттерны: Singleton (для управления системой бронирования), Command (для выполнения команд бронирования и отмены), Template Method (для разных типов билетов и процедур бронирования).
• Описание: Создать систему, которая поддерживает бронирование билетов, возврат и создание различных типов билетов.
Задание 4. В4: Разработка системы учета автомобилей в автопарке
Описание задания: Разработайте систему для управления автопарком, в которой можно добавить информацию об автомобиле, отслеживать его техническое состояние, а также планировать и фиксировать сервисное обслуживание.
Паттерны для использования:
1. Singleton — для реализации единой точки доступа к базе данных автопарка.
2. Strategy — для выбора стратегии обслуживания автомобилей (например, плановое обслуживание, внеплановый ремонт).
3. Composite — для организации автопарка, где один автомобиль может быть частью более сложной структуры (например, группа автомобилей одного типа или модели).
4. Observer — для уведомлений о необходимости обслуживания автомобиля.
5. Command — для управления различными действиями с автомобилями (например, отправка на сервис, замена деталей).
Дополнительные требования:
• Реализуйте возможность добавления отчета о пробеге и техническом обслуживании с помощью Decorator.
• Используйте Template Method для стандартизированных операций, таких как техосмотр и плановое обслуживание.
Задание 5. В4: Разработка системы для управления задачами
Описание: Разработайте систему управления задачами для личного или командного использования.
Реализовать:
Класс Task с методами для установки и получения статуса, приоритета и срока выполнения.
Класс TaskList, который управляет коллекцией задач и позволяет добавлять, удалять и изменять задачи.
Класс Project, который содержит список задач и методы для управления ими.
Реализуйте метод для сортировки задач по срокам выполнения или приоритету.
Класс User, который может быть привязан к задачам и проектам.
Метод для создания отчетов о задачах, выполненных за определенный период.
Реализуйте класс TaskManager, который управляет задачами для нескольких пользователей.
Метод для поиска задач по ключевым словам или проектам.
Класс Milestone, который наследует Task и добавляет дополнительные функции для достижения целей.
Интерфейс для управления задачами и проектами через командную строку или GUI.