Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Объектно-ориентированное программирование (ооп). Основные понятия. Инкапсуляция. Перегрузка операций

 

Разработайте программу на языке С++, используя пользовательский тип данных – классы и перегрузку операций.

Вариант 1. Создайте класс Complex (комплексное число) в алгебраической форме , включающего два поля класса: действительную часть (x) и мнимую часть (y) числа. Реализовать методы вычисления и вывода корня комплексного числа. Перегрузить операции сложения, вычитания, деления и умножения комплексных чисел.

Вариант 2. Создайте класс Fraction (обыкновенная дробь), включающего поля: числитель и знаменатель. Реализовать методы сокращения дроби и вывода дроби. Перегрузить операции сложения, вычитания, деления и умножения дробей.

Вариант 3. Создайте класс Vector (вектор), включающий поля: координаты вектора. Реализовать методы вывода вектора и вычисления длины вектора. Перегрузить операции сложения (+), скалярного (%) и векторного (*) произведения векторов.

Вариант 4. Создайте класс Matrix (матрица), включающего поля: количество строк, количество столбцов, элементы матрицы. Реализовать методы вывода матрицы и вычисления определителя. Перегрузить операции сложения, вычитания, деления, умножения матриц, умножения матрицы на число.

Вариант 5. Создайте класс StraightLine (прямая линия), включающего координаты двух точек и . Реализовать методы вывода уравнения прямой . Перегрузить операции проверки параллельности прямых (||) и определения угла между двумя прямыми (%).

Вариант 6. Создайте класс Complex (комплексное число) в алгебраической форме , включающего два поля класса: действительную часть (x) и мнимую часть (y) числа. Реализовать методы вычисления модуля комплексного числа, возведения комплексного числа в степень и вывода комплексного числа. Перегрузить операции сложения, вычитания, деления и умножения комплексных чисел.

Вариант 7. Создайте класс Fraction (обыкновенная дробь), включающего поля: числитель и знаменатель. Реализовать методы определения обратной дроби и вывода дроби. Перегрузить операции сложения, вычитания и умножения дробей.

Вариант 8. Создайте класс Vector (вектор), включающий поля: координаты вектора. Реализовать методы определения направляющих косинусов вектора и вывода всех характеристик вектора. Перегрузить операции сложения (+), скалярного (%) и векторного (*) произведения векторов.

Вариант 9. Создайте класс Matrix (матрица), включающего поля: количество строк, количество столбцов, элементы матрицы. Реализовать методы вывода матрицы и проверки является ли матрица единичной. Перегрузить операции сложения, вычитания, деления, умножения матриц, умножения матрицы на число.

Вариант 10. Создайте класс StraightLine (прямая линия), включающего коэффициенты прямой . Реализовать методы вывода уравнения прямой на экран и определения точек пересечения с осями. Перегрузить операции проверки перпендикулярности прямых (!=) и определения угла между двумя прямыми (%).

Вариант 11. Создайте класс Complex (комплексное число) в тригонометрической форме . Класс включает поля: модуль и аргумент . Реализовать методы возведения комплексного числа в степень и вывода комплексного числа в алгебраической и тригонометрической формах. Перегрузить операции сложения, вычитания, деления и умножения комплексных чисел.

Вариант 12. Создайте класс Fraction (обыкновенная дробь), включающего поля: числитель и знаменатель. Реализовать методы вывода в виде обыкновенной и десятичной (пять знаков после запятой) дроби. Перегрузить операции сложения, вычитания, деления, умножения дробей и сравнения дробей <, >.

Вариант 13. Создайте класс Fraction (обыкновенная дробь), в котором реализовать перегрузку: оператора суммирования дробей, оператора суммирования дроби и целого числа, оператора умножения, деления, вычитания дробей, а также дроби и целого числа, оператора ~ для сокращения дроби, логических операторов ==, >=, <=.

Вариант 14. Создайте класс Matrix (матрица), включающего поля: количество строк, количество столбцов, элементы матрицы. Реализовать методы вывода матрицы и проверки является ли матрица диагональной, нулевой. Перегрузить операции сложения, вычитания, деления, умножения матриц, умножения матрицы на число.

Вариант 15. Создайте класс Time (время), включающего поля: часы, минуты, секунды. Реализовать методы вывода времени и часть суток (до 6:00 – ночь, до 12:00- утро, до 18:00 – день, до 23:59:59 - вечер). Перегрузить операции сложения (+), вычитания (-), сравнения (<, >) времени.

Вариант 16. Создайте класс Complex (комплексное число) в показательной форме . Класс включает поля: модуль и аргумент . Реализовать методы вывода комплексного числа в алгебраической, тригонометрической и экспоненциальной формах. Перегрузить операции сложения, вычитания, деления и умножения комплексных чисел.

Вариант 17. Создайте класс Vector (вектор), включающий поля: координаты вектора. Реализовать методы вывода вектора и вычисления длины вектора. Перегрузить операции сложения (+), скалярного (%) и векторного (*) произведения векторов, проверки коллинеарности (||) двух векторов.

Вариант 18. Создайте класс Fraction (обыкновенная дробь), включающего поля: числитель и знаменатель. Реализовать методы возведения дроби в степень и вывода дроби. Перегрузить операции сложения, вычитания, умножения, деления, сравнение дробей.

Вариант 19. Создайте класс Matrix (матрица), включающего поля: количество строк, количество столбцов, элементы матрицы. Реализовать методы вывода матрицы и проверки является ли матрица симметричной . Перегрузить операции сложения, вычитания, деления, умножения матриц, умножения матрицы на число.

Вариант 20. Создайте класс Complex (комплексное число) в тригонометрической форме . Класс включает поля: модуль и аргумент . Реализовать методы извлечения корня из числа и вывода числа. Перегрузить операции сложения, вычитания, деления и умножения комплексных чисел.

Вариант 21. Создайте класс Date (дата), включающего поля: дата, месяц, год. Реализовать методы вывода даты и времени года. Перегрузить операции вычитания двух дат (-), сравнения двух дат (<, >).

Вариант 22. Создайте класс Matrix (матрица), включающего поля: количество строк, количество столбцов, элементы матрицы. Реализовать методы вывода матрицы и проверки является ли матрица верхнетреугольной, нижнетруголной. Перегрузить операции сложения, вычитания, деления, умножения матриц, умножения матрицы на число.

Вариант 23. Создайте класс Fraction (обыкновенная дробь), включающего поля: числитель, знаменатель. Реализовать методы сокращения дроби, возведения дроби в степень и вывод дроби. Перегрузить операции сложения, вычитания дробей.

Вариант 24. Создайте класс Complex (комплексное число) в показательной форме . Класс включает поля: модуль и аргумент . Реализовать методы вывода комплексного числа и возведение числа в степень. Перегрузить операции сложения, вычитания, деления и умножения комплексных чисел.

Вариант 25. Создайте класс Date (дата), включающего поля: дата, месяц, год. Реализовать методы вывода даты и времени года. Перегрузить операции добавление (+) к дате целого числа (количества дней), сравнение двух дат (<, >).



<== предыдущая лекция | следующая лекция ==>
If DataModule2.Nakls.Locate(NDate, DateTimePicker.Date, []) then | Создание презентаций в PowerPoint
Поделиться с друзьями:


Дата добавления: 2016-09-03; Мы поможем в написании ваших работ!; просмотров: 612 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Люди избавились бы от половины своих неприятностей, если бы договорились о значении слов. © Рене Декарт
==> читать все изречения...

2505 - | 2304 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.