Паскаль

Предлагаю вашему вниманию самописные модули и программы на Free Pascal  для решения системы линейных уравнений. Далее привожу интерфейсные части модулей:


Unit _Mathem
Functions:  Sum      (a,b: Real): Real;  Diff     (a,b: Real): Real;  Prod     (a,b: Real): Real;  Quot     (a,b: Real): Real;  Power    (a,b: Real): Real;  Factorial(n  : Byte): LongInt;  Tan      (x  : Real): Real;  ArcSin   (x  : Real): Real;  ArcCos   (x  : Real): Real;
Procedures:  SysToDec (SysNumber: String ; Sys: Byte; var DecNumber: LongInt);  DecToSys (DecNumber: LongInt; Sys: Byte; var SysNumber: String );

Unit _Matrixs
Procedures:  ZeroMat       (var Mat ; m,n : Byte);  ReadMat       (var Mat ; m,n : Byte);  WriteMat      (var Mat ; m,n : Byte);
Procedures:  RowSwap       (var Mat ; m,n : Byte; n1,n2: Byte);  ColSwap       (var Mat ; m,n : Byte; n1,n2: Byte);  RowAdd        (var Mat ; m,n : Byte; n1,n2: Byte);  ColAdd        (var Mat ; m,n : Byte; n1,n2: Byte);  MultRow       (var Mat ; m,n : Byte; Row: Byte; Number: Real);  MultCol       (var Mat ; m,n : Byte; Col: Byte; Number: Real);  MultMat       (var Mat ; m,n : Byte;            Number: Real);
Procedures:  GetMatSum     (var Mat1; m,n : Byte; var Mat2;          var ResMat);  GetMatProd    (var Mat1; m,n : Byte; var Mat2; p: Byte; var ResMat);
Functions:  Determinant   (var Mat; n    : Byte): Real;  AddMinor      (var Mat; n,i,j: Byte): Real;  AlgAdd        (var Mat; n,i,j: Byte): Real;
Procedures:  GetMinor      (var Mat; m,n  : Byte; var Mnr   ; i1,i2,j1,j2: Byte);  GetAddMinor   (var Mat; m,n  : Byte; var AddMnr; i1,i2,j1,j2: Byte);  GetInvMat     (var Mat; n    : Byte; var InvMat);  Simplification(var Mat; m,n  : Byte);

Скачать можно здесь.