Абстрактный тип данных «комплексное число»
|
|
engineerklub | Дата: Среда, 03.11.2021, 11:59 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 28530
Статус: Offline
| Абстрактный тип данных «комплексное число»
Тип работы: Работа Лабораторная Сдано в учебном заведении: СибГУТИ
Описание: Цель работы: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++. Синтаксис классов: инкапсуляция, простые свойства. Задание: • Реализовать абстрактный тип данных «комплексное число», используя класс С++, в соответствии с приведенной ниже спецификацией. • Протестировать каждую операцию, определенную на типе данных, используя средства модульного тестирования. • Если необходимо, предусмотрите возбуждение исключительных ситуаций. Спецификация типа данных «комплексное число». ADT TComplex Данные Комплексное число TComplex - это неизменяемая пара вещественных чисел, представляющие действительную и мнимую части комплексного числа (a + i*b). Операции Операции могут вызываться только объектом комплексное число (тип TComplex), указатель на который в них передаётся по умолчанию. При описании операций этот объект называется «само число». КонструкторЧисло Начальные значения: Пара вещественных чисел (a) и (b). 3 Процесс: Создаёт комплексное число (тип TComplex) с действительной частью (a) и мнимой (b). Например: КонструкторЧисло (6,3)=6 + i*3 КонструкторЧисло (3,0)=3 + i*0 КонструкторЧисло (0,0)=0 + i*0 КонструкторСтрока Начальные значения: Строка, представляющая комплексное число. Процесс: Создаёт комплексное число (тип TComplex), представленное строкой f = ’a + i*b’, с действительной частью (a) и комплексной частью (b). Например: КонструкторСтрока(‘6+i*3’) = 6+i*3 КонструкторСтрока(‘0+i*3’) = 0+i*3 Копировать: Вход: Нет. Предусловия: Нет. Процесс Создаёт и возвращает собственную копию - комплексное число (тип TComplex) с действительной и мнимой частями такими же как у самого числа. Выход: Комплексное число (тип TComplex). Например: c = 6+i3, Копировать© = 6+i3 Постусловия: Нет. 4 Сложить Вход: Комплексное число d (тип TComplex). Предусловия: Нет. Процесс Создаёт и возвращает комплексное число, полученное сложением самого числа q = a1+i*b1 с числом d = a2+i*b2: ((a1+i*b1)+(a2+i*b2)=(a1+a2)+i*(b1+b2)) . Например: q = (2 +i*1), d = (2 +i*1), q.Сложить(d) = (4 +i*2). Выход: Комплексное число (тип TComplex). Постусловия: Нет. Умножить Вход: Комплексное число d (тип TComplex). Предусловия: Нет. Процесс Создаёт и возвращает комплексное число, полученное умножением самого числа q = a1+i*b1 на число d = a2+i*b2: ((a1+i*b1)*(a2+i*b2)=(a1*a2 - b1*b2)+i*(a1*b2+ a2*b1)). Выход: Комплексное число (тип TComplex). Постусловия: Нет. Квадрат Вход: Нет. Предусловия: Нет. 5 Процесс Создаёт и возвращает комплексное число (тип TComplex), полученное умножением числа на самого себя: ((a1+i*b1)*(a1+i*b1)=(a1*a1 - b1*b1)+i*(a1*b1+ a1*b1)). Выход: Комплексное число (тип TComplex). Постусловия: Нет. Обратное Вход: Нет. Предусловия: Нет. Процесс Создаёт и возвращает комплексное число (тип TComplex), полученное делением единицы на само число 1/((a1+i*b1) = a1/(a1**2 + b1**2) - i* b1/( a1**2 + b1**2 )). Выход: Комплексное число (тип TComplex). Постусловия: Нет. Вычесть Вход: Комплексное число d (тип TComplex).. Предусловия: Нет. Процесс Создаёт и возвращает комплексное число (тип TComplex), полученное вычитанием d = a2 + i b2 из самого себя q = (a1+i*b1):(a1+i*b1)- (a2+i*b2)=(a1-a2)+i*(b1-b2). Например: q = (2 +i*1), d = (2 +i*1)) q.Вычесть(d) = (0 + i0). Выход: Комплексное число (тип TComplex). Постусловия: Нет. Делить
СКАЧАТЬ
|
|
| |
engineerklub | Дата: Среда, 03.11.2021, 11:59 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 28530
Статус: Offline
| 6 Вход: Комплексное число (d). Предусловия: Нет. Процесс Создаёт и возвращает комплексное число (тип TComplex), полученное делением самого числа (q) на число (d) ((a1+i*b1)/(a2+i*b2)=(a1*a2+b1*b2)/(a2 **2 + b2**2)+i*(a2*b1 – a1*b2)/(a2**2 + b2**2)). Выход: Комплексное число (тип TComplex). Постусловия: Нет. Минус Вход: Нет. Предусловия: Нет. Процесс Создаёт и возвращает комплексное число (тип TComplex), являющееся разностью комплексных чисел z и и самого числа, где z – комплексное число (0+i0). Выход: Комплексное число (тип TComplex). Постусловия: Нет. Модуль Вход: Нет. Предусловия: Нет. Процесс Вычисляет и возвращает модуль самого комплексного числа (q). Например: q = (2 +i*1), q. Модуль = (2*2+1*1). q = (i*17), q. Модуль = (0*0+17*17). Выход: Вещественное число. Постусловия: Нет. УголРад 7 Вход: Нет. Предусловия: Нет. Процесс Возвращает аргумент fi самого комплексного числа q (в радианах). fi = (arcTg(b/a), a>0; pi/2, a = 0, b > 0; arcTg(b/a) + pi, a < 0; -pi/2, a = 0, b <0 ). Например: q= (1+i*1),q.УголРад=0,79. Выход: Вещественное число. Постусловия: Нет. УголГрад Вход: Нет. Предусловия: Нет. Процесс Возвращает аргумент самого комплексного числа q (в градусах). Например: q = (1+i*1),q.Град =45. Выход: Вещественное число. Постусловия: Нет. Степень Вход: Целое (n). Предусловия: Нет. Процесс Возвращает целую положительную степень n самого комплексного числа q. qn = rn(cos (n*fi)+ i* sin (n*fi)). Выход: Комплексное число (тип TComplex). Постусловия: Нет. Корень Вход: Целое (n), целое (i). 8 Предусловия: Нет. Процесс Возвращает i-ый корень целой положительной степени n самого комплексного числа q. n(q) = n®* (cos ((fi + 2*k*pi)/n)+ i* sin ((fi + 2*k*pi)/n)). При этом коофициенту k придается последовательно n значений: k = 0,1,2…, n - 1 и получают n значений корня, т.е. ровно столько, каков показатель корня. Выход: Комплексное число (тип TComplex). Постусловия: Нет. Равно Вход: Комплексное число (d). Предусловия: Нет. Процесс Сравнивает само комплексное число с числом (d). Возвращает значение True, если они - тождественные комплексные числа, и значение False - в противном случае. Выход: Булевское значение. Постусловия: Нет. НеРавно Вход: Комплексное число (d). Предусловия: Нет. Процесс Сравнивает само комплексное число с числом (d). Возвращает значение True, если само число <> d, - значение False - в противном случае. Выход: Булевское значение. Постусловия: Нет. 9 ВзятьReЧисло Вход: Нет Предусловия: Нет. Процесс Возвращает значение действительной части самого комплексного числа в числовом формате. Выход: Вещественное значение. Постусловия: Нет. ВзятьImЧисло Вход: Нет. Предусловия: Нет. Процесс Возвращает значение мнимой части самого комплексного числа в числовом формате. Выход: Вещественное значение. Постусловия: Нет. ВзятьReСтрока Вход: Нет. Предусловия: Нет. Процесс Возвращает значение вещественной части самого комплексного числа в строковом формате. Выход: Строка. Постусловия: Нет. ВзятьImСтрока Вход: Нет. Предусловия: Нет. Процесс Возвращает значение мнимой части комплексного числа в строковом формате. самого Выход: Строка. Постусловия: Нет. 10 ВзятьКомплексноеСтрока Вход: Нет. Предусловия: Нет. Процесс Возвращает значение самого комплексного числа в строковом формате. Выход: Строка. Постусловия: Нет. end TComplex
Комментарии: Вид работы: Лабораторная работа №2
СКАЧАТЬ
|
|
| |