Лабораторная работа 2 Тема- Совместное использование операций Общее задание Выберите для выполнения лаб
Работа добавлена на сайт samzan.net: 2015-07-10
Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
от 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))
|