Самостоятельная работа По Дисциплине: Программирования на тему: № Работа с численными классами. Класс complex


Download 432.11 Kb.
bet4/10
Sana23.12.2022
Hajmi432.11 Kb.
#1046730
TuriСамостоятельная работа
1   2   3   4   5   6   7   8   9   10
Bog'liq
Работа с численными классами. Класс complex - C.Бойзаков

2.3 Операции с комплексными числами

Далее описаны операции с комплексными числами, поддерживаемые классом complex.


В таблице 2 перечислены конструкторы и операции присваивания для типа complex. Конструкторам могут передаваться исходные значения вещественной и мнимой частей. Если значения не заданы, они инициализируются конструктором по умолчанию для соответствующего типа.

Таблица 2 – Конструкторы и операции присваивания для типа complex.



Выражение

Эффект

complex с

Создает комплексное число с нулевой вещественной и мнимой частями (0+0i)

complex с(1.3)

Создает комплексное число с вещественной частью 1.3 и нулевой
мнимой частью (1.3+0i)

complex с(1.3, 2.4)

Создает комплексное число с вещественной частью 1.3 и мнимой
частью 4.2 (1.3+4.2i)

complex c1(c2)

Создает комплексное число c1 как копию с2

polar(4.2)

Создает временное комплексное число по полярным координатам
(амплитуда р = 4.2, фазовый угол φ = 0)

polar(4.2, 0.75)

Создает временное комплексное число по полярным координатам
(амплитуда р = 4.2, фазовый угол φ = 0.75)

conj(c)

Создает временное комплексное число, сопряженное с числом с
(то есть комплексное число с противоположным знаком мнимой части)

c1 = с2

Присваивает c1 вещественную и мнимую части с2

c1 += с2

Прибавляет с2 к c1

c1 -= с2

Вычитает с2 из c1

c1*=c2

Умножает с1 на с2

с1/=с2

Делит с1 на с2

Значение существующего комплексного числа может быть изменено только при помощи операторов присваивания. Комбинированные операторы присваивания +=, -=, *= и /= осуществляют суммирование, вычитание, умножение и деление значений двух комплексных операндов.


Вспомогательная функция polar() позволяет создать комплексное число, инициализируемое в полярных координатах (через амплитуду и фазовый угол, указанный в радианах):
// Создание комплексного числа с инициализацией в полярных координатах std::complex
c2(std::polar(4.2.0.75));
Если в создании комплексного числа задействовано неявное преобразование типа, возникает проблема. Например, следующее решение работает нормально: std::complex
c2(std::polar(4.2,0.75)); // OK
Однако похожая запись со знаком равенства ошибочна:
std::complex
с2 = std::polar(4.2.0.75); // ОШИБКА
Эта проблема рассматривается далее.
Вспомогательная функция conj() позволяет создать комплексное число, инициализированное значением, сопряженным с другим комплексным числом (то есть комплексным числом с противоположным знаком мнимой части):
std: :complex с1(1.1.5.5);
std::complex c2(conj(c1));
// c2 инициализируется как
// complex(1.1.-5.5)



Download 432.11 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling