Арифметические действия с комплексными числами - 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. Оформите ввод, вывод комплексного числа, а также математические операции с комплексными числами в виде отдельных подпрограмм.

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

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.

Объяснение кода листинга программы

  1. В процедуре Vvod используется цикл repeat-until для повторного запроса ввода, пока действительная и мнимая части числа не будут отличны от нуля. Переменные f и c используются для хранения введенных пользователем чисел.
  2. В процедуре Vyvod используется оператор вывода с использованием символа 'i' для указания мнимой части числа. Если мнимая часть отрицательна, выводится символ '-'.
  3. Функция Modul вычисляет модуль комплексного числа, используя формулу sqrt(abs(real part) + abs(imaginary part)).
  4. В процедуре Summa переменные f и g заменяются на z, и сумма действительной и мнимой частей комплексного числа вычисляется как сумма соответствующих частей.
  5. В процедуре Razn переменные f и g заменяются на z, и разность действительной и мнимой частей комплексного числа вычисляется как разность соответствующих частей.
  6. В процедуре Proizvedenie умножение действительной и мнимой частей комплексного числа вычисляется как сумма произведения их действительных и мнимых частей и перемножения их мнимых и действительных частей.
  7. В процедуре Chastnoe умножение действительной и мнимой частей комплексного числа вычисляется как сумма произведения их действительных и мнимых частей и перемножения их мнимых и действительных частей, деленная на сумму квадратов действительных и мнимых частей комплексного числа.
  8. В начале программы объявляются переменные a, b и c типа complex.
  9. После ввода данных для a и b выводится информация о модулях этих чисел.
  10. Затем выполняются операции сложения и вычитания над числами a, b и c, а результаты выводятся на экран.
  11. В конце программы с помощью функции readln считывается ввод пользователя и программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы