Вычислить значение выражения - 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.

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

  1. В функции mult переменная res используется для хранения результата вычисления выражения (A.Re B.Re - A.ImB.Im). Значение переменной res присваивается переменной mult.
  2. В функции sum переменная res используется для хранения результата вычисления суммы (A.Re + B.Re). Значение переменной res присваивается переменной sum.
  3. В функции difference переменная res используется для хранения результата вычисления разности (A.Re - B.Re). Значение переменной res присваивается переменной difference.
  4. В процедуре input переменные A.Re и A.Im считываются с помощью функции readln.
  5. В процедуре print используется условное выражение (если A.Im < 0, то выводится i, иначе выводятся символы + и A.Im).
  6. В основной программе после ввода значений для A и B вызывается функция mult или функция sum в зависимости от введенной пользователем команды. Результат вычислений выводится на экран с помощью функции print.
  7. Программа продолжается до тех пор, пока пользователь не введет команду ESC.

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

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