Арифметические действия с комплексными числами - Turbo Pascal

Формулировка задачи:

Напишите программу, которая находит сумму разность , произведение, частное и модули двух заданных комплексных чисел. Входные данные: Каждое из комплексных чисел задаётся значением своей действительной и мнимой части. Заданные числа отличны от нуля. Выходные : Результат выдать следующим образом: Комплексные числа : A=< число A> B=< число B> Результаты вычислений: |A|=<значение модуля A> |B|=<значение модуля B> A+B=<значение A+B> A-B=< значение A-B> B-A=< значение B-A> A*B=< значение A*B> A/B=< значение A/B> B/A=< значение B/A> Формат вывода комплексного числа : действительная часть числа >, < мнимая часть числа >) , значение действительной и мнимой части числа выводить с 3 знаками после запятой. Указания: 1. Определите тип данных "Комплексное число". Например: type TComplex=record Re, Im: Real; end; 2. Оформите ввод, вывод комплексного числа, а также математические операции с комплексными числами в виде отдельных подпрограмм.

Код к задаче: «Арифметические действия с комплексными числами - Turbo Pascal»

textual
uses crt;
type complex=record
             re,im:real;
             end;
procedure Vvod(var f:complex;c:char);
begin
repeat
writeln('Введите действительную и мнимую части числа, отличные от 0 ',c);
readln(f.re,f.im);
until(f.re<>0)and(f.im<>0);
end;
procedure Vyvod(f:complex);
begin
if f.im<0 then writeln(f.re:7:3,' -',-f.im:0:3,'i')
else writeln(f.re:7:3,' +',f.im:0:3,'i');
end;
function Modul(f:complex):real;
begin
Modul:=sqrt(sqr(f.re)+sqr(f.im));
end;
procedure Summa(f,g:complex;var z:complex);
begin
z.re:=f.re+g.re;
z.im:=f.im+g.im;
end;
procedure Razn(f,g:complex;var z:complex);
begin
z.re:=f.re-g.re;
z.im:=f.im-g.im;
end;
procedure Proizvedenie(f,g:complex;var z:complex);
begin
z.re:=f.re*g.re-f.im*g.im;
z.im:=g.re*f.im+f.re*g.im;
end;
procedure Chastnoe(f,g:complex;var z:complex);
begin
z.re:=(f.re*g.re+f.im*g.im)/(sqr(g.re)+sqr(g.im));
z.im:=(f.im*g.re-f.re*g.im)/(sqr(g.re)+sqr(g.im));
end;
var  a,b,c:complex;
begin
clrscr;
Vvod(a,'A');
Vvod(b,'B');
clrscr;
write('A=');Vyvod(a);
write('B=');Vyvod(b);
writeln('Модуль А=',Modul(a):0:3);
writeln('Модуль В=',Modul(b):0:3);
Summa(a,b,c);
write('A+B=');Vyvod(c);
Razn(a,b,c);
write('A-B=');Vyvod(c);
Razn(b,a,c);
write('B-A=');Vyvod(c);
Proizvedenie(a,b,c);
write('A*B=');Vyvod(c);
Chastnoe(a,b,c);
write('A/B=');Vyvod(c);
Chastnoe(b,a,c);
write('B/A=');Vyvod(c);
readln
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

5   голосов, оценка 3.800 из 5


СДЕЛАЙТЕ РЕПОСТ