Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КР1 / Контрольная работа 1.docx
Скачиваний:
0
Добавлен:
30.08.2024
Размер:
86.6 Кб
Скачать

Указания к выполнению и оформлению контрольных работ

Общие требования к работам:

  1. Работы выполняются индивидуально, номер варианта соответствует последней цифре логина в ОРИОКС.

  2. При выполнении работы помимо задания должны быть учтены требования и комментарии к работе.

  3. Выполненная работа демонстрируется преподавателю. В процессе демонстрации студент должен понимать и уметь объяснить все этапы работы, а также использовать «правильную» терминологию.

  4. В разделе «Оформление» к каждой работе указано содержание отчѐта по работе.

  5. На зачёте студент должен запрограммировать мини-задание и ответить на контрольные и дополнительные вопросы.

  6. Требования к оформлению отчетов:

  7. Отчёт оформляется на листах формата А4 шрифтом Times 14 (13) одиночным интервалом.

  8. Каждая задача начинается с нового листа.

  9. Рукописные тексты и рисунки в отчётах не допускаются.

  10. Скриншоты экранов не допускаются.

  11. Диаграммы только в печатном виде с помощью фигур MS Word или Visio.

  12. Формулы и уравнения выполняются с помощью MS Office Equation Editor.

Требования к оформлению листингов программ:

  1. Листинги программ оформляются шрифтом Courier 11 одиночным интервалом.

  2. Перед каждой разработанной функцией должен быть комментарий, рассказывающий, что эта функция делает, что возвращает и какие аргументы принимает.

  3. В теле функции должны быть поясняющие комментарии, если части алгоритма не являются очевидными.

Контрольная работа 1

Цель:

Ознакомление с концепциями инкапсуляции и модульности. Изучение приемов работы с классами, конструкторами и деструкторами, разработка интерфейса методов класса, создание и работа с экземплярами класса.

Освоение принципа «класс-элемент — класс-набор».

Задание:

Дан объект согласно вариантам, который является элементом для набора. Элемент состоит из компонент, которые хранятся в нём. Над элементом определены операции:

  • получение значения компоненты элемента;

  • установка и инициализация значения компоненты элемента;  контроль значения компоненты элемента (на допустимый диапазон);  копирование элемента.

Из элементов строится набор. Элементы в наборе проиндексированы от стартового значения. Размер набора задаётся при создании. Над набором определены операции:

  • установка стартового индекса, получение диапазона индексов;

  • заполнение набора случайными значениями;

  • получение и изменение элемента набора по индексу;  сортировка элементов по возрастанию и по убыванию;  дополнительные операции согласно вариантам.

Необходимо разработать:

  • класс для описания элемента и его свойств;

  • класс для описания набора и его свойств;

  • методы работы с элементом и с набором для перечисленных операций;

  • дефолтный, копирующий, параметрический конструкторы для создания экземпляров набора и экземпляров элемента;

  • интерфейс для редактирования элемента и интерфейс для редактирования набора, отображения и изменения их свойств.

Требования:

Интерфейс и все классы реализуются в одном модуле. Для редактирования элемента разработать функцию ModifyElement(), которая должна получать ссылку на экземпляр элемента и предоставлять интерактивный консольный интерфейс для работы с ним. Для редактирования набора разработать функцию ModifyPalette(), которая должна получать ссылку на экземпляр набора и предоставлять интерактивный консольный интерфейс для работы с ним. Функция Main() запрашивает количество элементов, создаѐт экземпляр набора параметрическим конструктором и вызывает функцию ModifyPalette(), которая использует ModifyElement(). Использовать библиотеку ввода-вывода «iostream».

Комментарии:

Набор хранит элементы как динамический массив, определяя его размер при создании. При копировании набора, копируются все его элементы.

Оформление:

  1. Текст задания

  2. Описание свойств компонент элемента с диаграммой битовых полей

  3. Листинг программы с комментариями

  4. Пример использования

Варианты заданий:

  1. Элемент: цвет в формате CYMK. Дополнительно: сортировка по компонентам и целиком, пересчёт в RGB.

  1. Элемент: положение солнца в координатах a-азимут, z-зенит, h-горизонт. Дополнительно: сортировка по компонентам и целиком, пересчёт в другую систему координат (на выбор).

  1. Элемент: цвет в формате YUV. Дополнительно: сортировка по компонентам и целиком, пересчёт в RGB.

  1. Элемент: положение солнца в экваториальных координатах -склонение, p-полярное расстояние, t-часовой угол. Дополнительно: сортировка по компонентам и целиком, пересчёт в другую систему координат (на выбор).

  1. Элемент: цвет в формате AHSL. Дополнительно: сортировка по компонентам и целиком, пересчёт в RGB.

  1. Элемент: цвет в формате RYB. Дополнительно: сортировка по компонентам и целиком, пересчёт в RGB.

  1. Элемент: декартовы координаты в пространстве (x, y, z)-координаты. Дополнительно: сортировка по компонентам и целиком, пересчёт в цилиндрическую систему координат.

  1. Элемент: цвет в формате YIQ. Дополнительно: сортировка по компонентам и целиком, пересчёт в RGB.

  1. Элемент: время в формате h-часы, m-минуты, s-секунды. Дополнительно: сортировка по компонентам и целиком, пересчёт в 12-ти часовой формат времени (a.m. и p.m.).

  1. Элемент: цвет в формате HSV. Дополнительно: сортировка по компонентам и целиком, пересчёт в RGB.

Используйте ru.wikipedia.org для получения информации о форматах.

Соседние файлы в папке КР1