langs a-z
This commit is contained in:
parent
db842d013d
commit
d066446780
11389 changed files with 98361 additions and 1020 deletions
68
Task/Arithmetic-Complex/Pascal/arithmetic-complex-1.pascal
Normal file
68
Task/Arithmetic-Complex/Pascal/arithmetic-complex-1.pascal
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
program showcomplex(output);
|
||||
|
||||
type
|
||||
complex = record
|
||||
re,im: real
|
||||
end;
|
||||
|
||||
var
|
||||
z1, z2, zr: complex;
|
||||
|
||||
procedure set(var result: complex; re, im: real);
|
||||
begin
|
||||
result.re := re;
|
||||
result.im := im
|
||||
end;
|
||||
|
||||
procedure print(a: complex);
|
||||
begin
|
||||
write('(', a.re , ',', a.im, ')')
|
||||
end;
|
||||
|
||||
procedure add(var result: complex; a, b: complex);
|
||||
begin
|
||||
result.re := a.re + b.re;
|
||||
result.im := a.im + b.im;
|
||||
end;
|
||||
|
||||
procedure neg(var result: complex; a: complex);
|
||||
begin
|
||||
result.re := -a.re;
|
||||
result.im := -a.im
|
||||
end;
|
||||
|
||||
procedure mult(var result: complex; a, b: complex);
|
||||
begin
|
||||
result.re := a.re*b.re - a.im*b.im;
|
||||
result.im := a.re*b.im + a.im*b.re
|
||||
end;
|
||||
|
||||
procedure inv(var result: complex; a: complex);
|
||||
var
|
||||
anorm: real;
|
||||
begin
|
||||
anorm := a.re*a.re + a.im*a.im;
|
||||
result.re := a.re/anorm;
|
||||
result.im := -a.im/anorm
|
||||
end;
|
||||
|
||||
begin
|
||||
set(z1, 3, 4);
|
||||
set(z2, 5, 6);
|
||||
|
||||
neg(zr, z1);
|
||||
print(zr); { prints (-3,-4) }
|
||||
writeln;
|
||||
|
||||
add(zr, z1, z2);
|
||||
print(zr); { prints (8,10) }
|
||||
writeln;
|
||||
|
||||
inv(zr, z1);
|
||||
print(zr); { prints (0.12,-0.16) }
|
||||
writeln;
|
||||
|
||||
mul(zr, z1, z2);
|
||||
print(zr); { prints (-9,38) }
|
||||
writeln
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue