Арифметические действия с комплексными числами - 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.
Объяснение кода листинга программы
- В процедуре Vvod используется цикл repeat-until для повторного запроса ввода, пока действительная и мнимая части числа не будут отличны от нуля. Переменные f и c используются для хранения введенных пользователем чисел.
- В процедуре Vyvod используется оператор вывода с использованием символа 'i' для указания мнимой части числа. Если мнимая часть отрицательна, выводится символ '-'.
- Функция Modul вычисляет модуль комплексного числа, используя формулу sqrt(abs(real part) + abs(imaginary part)).
- В процедуре Summa переменные f и g заменяются на z, и сумма действительной и мнимой частей комплексного числа вычисляется как сумма соответствующих частей.
- В процедуре Razn переменные f и g заменяются на z, и разность действительной и мнимой частей комплексного числа вычисляется как разность соответствующих частей.
- В процедуре Proizvedenie умножение действительной и мнимой частей комплексного числа вычисляется как сумма произведения их действительных и мнимых частей и перемножения их мнимых и действительных частей.
- В процедуре Chastnoe умножение действительной и мнимой частей комплексного числа вычисляется как сумма произведения их действительных и мнимых частей и перемножения их мнимых и действительных частей, деленная на сумму квадратов действительных и мнимых частей комплексного числа.
- В начале программы объявляются переменные a, b и c типа complex.
- После ввода данных для a и b выводится информация о модулях этих чисел.
- Затем выполняются операции сложения и вычитания над числами a, b и c, а результаты выводятся на экран.
- В конце программы с помощью функции readln считывается ввод пользователя и программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д