
3 семестр / 7. Классы
.docxОрдена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования "Московский технический университет связи и информатики"
Кафедра Телевидения и Звукового Вещания имени С. И. Катаева.
Методическое указание
по проведению
Лабораторной работы № 7
по дисциплине
«Введение в информационные технологии и программирование»
На тему:
Классы
Москва 2023
Содержание
Теоретическая часть 2
Дополнительные источники 2
Допуск к лабораторной работе 3
Цель проведения работы 3
Формирование цели и задач для выполнения работы 3
Подготовка к выполнению лабораторной работе 3
Варианты заданий 3
Выполнение лабораторной работы 4
Необходимые применяемые элементы 4
Ожидаемые результаты выполнения работы 4
Подготовка к защите результатов выполнения 5
Требования к отчету по выполненной лабораторной работе 5
Вопросы для самоподготовки 5
Система оценивания 6
Теоретическая часть
Класс – элементарная структурная единица в программировании, используемая для реализации принципов концепции объектно-ориентированного программирования (ООП). Класс представляет собой «оболочку» для группы функций и переменных, которые можно отнести к одному «объекту». Сам класс представляет собой проект «объекта». При присвоении переменной класса, переменная становится объектом.
Переменные, объявленные внутри класса, являются «атрибутами». В языке Python все атрибуты объявляются внутри конструктора с указание ссылки на будущий объект своего класса при помощи экземпляра класса «self» или «other».
Функции, объявленные внутри класса, являются «методами».
Внутри класса обязательно должен существовать метод создания объекта. Такой метод называется «конструктор».
Концепция объектно-ориентированного программирования определяет следующие свойства класса:
Наследование – свойство, позволяющее на основе одного класса создавать новый более подробный. К примеру, если на основе старого чертежа машины сделали новый чертеж. При наследовании все атрибуты и методы родительского класса переходят к дочернему. Если нужно изменить атрибут или метод при создании дочернего класса, то он указывается в новом методе уже с новым нужным содержанием. Такое действие называется «перегрузка». Также можно использовать методы из объекта от родительского класса в виде экземпляра класса «super()»
Абстракция – создание класса, который не будет использоваться для создания объектов. Он используется только для наследования. Он в себе содержит абстрактные методы. Абстрактный метод определяется при помощи декоратора «@abstractmethod». Декоратор относится к концепции функционального программирования. Декоратор — это функция, в которую будет передана функция в виде аргумента, к которой применяется декоратор.
Полиморфизм – возможность в разных классах создавать методы с одинаковыми именами и параметрами. Это позволяет написать один универсальный обработчик для работы с объектами, созданными из разных классов.
Инкапсуляция – обобщенно. это способность класса обособлять группу данных и методов от других данных, используемых в программе. Это позволяет делать несколько уровней обособления с созданием класса внутри класса и пользовательским определением уровня доступа к методу или атрибуту объекта из вне.
Дополнительные источники
https://ru.wikipedia.org/wiki/Объектно-ориентированное_программирование
Допуск к лабораторной работе
Цель проведения работы
Программа, при написании которой, вырабатываются навыки применения классов в языках программирования.
Формирование цели и задач для выполнения работы
Цель и задачи должны быть сформулированы исходя из задания, определенного вариантом.
Подготовка к выполнению лабораторной работе
1. Изучить теоретический материал.
2. Определить цель работы.
3. Спланировать задачи и их результаты для выполнения лабораторной работы.
4. Рассчитать входные данные.
5. Подготовить и заполнить отчет до этапа выполнения лабораторной работы.
Варианты заданий
Для расчета варианта задания требуется:
Номер бригады. Если номер бригады четный, то I = 0, нечетный I = 1
Последняя цифра номера группы. Если цифра четная, то J = 1, нечетная J = 0
Последняя цифра номера студенческого билета. Если цифра после деления на 3 без остатка четная, то K = 1 иначе K = 0
Исходя из результатов выбирается соответствующее значение в таблице:
i |
j |
k |
Значение |
0 |
0 |
0 |
Квадрат |
0 |
0 |
1 |
Семиугольник |
0 |
1 |
0 |
Шестиугольник |
0 |
1 |
1 |
Звезда |
1 |
0 |
0 |
Треугольник |
1 |
0 |
1 |
Ромб |
1 |
1 |
0 |
Пятиугольник |
1 |
1 |
1 |
Круг |
Выполнение лабораторной работы
Необходимые применяемые элементы
Классы
Объекты
Атрибуты
Методы
Абстрактные методы
Экземпляры классов
Декораторы
Перегрузка
Ожидаемые результаты выполнения работы
Программа, в которой есть переменные –
1. Строковое значение название фигуры
2. Количество вершин в фигуре
3. Значение периметра (длинны дуги) если сторона (радиус) = 0,32
4. Логическое значение четности вершин
Абстрактный класс с атрибутами - название, периметр, площадь, симметричность, текст описания фигуры. Конструктор должен принимать в себя только количество вершин. Остальные параметры он должен вычислять и передавать в атрибуты. Добавить метод создания объекта для выбранного дочернего класса. Сделать декоратор, который в случае неоднозначного выбора уточнит у пользователя какую фигуру он хотел создать. Проверку на существования класса для выбранной фигуры и текстовое сообщение если такая фигура не предусмотрена.
Класс, который будет создан из абстрактного класса для конкретной фигуры, выбранной по варианту. Сделать два атрибута локальными, еще два только для чтения. Для реализации использовать экземпляры класса и перегрузку. Создать объект из классов и вывести все этапы на экран. Для работы реализовать ввод через функцию input через бесконечный цикл с возможность по определенному слову завершить работу программы.
Действие вызова метода создания.
По полученным результатам сделать выводы.
Все выводы полученные в ходе работы отразить в отчете.
Подготовка к защите результатов выполнения
Требования к отчету по выполненной лабораторной работе
Отчет должен содержать следующую структуру:
Титульный лист
Содержание
Постановка задания
Задание
Цель работы
Планирование задач
Расчет исходных данных
Ход работы
Решение задач (на каждую задачу)
Результат
Выводы
Решение задания на защиту
Вопросы для самоподготовки
Какие элементы содержит в себе класс?
Что такое атрибут?
Что такое метод?
Что такое конструктор?
Что такое декоратор?
Что такое перегрузка?
Какие свойства определены классу?
Что такое объект и как его создать?
Что такое абстракция?
Что такое полиморфизм?
Что такое наследование?
Что такое инкапсуляция?
Система оценивания
Работа оценивается исходя из нескольких критериев
1. Пунктуальность
Отлично (5) – Работа сдана ранее последнего дня, определенного срока сдачи.
Хорошо (4) – Работа сдана в последний день, определенного срока сдачи.
Удовлетворительно (3) – Работа сдана после указанного срока.
Не удовлетворительно (2) – Работа не сдана.
2. Аккуратность
Отлично (5) – Отчет выполнен в соответствии с требованиями.
Хорошо (4) – Отчет принят после исправления одного замечания.
Удовлетворительно (3) - Отчет принят после исправления трех замечаний.
Не удовлетворительно (2) – Замечания не исправлены.
3. Исполнительность
Отлично (5) – работа строго соответствует требованиям задания.
Хорошо (4) – в работе используются лишние функции.
Удовлетворительно (3) – в работе задачи решены без части обязательных элементов.
Не удовлетворительно (2) – программа не работает.
4. Сознательность
Отлично (5) – Цель соответствует задачам, задачи – выводам, при защите готов ко всем вопросам.
Хорошо (4) - Цель соответствует задачам, при защите готов ко всем вопросам.
Удовлетворительно (3) - при защите готов ко всем вопросам.
Не удовлетворительно (2) – не готов к вопросам по защите.
Оценка за работу рассчитывается по формуле
N – получаемая оценка
n1 – n4 – оценки по категориям