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

Состав работы

material.view.file_icon
material.view.file_icon
material.view.file_icon PComplex.bpf
material.view.file_icon PComplex.bpr
material.view.file_icon PComplex.cpp
material.view.file_icon PComplex.exe
material.view.file_icon PComplex.obj
material.view.file_icon PComplex.res
material.view.file_icon PComplex.tds
material.view.file_icon UComplex.h
material.view.file_icon Лабораторная 3.doc
material.view.file_icon Снимок.JPG

Дополнительная информация

material.view.file_icon Снимок.JPG
Снимок.JPG

Необходимые программы

Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • 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
Лабораторная работа №3 Абстрактный тип данных «комплексное число»
Цель: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++. Задание: 1. Реализовать абстрактный тип данных «комплексное число», используя класс С++, в соответствии с приведенной ниже спецификацией. 2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования Спецификация типа данных «комплексное число». ADT TComplex Данные Комплексное число TComplex - это неизменяемая пара вещественн
User VVA77 : 11 апреля 2017
80 руб.
Лабораторная работа №3 «Абстрактный тип данных комплексное число»
Цель Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++. Задание 1. Реализовать абстрактный тип данных «комплексное число», используя класс С++, в соответствии с приведенной ниже спецификацией. 2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования. Спецификация типа данных «комплексное число». ADT TComplex Данные Комплексное число TComplex - это изменяемая пара вещественных чи
User AnnaB : 21 апреля 2013
100 руб.
Лабораторная работа №3 по дисциплине "Современные технологии программирования". Абстрактный тип данных “комплексное число”
Цель: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++. Задание: 1. Реализовать абстрактный тип данных «комплексное число», используя класс С++, в соответствии с приведенной ниже спецификацией. 2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования Спецификация типа данных «комплексное число». ADT TComplex Данные Комплексное число TComplex - это неизменяемая пара вещественн
User Doctor_Che : 29 мая 2013
40 руб.
Абстрактный тип данных «Комплексное число». Лабораторная работа №3 Современные технологии в программировании (часть 1)
Лабораторная работа №3 по дисциплине «Современные технологии в программировании (часть 1)» Абстрактный тип данных «Комплексное число» Цель: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++. Задание: 1. Реализовать абстрактный тип данных «комплексное число», используя класс С++, в соответствии с приведенной ниже спецификацией. 2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирова
User rmn77 : 19 октября 2017
50 руб.
Абстрактный тип данных «Комплексное число». Лабораторная работа №3 Современные технологии в программировании (часть 1) promo
Характеристика банковских электронных услуг
СОДЕРЖАНИЕ 1. Требования, предъявляемые к автоматизированным банковским системам. Современное состояние рынка автоматизированных банковских систем в России.......................................................................................................................... 3 1.1. Автоматизированная банковская система - важнейший элемент информационного обеспечения внутреннего контроля.........................................3 1.2. Требования, предъявляемые к банковским электронным системам.
User Slolka : 3 декабря 2013
5 руб.
Реферат по политологии
Реферат на тему «Средства массовой информации в условиях тоталитаризма и демократии» Содержание Введение 1. Тоталитаризм и демократизм как два противоположных общественно-политических строя. 2. Функции СМИ в современном мире 3. СМИ в условиях тоталитаризма 4. СМИ в условиях демократии 5. СМИ в современной политической системе России Заключение Список используемой литературы
User natbd : 29 марта 2018
100 руб.
Современные представления о восприятии и его нарушениях
Введение. 3 ВОСПРИЯТИЕ КАК ПОЗНАВАТЕЛЬНЫЙ ПСИХИЧЕСКИЙ ПРОЦЕСС.. 4 ВОСПРИЯТИЕ: СТАНОВЛЕНИЕ И РАЗВИТИЕ.. 6 НАРУШЕНИЯ ВОСПРИЯТИЯ... 12 ПРИЛОЖЕНИЕ 1 - ИСТОРИЯ БОЛЕЗНИ БОЛЬНОЙ В., КОТОРАЯ БЫЛА ОПИСАНА Б.В. ЗЕЙГАРНИК СОВМЕСТНО С Г.В.БИРЕНБАУМ В 1935 Г. 19 ПРИЛОЖЕНИЕ 2 - Методика С.Я. Рубинштейн по исследованию природы галлюцинаций. 23 ПРИЛОЖЕНИЕ 3. Исследование роли мотивационного компонента в строении восприятия 24 СПИСОК ЛИТЕРАТУРЫ... 27 Введение Восприятие предметов и явлений материального
User Qiwir : 13 октября 2013
10 руб.
Чертеж усеченной полой призмы. Вариант 10 ЧЕРТЕЖ
Чертеж усеченной полой призмы. Вариант 10 ЧЕРТЕЖ Задание 46 Выполнить в трех проекциях чертеж усеченной полой призмы. a = 52 мм h = 60 мм c = 10 мм m = 43 мм n = 22 мм k = 42 мм e = 40 мм Чертеж выполнен на формате А3 + 3d модель + pdf (все на скриншотах показано и присутствует в архиве) выполнены в КОМПАС 3D. Также открывать и просматривать, печатать чертежи и 3D-модели, выполненные в КОМПАСЕ можно просмоторщиком КОМПАС-3D Viewer. По другим вариантам и всем вопросам пиши
User coolns : 31 марта 2026
150 руб.
Чертеж усеченной полой призмы. Вариант 10 ЧЕРТЕЖ
up Наверх