Современные технологии программирования (часть 1-я). Лабораторная работа №2. Абстрактный тип данных “комплексное число”. Для всех вариантов (2020)

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

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 PComplex.~cpp
material.view.file_icon UComplex.h
material.view.file_icon Отчет.doc
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word

Описание

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

Цель: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++. Синтаксис классов: инкапсуляция, простые свойства.
Задание
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. Тип данных реализовать в отдельном модуле UComplex в консольном приложении.

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

март 2020, зачтено без замечаний
Лабораторная работа №2. Абстрактный тип данных «комплексное число»
Цель работы: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++. Синтаксис классов: инкапсуляция, простые свойства. Задание: • Реализовать абстрактный тип данных «комплексное число», используя класс С++, в соответствии с приведенной ниже спецификацией. • Протестировать каждую операцию, определенную на типе данных, используя средства модульного тестирования. • Если необходимо, предусмотрите возбуждение исключи
User Nik001 : 2 ноября 2021
250 руб.
Абстрактный тип данных «Комплексное число». Лабораторная работа №3 Современные технологии в программировании (часть 1)
Лабораторная работа №3 по дисциплине «Современные технологии в программировании (часть 1)» Абстрактный тип данных «Комплексное число» Цель: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++. Задание: 1. Реализовать абстрактный тип данных «комплексное число», используя класс С++, в соответствии с приведенной ниже спецификацией. 2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирова
User rmn77 : 19 октября 2017
50 руб.
Абстрактный тип данных «Комплексное число». Лабораторная работа №3 Современные технологии в программировании (часть 1) promo
Лабораторная работа №3 по дисциплине "Современные технологии программирования". Абстрактный тип данных “комплексное число”
Цель: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++. Задание: 1. Реализовать абстрактный тип данных «комплексное число», используя класс С++, в соответствии с приведенной ниже спецификацией. 2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования Спецификация типа данных «комплексное число». ADT TComplex Данные Комплексное число TComplex - это неизменяемая пара вещественн
User Doctor_Che : 29 мая 2013
40 руб.
Современные технологии программирования. Лабораторная работа №1. Для вариантов №№17-24. Абстрактный тип данных «комплексное число».
Тема: Классы Object Pascal, С++ Цель: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов Object Pascal, С++. Синтаксис классов: инкапсуляция, простые свойства. Задание 1. Реализовать абстрактный тип данных «комплексное число», используя класс • Object Pascal, • С++, в соответствии с приведенной ниже спецификацией. 2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования. Спецификац
User nik200511 : 26 февраля 2015
77 руб.
Лабораторная работа №3 Абстрактный тип данных «комплексное число»
Цель: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++. Задание: 1. Реализовать абстрактный тип данных «комплексное число», используя класс С++, в соответствии с приведенной ниже спецификацией. 2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования Спецификация типа данных «комплексное число». ADT TComplex Данные Комплексное число TComplex - это неизменяемая пара вещественн
User VVA77 : 11 апреля 2017
80 руб.
Лабораторная работа №3 Абстрактный тип данных комплексное число
Цель: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++. Задание: 1. Реализовать абстрактный тип данных «комплексное число», используя класс С++, в соответствии с приведенной ниже спецификацией. 2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования Спецификация типа данных «комплексное число». ADT TComplex Данные Комплексное число TComplex - это неизменяемая пара вещественных
User 8arracuda : 22 мая 2016
150 руб.
Лабораторная работа №3 «Абстрактный тип данных комплексное число»
Цель Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов С++. Задание 1. Реализовать абстрактный тип данных «комплексное число», используя класс С++, в соответствии с приведенной ниже спецификацией. 2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования. Спецификация типа данных «комплексное число». ADT TComplex Данные Комплексное число TComplex - это изменяемая пара вещественных чи
User AnnaB : 21 апреля 2013
100 руб.
Лабораторная работа №1 по дисциплине: Современные технологии программирования Абстрактный тип данных «комплексное число». Вариант с 17 по 24 (комплексное число)
Данная лабораторная подходит для вариантов: с 17 по 24 (комплексные числа) Цель: Сформировать практические навыки реализации абстрактных типов данных в соответствии с заданной спецификацией с помощью классов Object Pascal, С++. Синтаксис классов: инкапсуляция, простые свойства. Задание 1. Реализовать абстрактный тип данных «комплексное число», используя класс • Object Pascal, • С++, в соответствии с приведенной ниже спецификацией. 2. Протестировать каждую операцию, определенную на типе дан
User SibGOODy : 21 марта 2018
300 руб.
promo
Модернизация Шарнирной муфты междусекционного соединения УЭЦН электроцентробежного насоса ЭЦНМ5-30-Дипломная работа-Оборудование для добычи и подготовки нефти и газа
Модернизация Шарнирной муфты междусекционного соединения УЭЦН электроцентробежного насоса ЭЦНМ5-30 -Дипломная работа-Оборудование для добычи и подготовки нефти и газа Увеличение эффективности производства основано на использовании самого современного оборудования, применения новых технологических процессов, методов и форм управления. Для определения экономической эффективности от внедрения рассматриваемого в данном дипломном проекте межсекционного соединения можно выделить следующие мероприятия:
User nakonechnyy_lelya@mail.ru : 1 февраля 2017
2303 руб.
Модернизация Шарнирной муфты междусекционного соединения УЭЦН электроцентробежного насоса ЭЦНМ5-30-Дипломная работа-Оборудование для добычи и подготовки нефти и газа
Технология выращивания семян овощных культур: капуста, баклажан
Введение Сведения о культуре Краткая характеристика почвенно-климатических условий зоны выращивания семян Районированные сорта и гибриды Прогрессивная технология выращивания семян двулетних (однолетних) овощных культур. Качества семян, используемых для семеноводства данной культуры Термическая обработка семян Барботирование Дражирование семян Протравливание Технология выращивания маточников Сортовой контроль Сортовые прочистки Апробация Сортовой отбор Апробационные признаки культур. Способ хране
User Aronitue9 : 3 сентября 2012
20 руб.
Корпоративная социальная ответственность. Экзамен. Билет №25
Билет 25 1. Страновые модели КСО – три разновидности социального партнерства. Определите степень сочетания этих разновидностей в современной России. 2. Какие бы Вы предложили меры по сбережению и восстановлению природных ресурсов (самый банальный пример последнего – приобретение энергосберегающих ламп, экономия водных ресурсов и озеленение территории)?
User inwork2 : 16 декабря 2017
150 руб.
Созвездие Стрелец
Наблюдая галактики, сходные по строению с нашей звездной системой, мы убеждаемся, что в их центральных областях количество звезд в единице объема гораздо больше, чем на периферии. Взгляните, например, на фотографию туманности Андромеды. В центре этой галактики выделяется плотное шарообразное звездное ядро. Звезд здесь так много и расположены они так плотно, что только в 1944 г. американскому астроному Бааде удалось "разрешить" ядро туманности Андромеды на отдельные звезды. Нет сомнения, что и в
User Lokard : 12 августа 2013
20 руб.
up Наверх