Варианты первой задачи для второго курса
Общие требования к выполнению задач в осеннем семестре.
- Реализация должна включать несколько файлов: заголовочный файл с
объявлением класса, файлы с реализацией методов, файлы для тестирования,
makefile.
- Класс должен содержать: конструктор по умолчанию, конструктор копирования,
деструктор, и методы, необходимые для содержательной работы с объектами класса.
- Все методы и структуры данных, объявленные в классе, должны быть снабжены
комментариями, поясняющими их содержательный смысл. В частности, для
общедоступных методов должен быть описан смысл выполняемой операции, её
аргументов и выходных данных.
- Должны быть реализованы тесты, которые вызывают методы класса в различных
комбинациях как с корректными, так и некорректными значениями аргументов. Вызов
общедоступных методов не должен приводить к ошибкам или некорректному состоянию
объекта. Корректность выполнения тестов должна выполняться автоматически.
Варианты заданий, которые необходимо сдать до конца сентября.
- Класс вектор в пространстве произвольной размерности. Методы должны
реализовывать основные операции аналитической геометрии. Размерность вектора
задается при создании объекта.
- Класс динамический массив вещественных чисел. Вставка, добавление, удаление
элементов и доступ по индексу (за время O(1)).
- Класс кольцевая очередь целых чисел. Добавление и извлечение
элементов, объединение двух очередей (размер новой очереди является суммой
размеров частей). Размер очереди задается при создании объекта.
- Классы точка и треугольник. Методы преобразования плоскости (поворот,
гомотетия, афинное и т.п.)
- Класс полином от одной переменной над R. Операции сложения и умножения.