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

150

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

ID: 167974
Дата закачки: 22 Мая 2016
Продавец: 8arracuda (Напишите, если есть вопросы)
    Посмотреть другие работы этого продавца

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

Описание:
Цель: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++.
Задание:
1. Реализовать абстрактный тип данных «комплексное число», используя класс С++, в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования

Спецификация типа данных «комплексное число».
ADT TComplex
Данные Комплексное число TComplex - это неизменяемая пара вещественных чисел, представляющие действительную и мнимую части комплексного числа (a + i*b).
Операции
Операции могут вызываться только объектом комплексное число (тип TComplex), указатель на который в них передаётся по умолчанию. При описании операций этот объект называется “само число”.
Конструктор 
Начальные значения: Пара вещественных чисел (a) и (b).
Процесс: Инициализирует поля комплексного числа (тип 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
Постусловия: Нет.

Сложить 
Вход: Комплексное число 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).
Постусловия: Нет.

Квадрат 
Вход: Нет.
Предусловия: Нет.
Процесс Создаёт и возвращает комплексное число (тип 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).
Постусловия: Нет.

Делить 
Вход: Комплексное число (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. Модуль = O(2*2+1*1).
q = (i*17), q. Модуль = O(0*0+17*17).
Выход: Вещественное число.
Постусловия: Нет.

УголРад 
Вход: Нет.
Предусловия: Нет.
Процесс Возвращает аргумент 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).
Предусловия: Нет.
Процесс Возвращает i-ый корень целой положительной степени n самого комплексного числа q. On(q) = On(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 - в противном случае.
Выход: Булевское значение.
Постусловия: Нет.

ВзятьReЧисло 
Вход: Нет
Предусловия: Нет.
Процесс Возвращает значение действительной части самого комплексного числа в числовом формате.
Выход: Вещественное значение.
Постусловия: Нет.

ВзятьImЧисло 
Вход: Нет.
Предусловия: Нет.
Процесс Возвращает значение мнимой части самого комплексного числа в числовом формате.
Выход: Вещественное значение.
Постусловия: Нет.

ВзятьReСтрока 
Вход: Нет.
Предусловия: Нет.
Процесс Возвращает значение вещественной части самого комплексного числа в строковом формате.
Выход: Строка.
Постусловия: Нет.

ВзятьImСтрока 
Вход: Нет.
Предусловия: Нет.
Процесс Возвращает значение мнимой части самого комплексного числа в строковом формате.
Выход: Строка.
Постусловия: Нет.

ВзятьКомплексноеСтрока 
Вход: Нет.
Предусловия: Нет.
Процесс Возвращает значение самого комплексного числа в строковом формате.
Выход: Строка.
Постусловия: Нет.
end TComplex

Рекомендации к выполнению
1. Тип данных реализовать, используя класс С++.
2. Для описания полей комплексного числа использовать свойства (property).
3. Тип данных реализовать в отдельном модуле UComplex.



Комментарии: Уважаемый слушатель, дистанционного обучения,
Оценена Ваша работа по предмету: Современные технологии в программировании (часть 1)
Вид работы: Лабораторная работа 3
Оценка:Зачет
Дата оценки: 13.04.2016


Размер файла: 483,9 Кбайт
Фаил: Упакованные файлы (.rar)

   Скачать

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


    Скачано: 7         Коментариев: 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одержание / Современные технологии программирования / Лабораторная работа №3 Абстрактный тип данных комплексное число
Вход в аккаунт:
Войти

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

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

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


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


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

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

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


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