Лабораторные работы по программированию на языке С++
.pdfАлексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++» |
44 |
налог составляет 13% от зарплаты. Определить количество сотрудников с максимальной зарплатой. Отсортировать файл по полю «Название отдела».
21. Ведомость о закупках чая (табл. 14.7) хранится в двоичном файле. Таблица 14.7. Закупка чая
Тип чая |
Форма |
Производит |
Цена, грн. |
Количество |
Сумма |
|
упаковки |
ель |
|
|
|
|
|
|
|
|
|
Зеленый |
Пачка |
Riston |
5,8 |
50 |
|
|
|
|
|
|
|
Черный |
Пакетики |
Edwin |
4,7 |
23 |
|
|
|
|
|
|
|
Красный |
Пакетики |
Dilmah |
6,9 |
56 |
|
|
|
|
|
|
|
Желтый |
Пакетики |
Edwin |
4,4 |
32 |
|
|
|
|
|
|
|
Черный |
Пачка |
Ahmad |
3,9 |
89 |
|
|
|
|
|
|
|
Желтый |
Жесть |
Dilmah |
20,1 |
23 |
|
|
|
|
|
|
|
Черный |
Фарфор |
Edwin |
25,4 |
76 |
|
... |
... |
... |
... |
... |
... |
|
|
|
|
|
|
Всего: |
|
|
|
|
|
|
|
|
|
|
|
Добавить в файл поле «Сумма» и графу «Всего». Информацию в файле упорядочить в порядке убывания суммы продаж.
22.Ведомость о закупках чая хранится в двоичном файле в виде, представленном в табл. 14.7. Сформировать отдельные файлы о закупках зеленого, черного, желтого и красного чая.
23.Информацию о закупках чая (табл. 14.7), хранящуюся в двоичном файле, вывести на экран, упорядочив в алфавитном порядке названия фирм производителей. Вывести название фирмы с максимальным объемом продаж.
24.Вывести на печать ведомость о закупках чая (табл. 14.7), хранящуюся в двоичном файле. Упорядочить информацию в файле, расположив в алфавитном порядке тип чая, а затем форму упаковки. Определить, в какой упаковке чай продается лучше.
25. Информацию (табл. 14.7), хранящуюся в двоичном файле использовать для создания двоичных файлов, в которых будут храниться данные о закупках чая по каждой фирме-производителю. Информацию в файлах расположить в порядке возрастания количества проданного чая. Вывести на печать информацию из каждого файла, сформировав поле «Сумма» и графу «Всего».
26.Сформировать двоичный файл, записав туда информацию о комплектации компьютеров:
•тип процессора;
•материнская плата
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++» |
45 |
•ОЗУ (Мб);
•объем жесткого диска (Гб);
•видеокарта
•наличие DVD привода (да/нет).
Вывести информацию о компьютерах с объемом жесткого диска более 600 Гб и ОЗУ более 1026 Мб. Удалить из файла все данные о компьютерах, в комплектации которых нет DVD привода.
Лабораторная работа №15.
Тема «Программирование на С++ с использованием классов. Перегрузка операторов»
Цель работы: Знакомство с объектно-ориентированным программированием в С++. Изучение общих понятий о классах - поля класса, методы класса (конструктор, деструктор и другие методы) [1, с. 264-289]. Изучение возможности перегрузки операторов в С++ [1, с. 294-303].
Задание. Согласно варианту (табл.15.1) задания написать программу на языке С++.
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++» |
46 |
Таблица 15.1. Варианты исходных данных для лабораторной работы №15
|
|
|
|
|
|
|
|
|
|
|
|
Вариант 1 |
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Класс |
|
|
Члены |
|
|
|
|
|
|
Методы |
|
Операторы перегрузки |
|||||||||||||||||
|
|
|
класса |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Комплексное |
|
Действи- |
|
|
Конструктор, |
|
|
|
|
|
|
|
Сложение |
(+), вычитание |
|||||||||||||||
число в |
|
|
тельная x и |
|
деструктор, |
|
|
|
метод |
(-), умножение (*), деление |
|||||||||||||||||||
алгебраической |
|
мнимая y |
|
|
вычисления |
|
|
модуля |
(/) комплексных |
чисел, |
|||||||||||||||||||
форме |
|
|
части |
|
|
|
комплексного числа и |
увеличение |
на |
1 (++) |
|||||||||||||||||||
a=x y i |
|
|
числа |
|
|
|
|
n a , метод |
|
|
вывода |
действительной, |
мнимой |
||||||||||||||||
|
|
|
|
|
|
|
|
|
комплексного числа |
части |
|
|
|||||||||||||||||
Исходные данные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Результаты |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
a, b, c, d – комплексные |
|
|
R=3 |
|
−b c |
b d . Найти модуль числа R. |
|
||||||||||||||||||||||
|
|
a |
|
||||||||||||||||||||||||||
числа |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
Увеличить на 1 действительную и мнимую часть R |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
Вариант 2 |
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
Класс |
|
|
Члены класса |
|
|
Методы |
|
Операторы перегрузки |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
Обыкновенная |
|
Числитель и |
|
Конструктор, |
|
Сложение (+), вычитание |
|||||||||||||||||||||||
дробь |
|
|
знаменатель |
|
деструктор, метод |
|
(-), умножение (*), |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
сокращение дроби, |
|
деление (/) дробей |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
метод вывода дроби |
|
|
|
|||||||||||||||
Исходные данные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Результаты |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Даны дроби |
a , c |
, |
e |
, g |
, k |
|
|
|
|
a |
|
|
c |
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
b |
|
d |
g |
k |
|
|
|
|
||||||||||||||||
|
|
b d |
|
f |
h |
l |
|
Z= |
|
|
− |
На экран вывести |
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
e |
h |
l |
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
несокращенную и сокращенную дробь Z |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
Вариант 3 |
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
Класс |
Члены класса |
|
|
|
|
|
|
Методы |
|
Операторы перегрузки |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
Вектор |
3 |
|
|
|
|
|
|
|
Конструктор, |
|
Сложение (+), скалярное |
||||||||||||||||||
|
прямоугольные |
|
|
деструктор, метод |
|
(%) и векторное (*) |
|||||||||||||||||||||||
|
декартовые |
|
|
|
вывода вектора, метод |
|
произведения векторов |
||||||||||||||||||||||
|
координаты |
|
|
|
вычисления длины |
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
вектора |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Исходные данные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Результаты |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
a={ax,ay,az} |
|
|
|
|
|
|
|
|
r=(a+b)× c; |
|
|
|
|
|
|
|
|
t=(a+c)с |
|
|
|||||||||
b={bx,by,bz} |
|
|
|
|
|
|
|
|
Найти длины исходных и результирующего |
||||||||||||||||||||
c={cx,cy,cz} |
|
|
|
|
|
|
|
|
векторов |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++» |
47 |
Продолжение табл. 15.1.
|
|
|
|
|
|
|
|
Вариант 4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Класс |
|
Члены класса |
|
|
Методы |
|
Операторы перегрузки |
||||
|
|
|
|
|
|
|
|
|
|
||
Матрица |
|
Размерность |
Конструктор, деструктор, |
Сложение (+), вычитание |
|||||||
|
|
матрицы, |
метод вывода матрицы, |
|
(-), умножение (*) 2-х |
||||||
|
|
элементы |
метод вычисления |
|
матриц, умножение |
||||||
|
|
матрицы |
определителя матрицы |
|
матрицы на число (*=) |
||||||
Исходные данные |
|
|
Результаты |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
1 |
|
7 |
С=2(A–B)(A2 + B) |
|
|
||||
A= −100 |
−21 |
21 |
Найти |C| |
|
|
||||||
2 |
4 |
1 |
|
|
|
|
|
|
|
|
|
В= 73 |
21 |
10 |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
Вариант 5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Класс |
|
|
Члены класса |
|
Методы |
|
|
Операторы перегрузки |
|||
|
|
|
|
|
|
|
|
|
|
||
Прямая |
|
|
Координаты |
|
Конструктор, |
|
Проверка параллельности |
||||
|
|
|
двух точек |
|
деструктор, метод |
|
2х прямых ( ), определение |
||||
|
|
|
(x1,y1) и (x2,y2) |
вывода уравнения |
|
угла между 2-мя прямыми |
|||||
|
|
|
|
|
|
|
прямой |
|
(%) |
||
Исходные данные |
|
|
Результаты |
||||||||
Прямая АВ: |
|
|
Вывести уравнения прямых линий. Если прямые |
||||||||
A(xa,ya), B(xb,yb) |
|
|
не параллельны, то найти и вывести угол между |
||||||||
Прямая CD: |
|
|
ними |
|
|
||||||
C(xc,yc), D(xd,yd) |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
Вариант 6 |
|
|
|
|
|
|
|
|
|
|
|
||||
Класс |
|
|
|
Члены класса |
Методы |
|
Операторы перегрузки |
||||
|
|
|
|
|
|
||||||
Комплексное |
|
Действительна |
Конструктор, |
|
Сложение (+), вычитание |
||||||
число в |
|
|
|
|
я x и мнимая y |
деструктор, метод |
|
(-), умножение (*), |
|||
алгебраической |
|
части числа |
вычисления модуля |
|
деление (/)комплексных |
||||||
форме |
|
|
|
|
|
|
|
комплексного числа, |
чисел |
||
a=x y i |
|
|
|
|
|
|
pn , метод вывода |
|
|
||
|
|
|
|
|
|
|
|
комплексного числа |
|
|
|
Исходные данные |
|
|
Результаты |
||||||||
|
|
|
|||||||||
a1, a2, a3 – комплексные числа |
x= a2 4 a1−a2 . Найти модуль числа X. |
||||||||||
|
|
|
|
|
|
|
|
a3 a1 |
|
|
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++» |
48 |
|||||||||||||||
Продолжение табл. 15.1 |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант 7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Класс |
Члены класса |
Методы |
|
|
Операторы перегрузки |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Обыкновенная |
Числитель и |
Конструктор, |
|
Сложение (+), вычитание |
||||||||||||
дробь |
|
|
|
знаменатель |
деструктор, |
|
(-), умножение (*) дробей |
|||||||||
|
|
|
|
|
|
|
|
|
|
определение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
обратной дроби, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
метод вывода дроби |
|
|
|
|
|
|
|
Исходные данные |
|
|
Результаты |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a1 |
a2 |
|
a3 |
|
|
|
|
|
R= b1a1 b2a2 b1a1− b3a3 |
|
||||||
b1 , |
b2 |
, |
b3 |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
На экран вывести R и |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
Вариант 8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Класс |
|
|
Члены класса |
|
|
Методы |
|
|
|
Операторы |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
перегрузки |
|
Вектор |
|
3 прямоугольные |
|
Конструктор, деструктор, |
|
|
|
Сложение (+), |
|
|||||||
|
|
|
декартовые |
|
|
|
методы определения |
|
|
|
скалярное (%) и |
|
||||
|
|
|
координаты |
|
|
|
направляющих косинусов |
|
|
|
векторное (*) |
|
||||
|
|
|
|
|
|
|
|
|
вектора, метод вывода всех |
произведения |
|
|||||
|
|
|
|
|
|
|
|
|
характеристик вектора |
|
|
|
векторов |
|
||
Исходные данные |
|
|
Результаты |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
a={ax,ay,az} |
|
|
|
|
c=(a+b)× b |
|
|
|
|
|
||||||
b={bx,by,bz} |
|
|
|
|
f=ac |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант 9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
Класс |
|
Члены класса |
|
|
|
Методы |
|
|
Операторы перегрузки |
|
||||||
|
|
|
|
|
|
|
||||||||||
Матрица |
|
Размерность |
|
Конструктор, деструктор, |
|
Сложение (+), вычитание |
||||||||||
|
|
|
|
матрицы, |
|
|
метод вывода матрицы, |
|
(-), умножение (*) 2-х |
|
||||||
|
|
|
|
элементы |
|
|
проверка, является ли |
|
матриц, умножение |
|
||||||
|
|
|
|
матрицы |
|
|
матрица единичной |
|
матрицы на число (*=) |
|
||||||
Исходные данные |
|
|
|
Результаты |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
æ 1 |
2 |
2ö |
|
|
|
D= 3AB A−B A |
|
|
|
|
|
|||||
ç |
|
3 |
÷ |
|
|
|
Проверить, является ли матрица А обратной матрице |
|||||||||
A =ç0 |
1÷ |
|
|
|
||||||||||||
ç |
1 |
0 |
÷ |
|
|
|
В. |
|
|
|
|
|
|
|
||
è |
0ø |
|
|
|
|
|
|
|
|
|
|
|||||
æ |
|
0 |
0 |
1ö |
|
|
|
|
|
|
|
|
|
|
||
ç |
|
|
0,5 |
0,25 |
÷ |
|
|
|
|
|
|
|
|
|
|
|
В = ç- 0,25 |
÷ |
|
|
|
|
|
|
|
|
|
|
|||||
ç |
0,75 |
- 0,5 |
- 0,75 |
÷ |
|
|
|
|
|
|
|
|
|
|
||
è |
ø |
|
|
|
|
|
|
|
|
|
|
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++» |
49 |
Продолжение табл. 15.1
|
|
|
|
|
|
|
|
Вариант 10 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Класс |
Члены класса |
|
|
|
Методы |
Операторы перегрузки |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Прямая |
a,b - |
|
|
Конструктор, деструктор, |
Проверка |
||||||||||
(y=ax+b) |
коэффициенты |
|
метод вывода уравнения |
перпендикулярности (!=) |
|||||||||||
|
уравнения |
|
|
прямой, определение |
2х прямых, определение |
||||||||||
|
прямой |
|
|
точек пересечения с |
угла между 2-мя прямыми |
||||||||||
|
|
|
|
|
|
осями |
|
|
|
|
(%) |
|
|
|
|
Исходные данные |
|
|
|
|
|
|
Результаты |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Прямая АВ: |
|
|
Вывести точки пересечения прямых с осями. |
||||||||||||
y1=a1× x+b1 |
|
|
Проверить их перпендикулярность. Найти и вывести |
||||||||||||
Прямая CD: |
|
|
угол между ними |
|
|
|
|
||||||||
y2=a2× x+b2 |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вариант 11 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Класс |
|
Члены |
|
|
|
Методы |
|
|
|
Операторы |
|||||
|
|
класса |
|
|
|
|
|
|
|
|
|
|
перегрузки |
||
Парабола |
|
Коэффи- |
|
Конструктор, деструктор, |
|
|
Проверка совпадения |
||||||||
y=ax2 bx c |
циенты a, b, |
|
методы вывода уравнения |
|
|
двух парабол (| |), |
|||||||||
|
|
c |
|
|
параболы, вычисления |
|
|
проверка |
|||||||
|
|
|
|
|
|
экстремума функции (min или |
|
пересечения двух |
|||||||
|
|
|
|
|
|
max) |
|
|
|
|
|
|
парабол (/) |
||
Исходные данные |
|
|
|
|
|
|
Результаты |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
y1=ax2 bx c |
|
|
Для каждой параболы вывести уравнение, значение |
||||||||||||
|
|
|
|
|
|
экстремума функции с пояснением – min или max. |
|||||||||
y2=dx2 ex f |
|
|
Проверить, совпадают ли эти параболы или они |
||||||||||||
|
|
|
|
|
|
пересекаются. |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
Вариант 12 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
||||
Класс |
|
Члены |
|
|
|
Методы |
|
|
|
Операторы |
|||||
|
|
|
|
класса |
|
|
|
|
|
|
|
|
перегрузки |
||
Комплексное число в |
|
Модуль r |
|
Конструктор, деструктор, |
|
Сложение (+), |
|||||||||
тригонометрической |
|
и |
|
|
|
pn , метод вывода |
|
|
|
вычитание (-), |
|||||
форме |
|
|
|
аргумент |
|
комплексного числа в |
|
умножение (*), |
|||||||
a=ρ cos i sin |
j числа |
|
тригонометрической и |
|
деление (/) |
||||||||||
|
|
|
|
|
|
|
|
алгебраической формах |
|
комплексных чисел |
|||||
Исходные данные |
|
|
|
|
|
|
Результаты |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||
a, b, c, d – комплексные числа |
|
3 |
|
a b |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
R=b |
|
|
d |
|
|
|
|
|
|
|
|
|
|
|
|
c−a |
|
|
|
|
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++» |
50 |
Продолжение табл. 15.1
|
|
|
|
|
|
|
|
Вариант 13 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
Класс |
|
|
Члены класса |
|
Методы |
Операторы перегрузки |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
Матрица |
|
|
Размерность |
|
Конструктор, |
|
|
Сложение (+), вычитание |
|||||||
|
|
|
|
|
матрицы, |
|
деструктор, метод |
(-), умножение (*) 2-х |
|||||||
|
|
|
|
|
элементы |
|
вывода матрицы, |
матриц, умножение |
|||||||
|
|
|
|
|
матрицы |
|
проверка, является |
матрицы на число (*=) |
|||||||
|
|
|
|
|
|
|
|
ли матрица |
|
|
|
|
|||
|
|
|
|
|
|
|
|
диагональной, |
|
|
|
|
|||
|
|
|
|
|
|
|
|
нулевой, единичной |
|
|
|||||
|
Исходные данные |
|
|
|
|
|
|
Результаты |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
æ 1 |
2 |
2ö |
|
|
|
D= 3BA B−A |
|
|
||||||
|
ç |
3 |
÷ |
|
|
|
|
|
|||||||
A =ç0 |
1÷ |
|
|
|
Проверить, является ли матрица D единичной, |
||||||||||
|
ç |
0 |
÷ |
|
|
|
диагональной, нулевой |
||||||||
|
è 1 |
0ø |
|
|
|
||||||||||
|
æ0 |
0 |
1ö |
|
|
|
|
|
|
|
|
|
|
|
|
|
ç |
0 |
÷ |
|
|
|
|
|
|
|
|
|
|
|
|
В = ç0 |
1÷ |
|
|
|
|
|
|
|
|
|
|
|
|||
|
ç |
0 |
÷ |
|
|
|
|
|
|
|
|
|
|
|
|
|
è0 |
- 1ø |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
Вариант 14 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
Класс |
|
Члены класса |
|
|
|
|
Методы |
|
Операторы |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
перегрузки |
Обыкновенная |
Числитель и |
|
Конструктор, деструктор, |
Сложение (+), |
|||||||||||
дробь |
|
|
знаменатель |
|
метод вывода дроби в |
|
вычитание (-), |
||||||||
|
|
|
|
|
|
|
виде обыкновенной и |
|
умножение (*), |
||||||
|
|
|
|
|
|
|
десятичной дроби |
|
деление (/) дробей, |
||||||
|
|
|
|
|
|
|
(округление до 5 |
|
сравнение дробей |
||||||
|
|
|
|
|
|
|
разрядов) |
|
|
|
|
> и < |
|||
|
Исходные данные |
|
|
|
|
|
|
|
Результаты |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
a1 |
, a2 , a3 , a4 |
|
d1= a1 |
a2 |
a3 |
− a1 |
|
|
|||||||
b1 |
b2 |
b3 |
b4 |
|
|
b1 |
|
b2 |
b3 |
|
b1 |
|
|
||
|
|
|
|
|
|
|
|
|
|
a4 |
a2 |
|
|
|
|
|
|
|
|
|
|
|
|
d2= |
b4 |
b2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
a1 |
− a3 |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
b1 |
b3 |
|
|
|
|
|
|
|
|
|
|
|
Сравнить дроби d1 и d2 |
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++» |
51 |
Продолжение табл. 15.1
|
|
|
|
|
Вариант 15 |
|
|
|
|
|
|
|
|
|
|
|
|
Класс |
|
Члены класса |
|
Методы |
|
|
Операторы перегрузки |
|
|
|
|
|
|
|
|
|
|
Вектор |
|
3 прямоугольные |
Конструктор, |
|
Сложение (+), скалярное |
|||
|
|
декартовые |
деструктор, метод |
|
(%) и векторное (*) |
|||
|
|
координаты |
вывода вектора |
|
произведения векторов, |
|||
|
|
|
|
|
|
|
вычисления угла (/ ) между |
|
|
|
|
|
|
|
|
двумя векторами |
|
Исходные данные |
|
Результаты |
||||||
|
|
|
|
|
|
|
|
|
a={ax,ay,az} |
|
|
c=(a+b)× a; |
|
d=ab |
|||
b={bx,by,bz} |
|
|
Найти и вывести угол между векторами a и b, b и |
|||||
|
|
|
|
c, a и c |
|
|
||
|
|
|
|
|
Вариант 16 |
|
|
|
|
|
|
|
|
|
|
|
|
Класс |
|
Члены класса |
Методы |
|
Операторы перегрузки |
|||
|
|
|
|
|
|
|
|
|
Время |
|
Часы, минуты, |
Конструктор, |
|
Сложение (+), вычитание |
|||
|
|
|
секунды |
|
деструктор, метод |
|
(-), сравнение времени < |
|
|
|
|
|
|
вывода времени и |
|
и > |
|
|
|
|
|
|
составляющей суток |
|
||
|
|
|
|
|
(до 6 –ночь, до 12 – |
|
|
|
|
|
|
|
|
утро, до 18 – день, |
|
|
|
|
|
|
|
|
до 24вечер) |
|
|
|
Исходные данные |
|
Результаты |
||||||
|
|
|
|
|
|
|
|
|
t1, t2 ,t3, t4 -время |
|
T1 = t1+ t3 |
|
|
||||
|
|
|
|
|
T2 = t4 – t2 |
|
|
|
|
|
|
|
|
Сравнить Т1 и Т2 |
|
|
|
|
|
|
|
|
Вариант 17 |
|
|
|
|
|
|
|
|
|
|||
Класс |
|
Члены класса |
Методы |
|
Операторы перегрузки |
|||
|
|
|
|
|
|
|||
Комплексное |
Модуль ρ и |
|
Конструктор, |
|
Сложение (+), вычитание |
|||
число в |
|
аргумент ϕ |
|
деструктор, вывод |
|
(-), умножение (*), |
||
показательной |
числа |
|
комплексного числа |
деление (/) комплексных |
||||
форме a = ρ×eϕ×i |
|
в алгебраической, |
|
чисел |
||||
|
|
|
|
|
тригонометрической |
|
||
|
|
|
|
|
и экспоненциальной |
|
||
|
|
|
|
|
формах |
|
|
|
Исходные данные |
|
Результаты |
||||||
|
|
|
|
|
||||
a1, a2, a3, a4 – комплексные |
|
W =a2 a3 a4 |
|
|
||||
числа |
|
|
|
a1 |
|
|
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++» |
52 |
Продолжение табл. 15.1
|
|
|
|
|
|
|
|
|
|
|
Вариант 18 |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
Класс |
|
Члены класса |
|
Методы |
|
|
|
|
Операторы перегрузки |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
Вектор |
|
|
|
|
3 прямоуголь- |
Конструктор, |
|
|
|
Сложение (+), скалярное ( |
||||||||||||
|
|
|
|
|
|
|
ные |
|
|
деструктор, метод |
|
|
) и векторное (*) |
|||||||||
|
|
|
|
|
|
|
декартовые |
|
|
вывода вектора |
|
|
произведения векторов, |
|||||||||
|
|
|
|
|
|
|
координаты |
|
|
|
|
|
|
проверка коллинеарности |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( | | )2-х векторов |
|||||
|
|
Исходные данные |
|
|
|
|
|
Результаты |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
a={ax,ay,az} |
|
|
|
|
|
c=(a+a)×b |
|
|
|
|
|
|
d=ab |
|||||||||
b={bx,by,bz} |
|
|
|
|
|
Проверить на коллинеарность векторы a и b |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
Вариант 19 |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Класс |
|
|
|
Члены класса |
|
|
|
|
Методы |
|
|
|
|
Операторы перегрузки |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
Обыкно- |
|
Числитель и |
|
Конструктор, |
|
|
|
Сложение (+), вычитание |
||||||||||||||
венная |
|
|
|
знаменатель |
|
деструктор, возведение |
|
|
(-), умножение (*), |
|||||||||||||
дробь |
|
|
|
|
|
|
дроби в степень, метод |
|
|
деление (/) дробей, |
||||||||||||
|
|
|
|
|
|
|
|
|
вывода дроби |
|
|
|
сравнение дробей > и < |
|||||||||
|
Исходные данные |
|
|
|
|
|
|
Результаты |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
x2 |
|
x3 |
|
|
|
|
|
|
|
|
|
|
y1x1 x2y2 |
|
|||||||
y1 , |
|
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
y2 |
y3 |
|
|
|
|
|
x3 |
x1 |
x3 |
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
z1= y3 |
− y1 |
y3 |
z2 |
= |
|
|
|
|
|
. |
|||
|
|
|
|
|
|
|
|
|
x1 |
|
3 |
|
||||||||||
|
|
|
|
|
|
|
|
|
Сравнить дроби z1 и z2 |
|
y1 |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
Вариант 20 |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
Класс |
Члены класса |
|
|
|
Методы |
|
|
|
|
Операторы перегрузки |
||||||||||||
|
|
|
|
|
||||||||||||||||||
Матрица |
Размерность |
|
Конструктор, деструктор, |
Сложение (+), |
||||||||||||||||||
|
|
|
|
|
|
матрицы, |
|
метод вывода матрицы, |
|
|
|
вычитание (-), |
||||||||||
|
|
|
|
|
|
элементы |
|
проверка, является ли |
|
|
|
умножение (*) 2-х |
||||||||||
|
|
|
|
|
|
матрицы |
|
матрица симметричной |
|
|
|
матриц, умножение |
||||||||||
|
|
|
|
|
|
|
|
|
|
(АТ=А) |
|
|
|
|
|
матрицы на число (*=) |
||||||
|
Исходные данные |
|
|
|
|
|
Результаты |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
2 |
|
3 |
|
4 |
|
|
|
X = 2A A B -3AB |
|
|
|
|
|
|
|
|
|||||
A= |
1 |
|
-2 |
|
0 |
|
|
|
Проверить, является ли матрица Х симметричной |
|||||||||||||
|
0 |
|
1 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
2 |
|
0 |
|
-2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В= 11 |
-11 |
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++» |
53 |
Продолжение табл. 15.1
|
|
|
|
|
|
|
Вариант 21 |
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Класс |
|
Члены |
|
|
|
Методы |
|
|
Операторы перегрузки |
|||||||||||||||
|
|
|
|
|
класса |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Комплексное число |
Модуль ρ и |
Конструктор, |
|
|
Сложение (+), |
||||||||||||||||||||
в |
|
|
|
|
|
|
|
деструктор, n |
|
|
, |
|
|
вычитание (-), |
|||||||||||
|
|
|
|
аргумент ϕ |
|
|
p |
|
|
||||||||||||||||
тригонометрической |
|
метод вывода |
|
|
умножение (*), деление |
||||||||||||||||||||
форме |
|
|
|
|
|
|
комплексного числа |
(/) комплексных чисел |
|||||||||||||||||
a= ρ cos i sin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
Исходные данные |
|
|
|
|
|
|
|
|
|
|
|
|
Результаты |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
a, b, c, d – комплексные числа |
|
R=b a−b 5 |
|
|
|
|
|
|
|
|
|
||||||||||||||
|
d |
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
c |
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
Вариант 22 |
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Класс |
|
Члены класса |
|
|
|
Методы |
|
|
|
|
|
|
Операторы перегрузки |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Обыкно- |
Числитель и |
Конструктор, деструктор, |
Сложение (+), вычитание |
||||||||||||||||||||||
венная |
|
знаменатель |
определение обратной |
|
(-), умножение (*), |
||||||||||||||||||||
дробь |
|
|
|
|
дроби, возведение дроби |
|
деление (/) дробей |
||||||||||||||||||
|
|
|
|
|
|
в степень, метод вывода |
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
дроби |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Исходные данные |
|
|
|
|
|
|
|
|
Результаты |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a1 |
a2 |
a3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b2a2 −b2a2 |
|||||
b1 , |
b2 , |
b3 |
|
|
|
a3 |
a1 |
|
b3 |
|
|
3 |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
d1= b3 |
b1 |
a3 |
|
|
|
|
|
|
d2= |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
a2 |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b2 |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
Вариант 23 |
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
Класс |
Члены класса |
|
|
Методы |
|
Операторы перегрузки |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
Комплексное |
Действительна |
Конструктор, |
|
|
|
|
|
Сложение (+), вычитание |
|||||||||||||||||
число в |
|
|
я x и мнимая y |
деструктор, метод |
(-), умножение (*), |
||||||||||||||||||||
алгебраической |
части числа |
|
вывода |
|
|
|
|
|
|
|
|
|
деление (/) комплексных |
||||||||||||
форме |
|
|
|
|
|
комплексного числа |
чисел, проверка |
||||||||||||||||||
a=x y i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сопряженности (!=) чисел4 |
|||||||||
|
Исходные данные |
|
|
|
|
|
|
|
|
|
|
|
Результаты |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
a, b, c, d – комплексные числа |
R1=a− |
b c |
|
|
|
|
|
|
|
R2=d |
a c |
|
|||||||||||||
|
|
|
|
|
|
|
a |
|
|
|
|
|
|
|
a |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
Проверить сопряженность чисел R1 и R2 |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 Взаимно сопряженными (a и a ) называются комплексные числа, если их действительные части равны, а мнимые отличаются только знаком a=x+i∙y, a= x−i y