Страницу Назад
Поискать другие аналоги этой работы
47 Современные технологии программирования (часть 1-я). Лабораторная работа №2. Абстрактный тип данных “комплексное число”. Для всех вариантов (2020)ID: 214987Дата закачки: 28 Декабря 2020 Продавец: nik200511 (Напишите, если есть вопросы) Посмотреть другие работы этого продавца Тип работы: Работа Лабораторная Форматы файлов: Microsoft Word, C++ Сдано в учебном заведении: ДО СИБГУТИ Описание: Лабораторная работа 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, зачтено без замечаний Размер файла: 442,7 Кбайт Фаил: ![]() ------------------- Обратите внимание, что преподаватели часто переставляют варианты и меняют исходные данные! Если вы хотите, чтобы работа точно соответствовала, смотрите исходные данные. Если их нет, обратитесь к продавцу или к нам в тех. поддержку. Имейте ввиду, что согласно гарантии возврата средств, мы не возвращаем деньги если вариант окажется не тот. -------------------
Скачано: 2 Коментариев: 0 |
||||
Есть вопросы? Посмотри часто задаваемые вопросы и ответы на них. Опять не то? Мы можем помочь сделать! Некоторые похожие работы:К сожалению, точных предложений нет. Рекомендуем воспользоваться поиском по базе. |
||||
Не можешь найти то что нужно? Мы можем помочь сделать! От 350 руб. за реферат, низкие цены. Спеши, предложение ограничено ! |
Вход в аккаунт:
Страницу Назад
Cодержание / Современные технологии программирования / Современные технологии программирования (часть 1-я). Лабораторная работа №2. Абстрактный тип данных “комплексное число”. Для всех вариантов (2020)
Вход в аккаунт: