Для студентов по предмету Объектно-ориентированное программирование (ООП)Шаблоны классовШаблоны классов
2025-06-262025-06-26СтудИзба
Лабораторная работа: Шаблоны классов
Описание
1 Формулировка задачи
Реализуйте шаблонный класс Polynomial (Многочлен от одной переменной) на основе контейнера std::vector. Тип коэффициентов многочлена передавайте в качестве параметра шаблона. Хранение коэффициентов должно быть плотным (то есть должны храниться все коэффициенты, в том числе и промежуточные нулевые). В этом классе:
1) Опишите конструктор, создающий многочлен по заданному вектору коэффициентов (коэффициенты задаются от младшего к старшим).
2) Перегрузите операторы == и !=.
3) Перегрузите операторы +, - и *, а также соответствующие операторы +=, -= и *=. Учтите, что должны быть определены и такие арифметические операции, в которых один из аргументов является скаляром.
4) Перегрузите оператор [] для получения коэффициента многочлена перед заданной степенью переменной. Оператор должен работать для любых степеней (в том числе больших текущей максимальной).
Создайте также функцию Degree для вычисления степени многочлена (считайте, что у нулевого многочлена степень равна -1).
5) Перегрузите оператор () для вычисления значения многочлена в точке.
6) Перегрузите оператор << для вывода многочлена. При этом следует учитывать знаки коэффициентов, совпадение коэффициентов с 1 или -1, степень монома и т. д. Выводиться должны только ненулевые коэффициенты многочлена, начиная со старшей степени. Пример формата вывода: -x^3+4x^2+x^1-1x^0.
7) Перегрузите операторы / и % для вычисления неполного частного и остатка от деления многочленов (считайте, что в этом случае деление коэффициентов допустимо).
2 Техническое задание
2.1 Требования к программе
Программа должна обеспечивать:
2.2 Порядок контроля и приёмки
Для контроля правильности работы программы должен быть разработан тестовый набор данных, состоящий из многочлена, скалярного аргумента и аргумента – многочлена. Данные необходимо ввести и произвести с ними все предусмотренные операции. Если выведенные данные совпадут с рассчитанными вручную, то это будет означать, что программа удовлетворяет требованиям технического задания.
Реализуйте шаблонный класс Polynomial (Многочлен от одной переменной) на основе контейнера std::vector. Тип коэффициентов многочлена передавайте в качестве параметра шаблона. Хранение коэффициентов должно быть плотным (то есть должны храниться все коэффициенты, в том числе и промежуточные нулевые). В этом классе:
1) Опишите конструктор, создающий многочлен по заданному вектору коэффициентов (коэффициенты задаются от младшего к старшим).
2) Перегрузите операторы == и !=.
3) Перегрузите операторы +, - и *, а также соответствующие операторы +=, -= и *=. Учтите, что должны быть определены и такие арифметические операции, в которых один из аргументов является скаляром.
4) Перегрузите оператор [] для получения коэффициента многочлена перед заданной степенью переменной. Оператор должен работать для любых степеней (в том числе больших текущей максимальной).
Создайте также функцию Degree для вычисления степени многочлена (считайте, что у нулевого многочлена степень равна -1).
5) Перегрузите оператор () для вычисления значения многочлена в точке.
6) Перегрузите оператор << для вывода многочлена. При этом следует учитывать знаки коэффициентов, совпадение коэффициентов с 1 или -1, степень монома и т. д. Выводиться должны только ненулевые коэффициенты многочлена, начиная со старшей степени. Пример формата вывода: -x^3+4x^2+x^1-1x^0.
7) Перегрузите операторы / и % для вычисления неполного частного и остатка от деления многочленов (считайте, что в этом случае деление коэффициентов допустимо).
2 Техническое задание
2.1 Требования к программе
Программа должна обеспечивать:
- задание коэффициентов многочлена от одной переменной;
- выполнение следующий операций с многочленом: ==, !=, +, -, *, +=, -=, *=, /, %, [], Degree, ();
- вывод многочлена;
- вывод результата осуществления заданной операции на многочленом;
2.2 Порядок контроля и приёмки
Для контроля правильности работы программы должен быть разработан тестовый набор данных, состоящий из многочлена, скалярного аргумента и аргумента – многочлена. Данные необходимо ввести и произвести с ними все предусмотренные операции. Если выведенные данные совпадут с рассчитанными вручную, то это будет означать, что программа удовлетворяет требованиям технического задания.
Характеристики лабораторной работы
Просмотров
2
Качество
Идеальное компьютерное
Размер
388,32 Kb
Список файлов
otchyot6.docx

Все деньги, вырученные с продажи, идут исключительно на шаурму