Программирование линейных вычислительных процессов
Скачать 0.87 Mb.
|
Тема «Программирование на С++ с использованием классов. Перегрузка операторов» Цель работы: Знакомство с объектно-ориентированным программированием в С++. Изучение общих понятий о классах - поля класса, методы класса (конструктор, деструктор и другие методы). Изучение возможности перегрузки операторов в С++. Задание. Согласно варианту (табл.4.1) задания написать программу на языке С++. 36 Таблица 4.1. Варианты исходных данных для лабораторной работы №15 Вариант 1 Класс Члены класса Методы Операторы перегрузки Комплексн ое число в алгебраическ ой форме a=x y⋅i Действи тельная x и мнимая y части числа Конструктор, деструктор, метод вычисления модуля комплексного числа и n a , метод вывода комплексного числа Сложение (+), вычитание (-), умножение (*), деление (/) комплексных чисел, увеличение на 1 (++) действительной, мнимой части Исходные данные Результаты a, b, c, d – комплексные числа a b⋅d. Найти модуль числа R. R= 3 a−b c Увеличить на 1 действительную и мнимую часть R Вариант 2 Класс Члены класса Методы Операторы перегрузки Обыкновенн ая дробь Числитель и знаменате ль Конструктор, деструктор, метод сокращение дроби, метод вывода дроби Сложение (+), вычитание (-), умножение (*), деление (/) дробей Исходные данные Результаты Даны дроби a b, c d, e f, g h, k l a b c d ⋅ g h− k l На экран вывести Z= e f несокращенную и сокращенную дробь Z Вариант 3 Класс Члены класса Методы Операторы перегрузки Вектор 3 прямоугольн ые декартовые Конструктор, деструктор, метод вывода вектора, метод вычисления Сложение (+), скалярное (%) и векторное (*) произведения векторов координаты длины вектора Исходные данные Результаты a={a x ,a y ,a z } b={b x ,b y ,b z } c={c x ,c y ,c z } r=(a+b) ⋅ c; t=(a+c)с Найти длины исходных и результирующего векторов 37 Продолжение табл. 4.1. Вариант 4 Класс Члены класса Методы Операторы перегрузки Матрица Размерность матрицы, элементы матрицы Конструктор, деструктор, метод вывода матрицы, метод вычисления определителя матрицы Сложение (+), вычитание (-), умножение (*) 2-х матриц, умножение матрицы на число (*=) Исходные данные Результаты A= 5 1 7 0 1 2 −10 −2 1 В= 2 4 1 7 2 1 3 1 0 С=2(A–B)(A 2 + B) Найти |C| Вариант 5 Класс Члены класса Методы Операторы перегрузки Прямая Координаты двух точек (x1,y1) и (x2,y2) Конструктор, деструктор, метод вывода уравнения прямой Проверка параллельности 2 х прямых ( ), определение угла между 2-мя прямыми (%) Исходные данные Результаты Прямая АВ: A(xa,ya), B(xb,yb) Прямая CD: C(xc,yc), D(xd,yd) Вывести уравнения прямых линий. Если прямые не параллельны, то найти и вывести угол между ними Вариант 6 Класс Члены класса Методы Операторы перегрузки Комплексн ое число в алгебраическ ой форме a=x y⋅i Действитель на я x и мнимая y части числа Конструктор, деструктор, метод вычисления модуля комплексного числа, p n , метод вывода комплексного числа Сложение (+), вычитание (-), умножение (*), деление (/)комплексных чисел Исходные данные Результаты a1, a2, a3 – комплексные числа x= a2 4 a1−a2 a3⋅a1. Найти модуль числа X. 38 Продолжение табл. 4.1 Вариант 7 Класс Члены класса Методы Операторы перегрузки Обыкновенн ая дробь Числитель и знаменате ль Конструктор, деструктор, определение обратной дроби, метод вывода дроби Сложение (+), вычитание (-), умножение (*) дробей Исходные данные Результаты a1 b1, a2 b2, a3 b3 R= a1 b1 a2 b2 ⋅ a1 b1− a3 b3 На экран вывести R и 1 R Вариант 8 Класс Члены класса Методы Операторы перегрузки Вектор 3 прямоугольные декартовые координаты Конструктор, деструктор, методы определения направляющих косинусов вектора, метод вывода всех характеристик вектора Сложение (+), скалярное (%) и векторное (*) произведения векторов Исходные данные Результаты a={a x ,a y ,a z } b={b x ,b y ,b z } c=(a+b) ⋅ b f=ac Вариант 9 Класс Члены класса Методы Операторы перегрузки Матрица Размернос ть матрицы, элементы матрицы Конструктор, деструктор, метод вывода матрицы, проверка, является ли матрица единичной Сложение (+), вычитание (-), умножение (*) 2-х матриц, умножение матрицы на число (*=) Исходные данные Результаты 1 2 2 = A 0 3 1 1 0 0 0 0 1 = В - 0,25 0,5 0,25 0,75 - 0,5 - 0,75 D= 3AB A−B A Проверить, является ли матрица А обратной матрице В. 39 Продолжение табл. 4.1 Вариант 10 Класс Члены класса Методы Операторы перегрузки Прямая (y=ax+b) a,b - коэффициен ты уравнения прямой Конструктор, деструктор, метод вывода уравнения прямой, определение точек пересечения с осями Проверка перпендикулярности (!=) 2 х прямых, определение угла между 2-мя прямыми (%) Исходные данные Результаты Прямая АВ: y1=a1 ⋅ x+b1 Прямая CD: y2=a2 ⋅ x+b2 Вывести точки пересечения прямых с осями. Проверить их перпендикулярность. Найти и вывести угол между ними Вариант 11 Класс Члены класса Методы Операторы перегрузки Парабола y=ax 2 bx c Коэффи циенты a, b, c Конструктор, деструктор, методы вывода уравнения параболы, вычисления экстремума функции (min или max) Проверка совпадения двух парабол (| |), проверка пересечения двух парабол (/) Исходные данные Результаты y1=ax 2 bx c y2=dx 2 ex f Для каждой параболы вывести уравнение, значение экстремума функции с пояснением – min или max. Проверить, совпадают ли эти параболы или они пересекаются. Вариант 12 Класс Члены класса Методы Операторы перегрузки Комплексное число в тригонометрическо й форме a=ρ⋅ cos i⋅sin Модуль ρ и аргуме нт ϕ числа Конструктор, деструктор, p n , метод вывода комплексного числа в тригонометрической и алгебраической формах Сложение (+), вычитание (-), умножение (*), деление (/) комплексных чисел Исходные данные Результаты a, b, c, d – комплексные числа R=b 3 a b c−a⋅d 40 Продолжение табл. 4.1 Вариант 13 Класс Члены класса Методы Операторы перегрузки Матрица Размернос ть матрицы, элементы матрицы Конструктор, деструктор, метод вывода матрицы, проверка, является ли матрица диагональной, нулевой, единичной Сложение (+), вычитание (-), умножение (*) 2-х матриц, умножение матрицы на число (*=) Исходные данные Результаты 1 2 2 = A 0 3 1 1 0 0 0 0 1 = В 0 0 1 0 0 - 1 D= 3BA B−A Проверить, является ли матрица D единичной, диагональной, нулевой Вариант 14 Класс Члены класса Методы Операторы перегрузки Обыкновенн ая дробь Числитель и знаменатель Конструктор, деструктор, метод вывода дроби в виде обыкновенной и десятичной дроби (округление до 5 разрядов) Сложение (+), вычитание (-), умножение (*), деление (/) дробей, сравнение дробей > и < Исходные данные Результаты a1 b1, a2 b2, a3 b3, a4 b4 d1= a1 b1 a2 b2 ⋅ a3 b3− a1 b1 a4 b4 a2 b2 d2= a1 b1− a3 b3 Сравнить дроби d1 и d2 41 Продолжение табл. 4.1 Вариант 15 Класс Члены класса Методы Операторы перегрузки Вектор 3 прямоугольные декартовые координаты Конструктор, деструктор, метод вывода вектора Сложение (+), скалярное (%) и векторное (*) произведения векторов, вычисления угла (/ ) между двумя векторами Исходные данные Результаты a={a x ,a y ,a z } b={b x ,b y ,b z } c=(a+b) ⋅ a; d=ab Найти и вывести угол между векторами a и b, b и c, a и c Вариант 16 Класс Члены класса Методы Операторы перегрузки Время Часы, минуты, секунды Конструктор, деструктор, метод вывода времени и составляющей суток (до 6 –ночь, до 12 – утро, до 18 – день, до 24- вечер) Сложение (+), вычитание (-), сравнение времени < и > Исходные данные Результаты t1, t2 ,t3, t4 -время T1 = t1+ t3 T2 = t4 – t2 Сравнить Т1 и Т2 Вариант 17 Класс Члены класса Методы Операторы перегрузки Комплексн ое число в показательно й форме i = ⋅ ϕ ρ a e ⋅ Модуль ρ и аргумент ϕ числа Конструктор, деструктор, вывод комплексного числа в алгебраической, тригонометрическ ой и экспоненциальной формах Сложение (+), вычитание (-), умножение (*), деление (/) комплексных чисел Исходные данные Результаты a1, a2, a3, a4 – комплексные числа W = a2 a1 a3⋅a4 42 Продолжение табл. 4.1 Вариант 18 Класс Члены класса Методы Операторы перегрузки Вектор 3 прямоуголь ные декартовые координаты Конструктор, деструктор, метод вывода вектора Сложение (+), скалярное ( ) и векторное (*) произведения векторов, проверка коллинеарности ( | | )2-х векторов Исходные данные Результаты a={a x ,a y ,a z } b={b x ,b y ,b z } c=(a+a) ⋅b d=ab Проверить на коллинеарность векторы a и b Вариант 19 Класс Члены класса Методы Операторы перегрузки Обык но венная дробь Числитель и знаменатель Конструктор, деструктор, возведение дроби в степень, метод вывода дроби Сложение (+), вычитание (-), умножение (*), деление (/) дробей, сравнение дробей > и < Исходные данные Результаты x1 y1, x2 y2, x3 y3 z1= x3 y3− x1 y1 ⋅ x3 y3z2= x1 y1 x2 y2 x1 y1 3 Сравнить дроби z1 и z2 Вариант 20 Класс Члены класса Методы Операторы перегрузки Матрица Размерность матрицы, элементы матрицы Конструктор, деструктор, метод вывода матрицы, проверка, является ли матрица симметричной (А Т =А) Сложение (+), вычитание (-), умножение (*) 2-х матриц, умножение матрицы на число (*=) Исходные данные Результаты A= 2 3 4 0 1 2 1 -2 0 В= 2 0 -2 1 -1 1 1 1 0 X = 2A A B -3AB Проверить, является ли матрица Х симметричной 43 Продолжение табл. 4.1 Вариант 21 Класс Члены класса Методы Операторы перегрузки Комплексное число в тригонометрическ ой форме a=ρ⋅cos i⋅sin Модуль ρ и аргумент ϕ Конструктор, деструктор, n p , метод вывода комплексного числа Сложение (+), вычитание (-), умножение (*), деление (/) комплексных чисел Исходные данные Результаты a, b, c, d – комплексные числа R=b a− b c⋅ 5 d Вариант 22 Класс Члены класса Методы Операторы перегрузки Обыкно венная дробь Числитель и знаменатель Конструктор, деструктор, определение обратной дроби, возведение дроби в степень, метод вывода дроби Сложение (+), вычитание (-), умножение (*), деление (/) дробей Исходные данные Результаты a1 b1, a2 b2, a3 b3 d1= a3 b3 a1 b1 ⋅ b3 a3 3 d2= a2 b2− b2 a2 a2 b2 Вариант 23 Класс Члены класса Методы Операторы перегрузки Комплексн ое число в алгебраическ ой форме a=x y⋅i Действитель на я x и мнимая y части числа Конструктор, деструктор, метод вывода комплексного числа Сложение (+), вычитание (-), умножение (*), деление (/) комплексных чисел, проверка сопряженности (!=) чисел 4 Исходные данные Результаты a, b, c, d – комплексные числа aR2=d⋅a c R1=a−b c a Проверить сопряженность чисел R1 и R2 4 Взаимно сопряженными (a и a ) называются комплексные числа, если их действительные части равны, а мнимые отличаются только знаком a=x+i·y , a=x−i⋅y 44 Продолжение табл. 4.1 Вариант 24 Класс Члены класса Методы Операторы перегрузки Прямая Координаты двух точек (x1,y1) и (x2,y2) Конструктор, деструктор, определение точек пересечения с осями X и Y, метод вывода сведений о прямой Проверка параллельности (| |) и перпендикулярности (!=) 2-х прямых Исходные данные Результаты Прямая 1: A(xa,ya), B(xb,yb) Прямая 2: C(xc,yc),D(xd,yd) Проверить параллельность и перпендикулярность прямых. Найти точки пересечения с осями (если они есть) Вариант 25 Класс Члены класса Методы Операторы перегрузки Вектор 3 прямоугольны е декартовые координаты Конструктор, деструктор, метод вывода вектора, метод вычисления длины вектора Сложение (+), умножение вектора на число (*=), скалярное ( ) и векторное (*) произведения векторов Исходные данные Результаты a={a x ,a y ,a z } b={b x ,b y ,b z } c={c x ,c y ,c z } r=2· (a+b) ⋅ c d=(a+c)· r Найти длины исходных и результирующих векторов Вариант 26 Класс Члены класса Методы Операторы перегрузки Матрица Размерность матрицы, элементы матрицы Конструктор, деструктор, метод вывода матрицы, проверка, является ли матрица верхнетреугольной, нижнетреугольной Сложение (+), вычитание (-), умножение (*) 2-х матриц, умножение матрицы на число (*=) Исходные данные Результаты A= 1 2 3 0 0 1 0 -1 2 В= 1 0 0 3 1 0 2 3 0 C=3A B 2B- A Проверить, являются ли исходные и результирующая матрицы верхнетреугольными или нижнетреугольными 45 Лабораторная работа №12. |