Страницу Назад
Поискать другие аналоги этой работы

250

Лабораторная работа №2. Абстрактный тип данных «комплексное число»

ID: 221138
Дата закачки: 02 Ноября 2021
Продавец: Nik001 (Напишите, если есть вопросы)
    Посмотреть другие работы этого продавца

Тип работы: Работа Лабораторная
Сдано в учебном заведении: СибГУТИ

Описание:
Цель работы: Сформировать практические навыки реализации
абстрактных типов данных в соответствии с заданной спецификацией
с помощью классов С++. Синтаксис классов: инкапсуляция, простые
свойства.
Задание:
• Реализовать абстрактный тип данных «комплексное число»,
используя класс С++, в соответствии с приведенной ниже
спецификацией.
• Протестировать каждую операцию, определенную на типе данных,
используя средства модульного тестирования.
• Если необходимо, предусмотрите возбуждение исключительных
ситуаций.
Спецификация типа данных «комплексное число».
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, Копировать(c) = 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).
Постусловия: Нет.
Делить
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(r)* (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
Оценка: Зачет
Дата оценки: 20.10.2019
Помогу с выполнением других работ и дисциплин.
email: main.name.98@mail.ru

Размер файла: 19,8 Мбайт
Фаил: Упакованные файлы (.zip)

   Скачать

   Добавить в корзину


    Скачано: 2         Коментариев: 0


Есть вопросы? Посмотри часто задаваемые вопросы и ответы на них.
Опять не то? Мы можем помочь сделать!

Некоторые похожие работы:

Современные технологии программирования (часть 1-я). Лабораторная работа №1,2,3.
Современные технологии программирования(часть 1). Лабораторная работа 1,2,3.
Лабораторные работы №1,2,3 по дисциплине: Современные технологии программирования (часть 1). Для всех вариантов
Современные технологии программирования (часть 1). Лабораторные работы 1-3. Все варианты. 2019
Абстрактный тип данных «Комплексное число». Лабораторная работа №3 Современные технологии в программировании (часть 1)
Лабораторная работа 1 2 3 Современные технологии программирования Все варианты 2023 год
Контрольная и Лабораторная 1-3 работа по дисциплине: Современные технологии в программировании (часть 1). Вариант 4
Ещё искать по базе с такими же ключевыми словами.

Не можешь найти то что нужно? Мы можем помочь сделать! 

От 350 руб. за реферат, низкие цены. Просто заполни форму и всё.

Спеши, предложение ограничено !



Что бы написать комментарий, вам надо войти в аккаунт, либо зарегистрироваться.

Страницу Назад

  Cодержание / Современные технологии программирования / Лабораторная работа №2. Абстрактный тип данных «комплексное число»
Вход в аккаунт:
Войти

Забыли ваш пароль?

Вы еще не зарегистрированы?

Создать новый Аккаунт


Способы оплаты:
UnionPay СБР Ю-Money qiwi Payeer Крипто-валюты Крипто-валюты


И еще более 50 способов оплаты...
Гарантии возврата денег

Как скачать и покупать?

Как скачивать и покупать в картинках


Сайт помощи студентам, без посредников!