home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / USCX / PASMATH.ZIP / COMPLEXP.PAS < prev    next >
Pascal/Delphi Source File  |  1987-01-16  |  4KB  |  138 lines

  1. {$SYMTAB-}
  2. PROGRAM COMPLEX (INPUT,OUTPUT);
  3.  
  4. CONST
  5.     PI = 3.141592653589793;
  6.  
  7. TYPE
  8.     COMPLEX = ARRAY [1..2] OF REAL;
  9. VAR
  10.     W,X,Y,Z : COMPLEX;
  11.     M,N : INTEGER;
  12.  
  13. FUNCTION CADD(X,Y:COMPLEX) : COMPLEX; EXTERN;
  14.  
  15. FUNCTION CSUB(X,Y:COMPLEX) : COMPLEX; EXTERN;
  16.  
  17. FUNCTION CMUL(X,Y:COMPLEX) : COMPLEX; EXTERN;
  18.  
  19. FUNCTION CDIV(X,Y:COMPLEX) : COMPLEX; EXTERN;
  20.  
  21. FUNCTION CINV(X:COMPLEX) : COMPLEX; EXTERN;
  22.  
  23. FUNCTION CNPOWR(N:INTEGER;X:COMPLEX) : COMPLEX; EXTERN;
  24.  
  25. FUNCTION CNROOT(N:INTEGER;X:COMPLEX) : COMPLEX; EXTERN;
  26.  
  27. FUNCTION CSQRT(X:COMPLEX) : COMPLEX; EXTERN;
  28.  
  29. FUNCTION CEXP(X:COMPLEX) : COMPLEX; EXTERN;
  30.  
  31. FUNCTION CLN(X:COMPLEX) : COMPLEX; EXTERN;
  32.  
  33. FUNCTION CLOGXY(X,Y:COMPLEX) : COMPLEX; EXTERN;
  34.  
  35. FUNCTION CYX(X,Y:COMPLEX) : COMPLEX; EXTERN;
  36.  
  37. FUNCTION CSIN(X:COMPLEX) : COMPLEX; EXTERN;
  38.  
  39. FUNCTION CCOS(X:COMPLEX) : COMPLEX; EXTERN;
  40.  
  41. FUNCTION CTAN(X:COMPLEX) : COMPLEX; EXTERN;
  42.  
  43. FUNCTION CARCSIN(X:COMPLEX) : COMPLEX; EXTERN;
  44.  
  45. FUNCTION CARCCOS(X:COMPLEX) : COMPLEX; EXTERN;
  46.  
  47. FUNCTION CARCTAN(X:COMPLEX) : COMPLEX; EXTERN;
  48.  
  49. BEGIN
  50.     WRITELN;
  51.     WRITE('What are the complex X values? ');
  52.     READLN(X[1],X[2]);
  53.     WRITE('What are the complex Y values? ');
  54.     READLN(Y[1],Y[2]);
  55.     WRITE('What is the integer N value?   ');
  56.     READLN(N);
  57.     M := -N;
  58.     WRITELN;  WRITELN;  WRITELN;
  59.     WRITELN('COMPLEX FUNCTIONS TEST':40);
  60.     WRITELN;
  61.  
  62.     WRITELN('   X REAL      X COMPLEX      Y REAL     Y COMPLEX     N');
  63.     WRITELN(X[1]:10:5,X[2]:15:5,Y[1]:12:5,Y[2]:14:5,N:6);
  64.     WRITELN;
  65.  
  66.     Z := CADD(X,Y);
  67.     WRITELN('X + Y =              ',Z[1]:12:5,Z[2]:12:5);
  68.  
  69.     Z := CSUB(X,Y);
  70.     WRITELN('X - Y =              ',Z[1]:12:5,Z[2]:12:5);
  71.  
  72.     Z := CMUL(X,Y);
  73.     WRITELN('X * Y =              ',Z[1]:12:5,Z[2]:12:5);
  74.  
  75.     Z := CDIV(X,Y);
  76.     WRITELN('X / Y =              ',Z[1]:12:5,Z[2]:12:5);
  77.  
  78.     Z := CNPOWR(N,X);
  79.     W := CNPOWR(M,X);
  80.     WRITELN('X TO THE N POWER  =  ',Z[1]:12:5,Z[2]:12:5,W[1]:15:5,W[2]:12:5);
  81.  
  82.     Z := CNROOT(N,Z);
  83.     W := CNROOT(M,W);
  84.     WRITELN('N ROOT OF X =        ',Z[1]:12:5,Z[2]:12:5,W[1]:15:5,W[2]:12:5);
  85.  
  86.     Z := CSQRT(X);
  87.     M := 2;
  88.     W := CNPOWR(M,Z);
  89.     WRITELN('SQUARE ROOT OF X =   ',Z[1]:12:5,Z[2]:12:5,W[1]:15:5,W[2]:12:5);
  90.  
  91.     Z := CEXP(X);
  92.     W := CLN(Z);
  93.     WRITELN('E TO THE X POWER =   ',Z[1]:12:5,Z[2]:12:5,W[1]:15:5,W[2]:12:5);
  94.  
  95.     W[1] := -X[1];
  96.     W[2] := -X[2];
  97.     Z := CEXP(W);
  98.     W := CLN(Z);
  99.     WRITELN('E TO THE -X POWER =  ',Z[1]:12:5,Z[2]:12:5,-W[1]:15:5,-W[2]:12:5);
  100.  
  101.     Z := CLN(X);
  102.     W := CEXP(Z);
  103.     WRITELN('COMPLEX LN(X) =      ',Z[1]:12:5,Z[2]:12:5,W[1]:15:5,W[2]:12:5);
  104.  
  105.     Z := CLOGXY(X,Y);
  106.     W := CYX(Z,Y);
  107.     WRITELN('LOG OF X BASE Y =    ',Z[1]:12:5,Z[2]:12:5,W[1]:15:5,W[2]:12:5);
  108.  
  109.     Z := CYX(X,Y);
  110.     W := CLOGXY(Z,Y);
  111.     WRITELN('Y TO THE X POWER =   ',Z[1]:12:5,Z[2]:12:5,W[1]:15:5,W[2]:12:5);
  112.  
  113.     Z := CSIN(X);
  114.     W := CARCSIN(Z);
  115.     WRITELN('COMPLEX SIN(X) =     ',Z[1]:12:5,Z[2]:12:5,W[1]:15:5,W[2]:12:5);
  116.  
  117.     Z := CCOS(X);
  118.     W := CARCCOS(Z);
  119.     WRITELN('COMPLEX COS(X) =     ',Z[1]:12:5,Z[2]:12:5,W[1]:15:5,W[2]:12:5);
  120.  
  121.     Z := CTAN(X);
  122.     W := CARCTAN(Z);
  123.     WRITELN('COMPLEX TAN(X) =     ',Z[1]:12:5,Z[2]:12:5,W[1]:15:5,W[2]:12:5);
  124.  
  125.     Z := CARCSIN(X);
  126.     W := CSIN(Z);
  127.     WRITELN('COMPLEX ARCSIN(X) =  ',Z[1]:12:5,Z[2]:12:5,W[1]:15:5,W[2]:12:5);
  128.  
  129.     Z := CARCCOS(X);
  130.     W := CCOS(Z);
  131.     WRITELN('COMPLEX ARCCOS(X) =  ',Z[1]:12:5,Z[2]:12:5,W[1]:15:5,W[2]:12:5);
  132.  
  133.     Z := CARCTAN(X);
  134.     W := CTAN(Z);
  135.     WRITELN('COMPLEX ARCTAN(X) =  ',Z[1]:12:5,Z[2]:12:5,W[1]:15:5,W[2]:12:5);
  136.  
  137. END.
  138.