Современные технологии программирования (часть 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
Філософія в епоху ранніх буржуазних революцій у Європі
Філософія Нового часу історичними передумовами свого формування має утвердження буржуазного способу виробництва в Західній Європі, наукову революцію XVI-XVII ст., становлення експериментального природознавства. Головне своє завдання філософія Нового часу вбачає в розробці та обґрунтуванні методів наукового пізнання. На цій основі формуються в філософії XVII ст. два протилежні напрямки: емпіризм та раціоналізм. Емпіризм проголошує, що основний зміст наукове пізнання отримує з чуттєвого досвіду, в
User evelin : 16 ноября 2013
10 руб.
Техника и технология СМИ
Средства массовой информации: понятие и виды. Словолитный процесс И. Гутенберга. Наборный процесс И. Гутенберга. Печатный процесс И. Гутенберга. Продукция типографии И. Гутенберга. И. Фуст и П. Шеффер. Появление книгопечатания в России. Резцовая гравюра как вид глубокой печати. Офорт как вид глубокой печати. Акватинта как вид глубокой печати. Роль индустриальной революции в развитии печатного дела. Литография как вид плоской печати. Фототипия как вид плоской печати. Офсет как вид плоской печати.
User Elfa254 : 10 июня 2013
10 руб.
По двум проекциям модели построить третью проекцию и изометрию. Упражнение 24 - Вариант 15
Б.Г. Миронов, Р.С. Миронова, Д.А. Пяткина, А.А. Пузиков. Сборник заданий по инженерной графике с примерами выполнения чертежей на компьютере. Упражнение 24. Вариант 15 По двум проекциям модели построить третью проекцию и изометрию. Построить линии среза на проекциях модели. Найти натуральную величину среза. На горизонтальной проекции линия среза не показана. В состав работы входит: Чертеж; 3D модель. Выполнено в программе Компас + чертеж в PDF.
User .Инженер. : 28 декабря 2025
100 руб.
По двум проекциям модели построить третью проекцию и изометрию. Упражнение 24 - Вариант 15 promo
Сергеев Г.Г. Слайды к лекциям по дисциплине: Персональные ЭВМ
Содержание: История создания ЭВМ и ПЭВМ. Классификация ПЭВМ, причины успеха ПЭВМ, ограниченность применения ПЭВМ. Развитие архитектуры IA-32 в семействе Pentium. Использование расширенных возможностей процессоров семейства Pentium. . MMX-расширение архитектуры микропроцессора Pentium. Программирование с помощью STREAMING SIMD EXTENSIONS (SSE). Команды Потокового Расширения SIMD. Примеры программирования с помощью SSE. Архитектура Intel 64. Двухъядерные процессоры Intel и AMD. Классификация: SMP,
User ostah : 18 сентября 2012
3 руб.
up Наверх