Вычислить значение выражения - Turbo Pascal (33730)
Формулировка задачи:
Даны три комплексных числа X=x_(1 )+1x_(2 ), y=y_(1)+1y_(2), z=z_(1)+1z_(2) . Вычислить величину (xy+z)(y-2z). Прошу вас помогите, нужен код программы!
Решение задачи: «Вычислить значение выражения»
textual
Листинг программы
uses crt; type Complex = record Re:double; Im:double; end; function mult(var A : Complex; var B : Complex):Complex; var res:Complex; begin res.Re := (A.Re *B.Re - A.Im*B.Im); res.Im := A.Re*B.Im + A.Im*B.Re; mult := res; end; function sum(var A : Complex; var B : Complex):Complex; var res:Complex; begin res.Re := A.Re + B.Re; res.Im := A.Im + B.Im; sum := res; end; function difference(var A : Complex; var B : Complex):Complex; var res:Complex; begin res.Re := A.Re - B.Re; res.Im := A.Im - B.Im; difference := res; end; procedure input (var A : Complex); begin writeln('please enter a valid part number'); readln(A.Re); writeln('please enter imaginari part number'); readln(A.Im); end; procedure print(var A : Complex); begin if (A.Im < 0) then writeln (A.Re:5:5,A.Im:5:5,'i') else writeln (A.Re:5:5,'+',A.Im:5:5,'i'); end; var A,B,C : Complex; ch : char; begin clrscr; repeat clrscr; writeln('1 addition complex number'); writeln('2 subtraction complex number'); writeln('ESC exit'); ch := readkey; case ch of '1' : begin clrscr; input(A); input(B); C := sum(A,B); print(C); readkey; end; '2' : begin clrscr; input(A); input(B); C := difference(A,B); print(C); readkey; end; end; until(ord(ch)=27); end.
Объяснение кода листинга программы
- В функции mult переменная res используется для хранения результата вычисления выражения (A.Re B.Re - A.ImB.Im). Значение переменной res присваивается переменной mult.
- В функции sum переменная res используется для хранения результата вычисления суммы (A.Re + B.Re). Значение переменной res присваивается переменной sum.
- В функции difference переменная res используется для хранения результата вычисления разности (A.Re - B.Re). Значение переменной res присваивается переменной difference.
- В процедуре input переменные A.Re и A.Im считываются с помощью функции readln.
- В процедуре print используется условное выражение (если A.Im < 0, то выводится i, иначе выводятся символы
+
и A.Im). - В основной программе после ввода значений для A и B вызывается функция mult или функция sum в зависимости от введенной пользователем команды. Результат вычислений выводится на экран с помощью функции print.
- Программа продолжается до тех пор, пока пользователь не введет команду ESC.