1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
| помогите пожалуйста, в этом модуле надо выполнить все арифмитические операции с комплексными числами и перевести их в тригонометрическую форму и составить основную программу.
Код Pascal1
Unit Cmplx;
Interface
Type
Complex = Record
Re: Real;
Im: Real;
End;
function Modul(z:complex):real;
function Argument(z:complex):real;
Procedure AddC (X, y: Complex; Var z : Complex);
Procedure SubC (X, y: Complex; Var Z: Complex);
Procedure MulC (X, Y: Complex; Var Z: Complex);
Procedure DivC (X, y: Complex; Var Z: Complex);
procedure Power(z:complex;n:integer;var t:complex);
Const
c: Complex = (Re: 0.1; im: -1);
begin
writeln('введите по очередно действительные и мнимые части');
read(x.re, x.im, y.re, y.im);
Implementation
function Modul;
begin
Modul:=sqrt(sqr(z.re)+sqr(z.im));
function Argument;
begin
Argument:=arctan(z.im/z.re);
end;
Procedure Addc;
Begin
z.Re:= X.Re + Y.Re;
Z.Im:= X.Im + Y.Im;
End {Addc};
Procedure Subc;
Begin
Z.Re:= X.Re - Y.Re;
Z.Im:= X.Im - Y.Im;
End {Subc};
Procedure Mulc;
Begin
Z.Re:= X.Re * Y.Re - X.Im * Y.Im;
Z.Im:= X.Re * Y.Im + X.Im * Y.Re;
End {Mulc};
Procedure DivC;
Var
ZZ: Real;
Begin
ZZ:= Sqr(Y.Re) + Sqr(Y.Im);
Z.Re:= (X.Re * Y.Re + X.Im * Y.Im) / ZZ;
Z.Im:= (X.Re * Y.Im - X.Im * Y.Re) / ZZ;
End;
procedure Power;
var m:real;
m:=m*Modul(z);
t.re:=m*cos(n*Argument(z));
t.im:=m*sin(n*Argument(z));
End.
function Modul(z:complex):real;
function Argument(z:complex):real;
Procedure AddC (X, y: Complex; Var z : Complex);
Procedure SubC (X, y: Complex; Var Z: Complex);
Procedure MulC (X, Y: Complex; Var Z: Complex);
Procedure DivC (X, y: Complex; Var Z: Complex);
procedure Power(z:complex;n:integer;var t:complex);
Const
c: Complex = (Re: 0.1; im: -1);
begin
writeln('введите по очередно действительные и мнимые части');
read(x.re, x.im, y.re, y.im);
Implementation
function Modul;
begin
Modul:=sqrt(sqr(z.re)+sqr(z.im));
function Argument;
begin
Argument:=arctan(z.im/z.re);
end;
Procedure Addc;
Begin
z.Re:= X.Re + Y.Re;
Z.Im:= X.Im + Y.Im;
End {Addc};
Procedure Subc;
Begin
Z.Re:= X.Re - Y.Re;
Z.Im:= X.Im - Y.Im;
End {Subc};
Procedure Mulc;
Begin
Z.Re:= X.Re * Y.Re - X.Im * Y.Im;
Z.Im:= X.Re * Y.Im + X.Im * Y.Re;
End {Mulc};
Procedure DivC;
Var
ZZ: Real;
Begin
ZZ:= Sqr(Y.Re) + Sqr(Y.Im);
Z.Re:= (X.Re * Y.Re + X.Im * Y.Im) / ZZ;
Z.Im:= (X.Re * Y.Im - X.Im * Y.Re) / ZZ;
End;
procedure Power;
var m:real;
m:=m*Modul(z);
t.re:=m*cos(n*Argument(z));
t.im:=m*sin(n*Argument(z));
End. |