Advertisement
Guest User

модуль комплексных чисел

a guest
Sep 23rd, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. UNIT Cmplx;
  2. INTERFACE
  3.  
  4. complex = class {object}
  5. x,y,x_mn,y_mn:real;
  6. constructor create (x,y,x_mn,y_mn:real);
  7. procedure vivod;
  8.  
  9. function AddM(x,y:real):real; {А если мы хоти фунцию без формальных параметров, можно? все-равно все методы объекта работают с полями объекта??}
  10. function SubM(x,y:real):real; {т.е запись такого вида :function SubM():real; }
  11. Function MulM(x,y,x_mn,y_mn:real):real;
  12. Function DivM(x,y,x_mn,y_mn:real):real;
  13.  
  14. function AddR(x,y:real):real;
  15. function SubR(x,y:real):real;
  16. function MulR(x,y,x_mn,y_mn:real):real;
  17. Function DivR(x,y,x_mn,y_mn:real):real;
  18. end;
  19.  
  20.  
  21. IMPLEMENTATION
  22. Begin
  23.  
  24. constructor complex.create(x1,y1,x_mn1,y_mn1:real);
  25. begin
  26. x :=x1;
  27. y :=y1;
  28. x_mn := x_mn1;
  29. y_mn :=y_mn1
  30. end;
  31.  
  32.  
  33. procedure complex.vivod;
  34. begin
  35. WriteLn('Сложение: 'complex.AddR:5:1, complex.AddM:5:1,'i') ;
  36. WriteLn('Вычитание: 'complex.SubR:5:1, complex.SubM:5:1,'i');
  37. WriteLn('Умножение: 'complex.MulR:5:1, complex.MulM:5:l,'i') ;
  38. WriteLn('Деление: 'complex.DivR:5:l, complex.DivM:5:1,'i');
  39. end;
  40.  
  41. Function complex.AddM(x,y:real):real;
  42. begin
  43. AddM := x + y
  44. end {AddC};
  45.  
  46. function complex.AddR(x,y:real):real;
  47. begin
  48. AddR := x + y;
  49. end {AddC};
  50.  
  51. Function complex.SubM(x,y:real):real;
  52. begin
  53. z.re := x.re - y. re ;
  54. SubM:= x - y
  55. end {SubC};
  56.  
  57. function complex.SubR(x,y:real):real;
  58. begin
  59. SubR:= x - y;
  60. end {SubC};
  61.  
  62. Function complex.MulR(x,y,x_mn,y_mn:real):real;
  63. begin
  64. z:= x*y - x_mn*y_mn;
  65. end {MulC};
  66.  
  67. Function complex.MulM(x,y,x_mn,y_mn:real):real;
  68. begin
  69. z_mn:= x*у_mn + x_mn*y
  70. end {MulC};
  71.  
  72. Function c(x,y,x_mn,y_mn:real):real;
  73. var
  74. zz : real;
  75. begin
  76. zz := sqr(y) + sqr(y_mn);
  77. DivM := (x * y_mn - x_mn * y) / zz
  78. end {DivC};
  79.  
  80. Function complex.DivR(x,y,x_mn,y_mn:real):real;
  81. var
  82. zz : real;
  83. begin
  84. zz := sqr(y) + sqr(y_mn);
  85. DivR := (x * y + x_mn * y_mn) / zz;
  86. end {DivC};
  87.  
  88. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement