В.В. Лаптев Объектно-ориентированное программирование
Лабораторная работа 1. Тема: Структура-пара
Цель: Входной контроль знаний студентов, знакомство с основными понятиями объектно-ориентированного подхода к программированию.
Количество часов: 2
Теоретические сведения, необходимые для выполнения работы
Литература |
|
|
Глава 1 (стр. 16-41) |
|
Глава 1 (стр. 11-18) |
Порядок выполнения работы
Ознакомиться с теоретическим материалом.
Ответить на контрольные вопросы (см. [1], стр. 42).
Получить у преподавателя вариант задания.
Реализовать задание своего варианта в соответствии с поставленными требованиями.
Подготовить тестовые наборы данных
Отчитаться по выполненной работе путём демонстрации работающей программы на тестовых наборах данных (как подготовленных самостоятельно, так и предложенных преподавателем) и ответов на вопросы преподавателя (как из числа контрольных, так и по реализации программы).
Привести в порядок рабочее место.
Требования к программе:
Структурой-парой называется структура с двумя полями, которые обычно имеют имена first и second. Требуется реализовать новый тип данных с помощью такой структуры. Во всех заданиях обязательно должны присутствовать:
метод, указанный в варианте задания;
метод инициализации полей Init; метод должен контролировать корректность аргументов;
ввод с клавиатуры Read; для контроля корректности вводимых данных вызывать метод Init;
вывод на экран Display.
Метод Init и метод по варианту задания реализовать внутри структуры; методы Read и Display – вне структуры.
Реализовать внешнюю функцию с именем make_тип(), где тип – тип реализуемой структуры. Функция должна получать в качестве аргументов значения для полей структуры и возвращать структуру требуемого типа. Для контроля корректности параметров вызывать метод Init. При передаче ошибочных параметров следует выводить сообщение и заканчивать работу (с помощью механизма исключений).
Для демонстрации работы с объектами нового типа во всех заданиях требуется написать главную функцию. В программе обязательно должны быть продемонстрированы различные способы создания объектов и массивов объектов (локальный, динамический, массив объектов, динамический массив объектов). Программа должна демонстрировать использование всех функций и методов. Программа должна выводить на экран размер класса в режиме #pragma pack(1) и без него.
При трансляции программы не должно выводиться никаких предупреждений (warning).
При запуске программы должны отображаться сведения о разработчике и условия задачи.
Критерии оценивания работы:
В таблице приведены критерии, по которым студент может оценить свою работу.
Критерии |
Процент |
Объявлена структура с полями first и second |
5 |
Реализованы метод Display в соответствии с требованиями |
5 |
Реализованы метод Read в соответствии с требованиями |
10 |
Реализованы метод Init в соответствии с требованиями |
10 |
Реализован метод варианта в соответствии с требованиями |
10 |
Реализована функция make_тип() в соответствии с требованиями |
10 |
Подготовлен полный набор тестовых данных для проверки работы программы |
15 |
В главной функции созданы все виды объектов, перечисленные в требованиях |
15 |
В главной функции продемонстрирована работа всех функций и методов |
15 |
Продемонстрированы размеры объектов в режиме #pragma pack(1) и без него |
5 |
Наличие предупреждений при трансляции, или отсутствие сведений о разработчике, или условий задания снижает итоговую оценку на 20% |
|
Итого |
100 % |
Вопрос для размышления: Каков процент выполнения программы для варианта 0?