Advertisement
popelka

Pascal jednotka - Komplexní čísla

Mar 13th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.32 KB | None | 0 0
  1. unit KOMPLEXC;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. interface
  6.   uses math;
  7.   type KOMPLEX = record a,b:integer;
  8.                  end;
  9.   procedure napisK(A:KOMPLEX);
  10.   procedure novyK(var A:KOMPLEX);
  11.   procedure soucetK(A,B:KOMPLEX; var C:KOMPLEX);
  12.   procedure soucinK(A,B:KOMPLEX; var C:KOMPLEX);
  13.   procedure pruhK(A:KOMPLEX; var B:KOMPLEX);
  14.   procedure rozdilK(A,B:KOMPLEX; var C:KOMPLEX);
  15.   procedure gonK(A:KOMPLEX);
  16.  
  17. implementation
  18.  
  19.  procedure napisK(A:KOMPLEX);
  20.  begin
  21.    write('z = ',A.a,' + ', A.b,'i');
  22.  end;
  23.  
  24.  procedure novyK(var A:KOMPLEX);
  25.  begin
  26.    writeln('z = a + bi');
  27.    write('a = '); readln(A.a);
  28.    write('b = '); readln(A.b);
  29.    napisK(A); writeln; writeln;
  30.  end;
  31.  
  32.  procedure soucetK(A,B:KOMPLEX; var C:KOMPLEX);
  33.  begin
  34.    C.a := A.a + B.a;
  35.    C.b := A.b + B.b;
  36.  end;
  37.  
  38.  procedure soucinK(A,B:KOMPLEX; var C:KOMPLEX);
  39.  begin
  40.    C.a := (A.a*B.a) - (A.b*B.b);
  41.    C.b := (A.a*B.b) + (B.a*A.b);
  42.  end;
  43.  
  44.  procedure pruhK(A:KOMPLEX; var B:KOMPLEX);
  45.  begin
  46.    B.a := A.a; B.b := -A.a;
  47.  end;
  48.  
  49.  procedure rozdilK(A,B:KOMPLEX; var C:KOMPLEX);
  50.  begin
  51.    C.a:= A.a-B.a; C.b:= A.b - B.b;
  52.  end;
  53.  
  54.  Procedure gonK(A:KOMPLEX);
  55.  Begin
  56.    NapisK(A);
  57.    Write(' = ',sqrt((A.a*A.a)+(A.b*A.b)):0:3,'*(cos(',
  58.          (arctan(A.b/A.a)*180/PI):0:3,')+isin(',
  59.          (arctan(A.b/A.a)*180/PI):0:3,'))');
  60.  end;
  61. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement