Лабораторная работа №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
Расчёт шахтной водоотливной установки
РАСЧЕТ ИСХОДНЫХ ПАРАМЕТРОВ ДЛЯ ВЫБОРА ОБОРУДОВАНИЯ ВОДООТЛИВНОЙ УСТАНОВКИ. РАСЧЕТ И ВЫБОР ТРУБОПРОВОДОВ. ВЫБОР НАСОСОВ И СХЕМЫ ИХ СОЕДИНЕНИЯ. ВЫБОР КОММУТАЦИОННОЙ ГИДРАВЛИЧЕСКОЙ СХЕМЫ ВОДООТЛИВНОЙ УСТАНОВКИ. РАСЧЕТ НАПОРНОЙ ХАРАКТЕРИСТИКИ ВНЕШНЕЙ СЕТИ. ОПРЕДЕЛЕНИЕ И АНАЛИЗ РАБОЧЕГО РЕЖИМА ВОДООТЛИВНОЙ УСТАНОВКИ. ВЫБОР ЭЛЕКТРОДВИГАТЕЛЯ ВОДООТЛИВНОЙ УСТАНОВКИ. ОПРЕДЕЛЕНИЕ ЭНЕРГОПОТРЕБЛЕНИЯ ВОДООТЛИВНОЙ УСТАНОВКИ.
User Вадим46 : 13 октября 2018
500 руб.
Расчёт шахтной водоотливной установки
Контрольная работа №1. Структуры и алгоритмы обработки данных - 1. Вариант 03.
Задание 1. Используя в качестве массива набор из 8 букв своих фамилии, имени, отчества, определить на каждом шаге в методе прямого выбора номера перемещаемых элементов (пример см. в лекциях, раздел 2.1). Задание 2. Используя в качестве массива набор из 8 букв своих фамилии, имени, отчества, определить на каждом шаге в методе шейкерной сортировки левую и правую границы сортируемой части массива (L и R). Задание 3. Используя в качестве массива набор из 8 букв своих фамилии, имени, отчества прове
User JulDir : 2 февраля 2013
39 руб.
Контрольная работа по предмету "Электротехника, электроника и схемотехника". Вариант № 24
Задача 1. По выходным характеристикам полевого транзистора (приложение 2, см. стр. 6-12) построить передаточную характеристику при указанном напряжении стока. Определить дифференциальные параметры S, Ri, µ полевого транзистора и построить их зависимости от напряжения на затворе. Сделать выводы о зависимости параметров транзистора от режима работы. Исходные данные для задачи берутся из таблицы П.1.1 приложения 1. № вар - 24 Тип ПТ - КП903В Uсио, В - 14 Uзио, В - -6 За
User Nightmare86 : 1 октября 2016
240 руб.
Діагностика та формування у співробітників органів внутрішніх справ мотивації професійного самовдосконалення
Зміст Вступ Розділ 1. Теоретичні питання вивчення мотивації професійної діяльності 1.1 Поняття мотивації, структура та фактори формування 1.2 Професійна діяльність та професійна мотивація 1.3 Зміст та основні напрямки розвитку мотивації професійного самовдосконалення Розділ 2. Методичні аспекти дослідження та формування мотивації професійного самовдосконалення у співробітників органів внутрішніх справ 2.1 Загальні положення вивчення та формування мотивації сфери працівника органів внутріш
User evelin : 15 октября 2013
up Наверх