Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет.ук. к л.р.1.doc
Скачиваний:
12
Добавлен:
01.05.2019
Размер:
442.88 Кб
Скачать

1.5 Задание 2

Разработать консольную программу на языке С++, в которой описывается и используется класс. Требования к оформлению класса те же, что и для первого задания. Для объектов класса выполнить перегрузку операций, указанных в задании.

  1. Класс «Время» должен включать поля данных: часы, минуты, секунды; методы: вывод времени и часть суток (до 6:00 – ночь, до 12:00 – утро, до 18:00 – день, до 23:59:59 – вечер) и перегруженные операции: сложение (+), вычитание (-), сравнение (< , >) времени.

  2. Класс «Матрица» должен включать поля данных: количество строк, количество столбцов, элементы матрицы; методы: вывод матрицы и проверка: является ли матрица диагональной, нулевой и перегруженные операции: сложение, вычитание, деление, умножение матриц, умножение матрицы на число.

  3. Класс «Комплексное число в алгебраической форме z=x+y*i» должен включать поля данных: действительная (x) и мнимая (y) часть числа; методы: вычисление модуля комплексного числа, возведение комплексного числа в степень, вывод комплексного числа и перегруженные операции: сложение, вычитание, деление, умножение комплексных чисел.

  4. Класс «Дата» должен включать поля данных: день, месяц, год; методы: вывод даты и времени года и перегруженные операции: вычитание двух дат (-), сравнение двух дат (< , >).

  5. Класс «Прямая» должен включать поля данных: коэффициенты прямой y = ax +b; методы: вывод уравнения прямой на экран, определение точек пересечения с осями и перегруженные операции: проверка перпендикулярности прямых (!=), определение угла между двумя прямыми (%).

  6. Класс «Вектор» должен включать поля данных: координаты вектора; методы: вывод вектора и перегруженные операции: сложение (+), скалярное (%) и векторное (*) произведение векторов, вычисление угла между векторами.

  7. Класс «Дата» должен включать поля данных: день, месяц, год; методы: вывод даты и времени года и перегруженные операции: добавление (+) к дате целого числа (количества дней), сравнение двух дат (< , >).

  8. Класс «Матрица» должен включать поля данных: количество строк, количество столбцов, элементы матрицы; методы: вывод матрицы и проверка: является ли матрица симметричной (АТ = А) и перегруженные операции: сложение, вычитание, деление, умножение матриц, умножение матрицы на число.

  9. Класс «Комплексное число в алгебраической форме z=x+y*i» должен включать поля данных: действительная (x) и мнимая (y) часть числа; методы: вычисление корня комплексного числа, вывод комплексного числа и перегруженные операции: сложение, вычитание, деление, умножение комплексных чисел.

  10. Класс «Прямая» должен включать поля данных: координаты двух точек (x1, y1) и (x2, y2); методы: вывод уравнения прямой вида y = ax + b и перегруженные операции: проверка параллельности прямых (||), определение угла между двумя прямыми (%).

  11. Класс «Вектор» должен включать поля данных: координаты вектора; методы: вывод вектора, вычисление длины вектора и перегруженные операции: сложение (+), скалярное (%) и векторное (*) произведение векторов.

  12. Класс «Матрица» должен включать поля данных: количество строк, количество столбцов, элементы матрицы; методы: вывод матрицы и проверка: является ли матрица верхнее треугольной, нижнее треугольной и перегруженные операции: сложение, вычитание, деление, умножение матриц, умножение матрицы на число.