Лабораторная работа 2 Тема- Совместное использование операций Общее задание Выберите для выполнения лаб
Работа добавлена на сайт samzan.net:
Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
от 25%
Подписываем
договор
Лабораторная работа 2
Тема: Совместное использование операций
Общее задание
Выберите для выполнения лабораторной работы свой вариант.
Для выбранного варианта определите класс, включив в него:
- конструктор по умолчанию;
- конструктор инициализации;
- конструктор преобразования базового типа к типу, определяемому разрабатываемым классом;
В разрабатываемом классе перегрузите потоковые операции для объектов класса. Для выполнения задания предложенного варианта перегрузите необходимые математические операции.
При разработке класса вашего варианта учтите индивидуальные уточнения для функций членов класса.
Разработайте для объектов вашего класса предложенные в каждом варианте пользовательские функции.
Индивидуальные задания
Задание для вариантов 1-7.
- Для вариантов 1-5 определить класс - "Комплексное число" в виде модуля и аргумента комплексного числа.
- Составить пользовательскую функцию, которая получает значение типа "Комплексное число", вычисляет значение математической функции y(z), заданной в варианте, и возвращает полученное значение.
- Составить пользовательскую функцию, которая получает значение стандартного типа complex, вычисляет значение математической функции y(z), заданной в варианте, и возвращает полученное значение.
- Составить пользовательскую функцию, которая вычисляет таблицу значений заданной математической функции y(z1), где z1, значение типа "Комплексное число", и у(z), где z, значение типа complex. Таблица вычисляется для комплексных чисел, модуль которых равен mod(z) = 1, а arg(z) изменяется на отрезке [0, 2pi] с шагом pi/4.
- Составить пользовательскую функцию, которая вводит значение комплексного числа с клавиатуры в объект z типа "Комплексное число", вычисляет значение у(z), сравнивает его с таким же вычислением, но для значения типа complex. На экран функция выдает вычисленные значения и результат сравнения.
- Составить функцию main, органицующую работу всех функций.
Вариант 1. y(z) = 2z + sin(z-i)
Вариант 2. y(z) = z^2 - cos(2z)
Вариант 3. y(z) = z/2 + ch(1+z)
Вариант 4. y(z) = i + z*sh(1+z)
Вариант 5. y(z) = 2 + 3i*e^(-z)
Вариант 6. y(z) = 4.6/th(z) -e^(2.2-z)
Вариант 7. y(z) = 5.2*tg(z) + 2i* (-z)
Задание для вариантов 8-14.
- Для вариантов 1-5 определить класс - "Комплексное число" в виде действительной и мнимой частей комплексного числа.
- Составить пользовательскую функцию, которая получает значение типа "Комплексное число", вычисляет значение математической функции y(z), заданной в варианте, и возвращает полученное значение.
- Составить пользовательскую функцию, которая получает значение стандартного типа complex, вычисляет значение математической функции y(z), заданной в варианте, и возвращает полученное значение.
- Составить пользовательскую функцию, которая вычисляет таблицу значений заданной математической функции y(z1), где z1, значение типа "Комплексное число", и у(z), где z, значение типа complex. Таблица вычисляется для комплексных чисел, для изменения действительной части комплексных значений в диапазоне -1<=Re(z)<=1, а мнимой в диапазоне 1<=Im(z)<=1 с шагом 0.5 по обоим аргументам.
- Составить пользовательскую функцию, которая вводит значение комплексного числа с клавиатуры в объект z типа "Комплексное число", вычисляет значение у(z), сравнивает его с таким же вычислением, но для значения типа complex. На экран функция выдает вычисленные значения и результат сравнения.
- Составить функцию main, органицующую работу всех функций.
Вариант 8. y(z) = 1- z^5 - th(z/2)
Вариант 9. y(z) = 2z + e^5 (1+z)
Вариант 10. y(z) = i z sin(2z)
Вариант 11. y(z) = 2 + z tg(z)
Вариант 12. y(z) = z^3 + cos(z) -z^( - 5)
Вариант 13. y(z) = z sh(2 +z)- 4.8
Вариант 14. y(z) = 7.2 + z ch(3.3*z)
Задание для вариантов 15-21.
- Для вариантов 1-5 определить класс - "Рациональное число" в виде числитель и знаменатель.
- Определить функцию сокращение, как закрытый член класса. Для процедуры сокращения используйте в этой функции алгоритм Эвклида для нахождения наибольшего общего делителя (НОД) двух целых чисел a и b :
Пусть b <= a и r остаток от деления a на b.
Тогда:
1. Если b = 0, тогда НОД = a.
2. Иначе a = b, b = r. Перейти к 1.
Используйте функцию сокращения каждый раз, когда создается новое значение рационального числа.
- Составить пользовательскую функцию, которая получает значение типа "Рациональное число", вычисляет значение математической функции y(х), заданной в варианте, и возвращает полученное значение типа "Рациональное число".
- Составить пользовательскую функцию, которая получает значение типа "Рациональное число", преобразует значение к действительному типу, вычисляет значение математической функции y(х), заданной в варианте, и возвращает полученное значение действительного типа.
- Составить пользовательскую функцию, которая вычисляет таблицу значений заданной математической функции y(х1), где х1, значение типа "Рациональное число", и у(х), где х, значение действительного типа . Таблица вычисляется для чисел -1<= х <=1 с шагом 0.1.
- Составить пользовательскую функцию, которая вводит рациональное число с клавиатуры в объект х , вычисляет значение у(х), сравнивает его с таким же вычислением, но для действительного значения . На экран функция выдает вычисленные значения (рациональное и действительное) и результат сравнения.
- Составить функцию main, органицующую работу всех функций.
Вариант 15. y(х) = 2x + 1.3 / x
Вариант 16. y(х) = x / 3 1 / (0.2+x)
Вариант 17. y(х) = 2.2 x^2 + x - 1
Вариант 18. y(х) = (x - 1.3) / (x+1.6)
Вариант 19. y(х) = 3 / 7 + (5 / 11) x - 2.5 / x
Вариант 20. y(х) = (8.1*x-44) / 7 (0.2+x)
Вариант 21. y(х) = 9.2*(x 1) / (7.4+x)
Варианты 22-28
- Для вариантов 22-28 определить класс , необходимые для решения задачи
- Класс "Треугольник" с данными в виде трех сторон,
Составить функции:
- медианы треугольника,
- бессектрисы треугольника,
- высоты треугольника,
- площадь треугольника,
- вычисление углов треугольника,
- анализ: - равнобедренный,прямоугоньный треугольник,
- равенство треугольников
- Составить пользовательскую функцию, которая получает значения сторон треугольника , анализирует вид треугольника и выдает результат.
- Составить пользовательскую функцию, которая вычисляет таблицу результатов анализа треугольника, где одна из сторон треугольника задается в диапазоне 0<= x <= 20 с шагом 2 см.,.
- Класс - "Круг" с данными в виде координаты центра круга и радиуса,
Составить функции:
- длина окружности,
- площадь дуги,
- длина дуги
- площадь круга,
- площадь сегмента,
.
.
- Составить пользовательскую функцию, которая получает параметры круга и вычисляет площадь круга и длину окружности.
- Составить пользовательскую функцию, которая выдает таблицу площади круга и длину окружности, где радиус круга задается в диапазоне 0<= x <= 20 с шагом 2 см.,.
- Составить функцию main, организующую работу всех функций.
Вариант 22. Вычислить соотношение радиуса вписанной окружности к радиусу описанной окружности
Вариант 23. Вычислить площадь вписанной окружности.
Вариант 24. Вычислить площадь описанной окружности.
Вариант 25. Даны сторона и два угла треугольника, вычислить и вывести недостающие стороны и угол треугольника, а также вывести характеристики.
Вариант 26. Дан круг, в него вписан равносторонний треугольник. Вычислить совокупную площадь сегментов между кругом и треугольником.
Вариант 27. Дан круг(r1), на диаметре которого вписаны две одинаковые не соприкасающиеся друг с другом окружности(r2). Вычислить площадь круга, не занятую окружностями.
Вариант 28 Вычислить площадь цветника, представляющего сегмент круга заданного радиуса и длины дуги.
ПРИЛОЖЕНИЕ
Действительная х и мнимая у части некоторых математических функций комплексного числа z = x + iy
Функция
|
Действительная часть
|
Мнимая часть
|
e x
sin(z)
cos(z)
sh(z)
ch(z)
t g (z)
th(z)
|
e x cos(y)
sin(x) ch(y)
cos(x) ch(y)
sh(x) cos(y)
ch(x) cos(y)
sin(2x) /(cos(2x)+ch(2y) ) sh(2x) /( ch(2x)+cos(2y) )
|
e x sin(y)
cos(x) sh(y)
-sin(x) sh(y )
ch(x) sin(y)
sh(x) sin(y)
sh(2y) /( cos(2x)+ch(2y)) sin(2y) / (ch(2x)+cos(2y))
|