type
complex = record
parte_reale,
parte_imm : real;
end;
procedure ReadComplex (var c: Complex);
begin
write('parte reale ? ');
readln(c.parte_reale);
write('parte immaginaria ? ');
readln(c.parte_imm)
end;
procedure WriteComplex (c: complex);
begin
if c.parte_imm < 0 then
writeln(c.parte_reale:4:2, ' - i*', abs(c.parte_imm):4:2)
else
writeln(c.parte_reale:4:2, ' + i*', c.parte_imm:4:2)
end;
procedure AssegnaC (x, y: real; var c: Complex);
begin
c.parte_reale := x;
c.parte_imm := y
end;
function Re (c: Complex): real;
begin
re := c.parte_reale
end;
function Im (c: complex): real;
begin
Im := c.parte_imm
end;
procedure SommaC (c1, c2: Complex; var c3: Complex);
begin
AssegnaC(Re(c1) + Re(c2), Im(c1) + Im(c2), c3);
end;