Alt linux Программирование на языке С++ в среде Qt Creator Е. Р. Алексеев, Г. Г. Злобин, Д. А. Костюк, О. В. Чеснокова, А. С. Чмыхало Москва alt linux 2015



Download 5,27 Mb.
Pdf ko'rish
bet109/193
Sana24.02.2022
Hajmi5,27 Mb.
#227496
1   ...   105   106   107   108   109   110   111   112   ...   193
Bog'liq
Book-qtC


Глава 9. Структуры в языке C++
}
cout<<" m a x = "<f c l o s e ( f ) ;
return 0 ;
}
Задача 9.2.
Даны два комплексных числа z
1
и z
2
. Выполнить над ними основные
операции
:
• сложение z
1
+ z
2
,
• вычитание z
1
− z
2
,
• умножение z
1
· z
2
,
• деление
z
1
z
2
,
• возведение в степень n z
n
1
,
• извлечение корня n-й степени
n

z
1
• вычисление комплексного сопряжённого числа ¯
z
1
.
Суммой двух комплексных чисел z
1
= a+i·b и z
2
= c+i·d называется комплексное
число z = z
1
+ z
2
= (a + c) + i · (b + d).
Разностью двух комплексных чисел z
1
= a + i · b и z
2
= c + i · d называется
комплексное число z = z
1
− z
2
= (a − c) + i · (b − d).
Произведением двух комплексных чисел z
1
= a + i · b и z
2
= c + i · d называется
комплексное число z = z
1
· z
2
= (a · c − b · d) + i · (b · c + a · d).
Частным двух комплексных чисел z
1
= a + i · b и z
2
= c + i · d называется
комплексное число
z =
z
1
z
2
=
ac + bd
c
2
+ d
2
+ i ·
bc − ad
c
2
+ d
2
Числом, сопряжённым комплексному числу z = x + i · y, называется число ¯z =
x − i · y (рис. 9.2).
Всякое комплексное число, записанное в алгебраической форме z = x + i · y,
можно записать в тригонометрической z = r(cos φ+i·sin φ) или в показательной
форме z = r · e
i·φ
, где r =
px
2
+ y
2
— модуль комплексного числа z, φ = arctan
y
x
— его аргумент (рис. 9.2).
Для возведения в степень комплексного числа, записанного в тригонометри-
ческой форме z = r(cos φ + i · sin φ), можно воспользоваться формулой Муавра
z
n
= r
n
· (cos(n · φ) + i · sin(n · φ)).
Формула для извлечения корня n-й степени из комплексного числа z = r·(cos φ+
i · sin φ) имеет вид
n

z =
n

z(cos
φ+2·π·k
n
+ i · sin
φ+2·π·k
n
),
где n > 1, k = 0, 1, . . . , n − 1.
Далее приведён текст программы, реализующий алгоритм решения зада-
чи 9.2. В программе описаны две структуры для работы с комплексными числа-
ми: структура complex1 для представления комплексных чисел в алгебраической
форме (Re — действительная часть комплексного числа, Im — его мнимая часть)
и структура complex2 для представления комплексных чисел в показательной
Программирование на языке С++ в среде Qt Creator


9.1. Общие сведения о структурах
253
или тригонометрической форме (Modul — модуль комплексного числа, Argum —
его аргумент). Кроме того в программе созданы функции, реализующие основ-
ные действия над комплексными числами, переход между различными формами
представления комплексных чисел, а также ввод-вывод комплексных чисел.
#include 
#include 
using namespace s t d ;
struct complex1
{
f l o a t Re ;
f l o a t Im ;
} ;
struct complex2
{
f l o a t Modul ;
f l o a t Argum ;
} ;
//Ввод числа в алгебраической форме
complex1 vvod1 ( )
{
complex1 temp ;
cout<<"Введите действительную часть числа\ n " ;
c i n >>temp . Re ;
cout<<"Введите мнимую часть комплексного числа\ n " ;
c i n >>temp . Im ;
return temp ;
}
//Ввод числа в тригонометрической или показательной форме
complex2 vvod2 ( )
{
complex2 temp ;
cout<<"Введите модуль комплексного числа\ n " ;
c i n >>temp . Modul ;
cout<<"Введите аргумент комплексного числа\ n " ;
c i n >>temp . Argum ;
return temp ;
}
//Вывод числа в алгебраической форме
void v i v o d ( complex1 c h i s l o )
{
cout<i f ( c h i s l o . Im>=0)
cout<<" + "<< c h i s l o . Im<<" i "<e l s e
cout<<" "<< c h i s l o . Im<<" i "<}
//Вывод числа в тригонометрической форме
void v i v o d ( complex2 c h i s l o )
{
cout<" ) ) "
<}
//Перевод числа из тригонометрической формы в алгебраическую,
//pr определяет, выводить или нет полученное число на экран.
complex1 p e r e v o d ( complex2 c h i s l o , bool pr=f a l s e )
{
complex1 temp ;
temp . Re=c h i s l o . Modul∗ c o s ( c h i s l o . Argum ) ;
temp . Im=c h i s l o . Modul∗ s i n ( c h i s l o . Argum ) ;
i f ( pr ) v i v o d ( temp ) ;
return temp ;
}
//Перевод числа из алгебраической формы в тригонометрическую,
© 2015 Алексеев Е. Р., Злобин Г. Г., Костюк Д. А., Чеснокова О. В., Чмыхало А. С.


254
Download 5,27 Mb.

Do'stlaringiz bilan baham:
1   ...   105   106   107   108   109   110   111   112   ...   193




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish