Компьютерное моделирование. Тарасов В.Н - 125 стр.

UptoLike

15
e=0.01;
var
Form1: TForm1;
N:integer;
m,k:array [1..50] of integer;
mu,gm,la:mas;
r:array [1..50,1..50] of real;
A:mass;
B:mas;
procedure SMO(lam,mu:real;m,k:integer; var Ro,w,Nq,N,U:real; var P: array of real);
external 'SMO.dll';
implementation
{$R *.dfm}
function strtoval(st:string):real;
var
rl:real;
i,j:integer;
begin
i:=1;
rl:=0;
while i<=length(st) do
begin
if (st[i]<>'.')and(st[i]<>',') then begin
rl:=rl*10+strtoint(st[i]);
i:=i+1
end
else
begin
j:=i;
i:=i+1;
while i<=length(st) do begin
rl:=rl+strtoint(st[i])/power(10,i-j);
i:=i+1
end
end
end;
strtoval:=rl
end;
{___________SIMQ______________}
procedure Tform1.SimQ(n:integer; A:mass; var b:mas);
const E=1e-21;
var
i,l,j,k1,ks:integer;
max,u,v: real;
begin
for i:=1 to n do
A[i,n+1]:=B[i];
for i:=1 to n do
begin
max:=abs(A[i,i]);
         e=0.01;
          var
           Form1: TForm1;
           N:integer;
           m,k:array [1..50] of integer;
           mu,gm,la:mas;
           r:array [1..50,1..50] of real;
           A:mass;
           B:mas;
          procedure SMO(lam,mu:real;m,k:integer; var Ro,w,Nq,N,U:real; var P: array of real);
external 'SMO.dll';
           implementation
         {$R *.dfm}
         function strtoval(st:string):real;
         var
         rl:real;
         i,j:integer;
         begin
         i:=1;
         rl:=0;
         while i<=length(st) do
          begin
         if (st[i]<>'.')and(st[i]<>',') then begin
          rl:=rl*10+strtoint(st[i]);
          i:=i+1
                                  end
         else
           begin
           j:=i;
           i:=i+1;
           while i<=length(st) do begin
           rl:=rl+strtoint(st[i])/power(10,i-j);
           i:=i+1
                              end
           end
          end;
          strtoval:=rl
         end;
           {___________SIMQ______________}
         procedure Tform1.SimQ(n:integer; A:mass; var b:mas);
         const E=1e-21;
         var
            i,l,j,k1,ks:integer;
            max,u,v: real;
         begin
          for i:=1 to n do
           A[i,n+1]:=B[i];
          for i:=1 to n do
          begin
           max:=abs(A[i,i]);


                                                                                          15