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

UptoLike

16
k1:=i;
for l:=i+1 to n do
if abs(A[l,i])>max then
begin
max:=abs(A[l,i]);
k1:=l;
end;
if (max<E) then begin Ks:=1; exit end else Ks:=0;
if k1<>i then
for j:=i to n+1 do
begin
U:=A[i,j];
A[i,j]:=A[k1,j];
A[k1,j]:=U;
end;
V:=A[i,i];
for j:=i to n+1 do A[i,j]:=A[i,j]/V;
for l:=i+1 to n do
begin
V:=A[l,i];
for j:=i+1 to n+1 do A[l,j]:=A[l,j]-A[i,j]*V;
end;
end;
b[n]:=A[n,n+1];
for i:=n-1 downto 1 do
begin
b[i]:=A[i,n+1];
for j:=i+1 to n do b[i]:=b[i]-A[i,j]*b[j];
end;
end;
{_____________________________}
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.Visible:=false;
StringGrid2.Visible:=false;
Label2.Visible:=false;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
if tryStrtoInt(Edit1.Text,N) then
begin
StringGrid1.Visible:=true;
StringGrid1.RowCount:=N+1;
StringGrid1.cells[1,0]:='Gamma';
StringGrid1.cells[2,0]:='Mu';
StringGrid1.cells[3,0]:='m';
StringGrid1.cells[4,0]:='k';
for i:=1 to N do StringGrid1.cells[0,i]:='Узел '+inttostr(i);
  k1:=i;
  for l:=i+1 to n do
   if abs(A[l,i])>max then
   begin
    max:=abs(A[l,i]);
    k1:=l;
   end;
  if (maxi then
   for j:=i to n+1 do
   begin
    U:=A[i,j];
    A[i,j]:=A[k1,j];
    A[k1,j]:=U;
   end;
  V:=A[i,i];
  for j:=i to n+1 do A[i,j]:=A[i,j]/V;
  for l:=i+1 to n do
  begin
   V:=A[l,i];
   for j:=i+1 to n+1 do A[l,j]:=A[l,j]-A[i,j]*V;
  end;
 end;
 b[n]:=A[n,n+1];
 for i:=n-1 downto 1 do
 begin
  b[i]:=A[i,n+1];
  for j:=i+1 to n do b[i]:=b[i]-A[i,j]*b[j];
 end;
end;
  {_____________________________}
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.Visible:=false;
StringGrid2.Visible:=false;
Label2.Visible:=false;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
if tryStrtoInt(Edit1.Text,N) then
 begin
  StringGrid1.Visible:=true;
  StringGrid1.RowCount:=N+1;
  StringGrid1.cells[1,0]:='Gamma';
  StringGrid1.cells[2,0]:='Mu';
  StringGrid1.cells[3,0]:='m';
  StringGrid1.cells[4,0]:='k';
 for i:=1 to N do StringGrid1.cells[0,i]:='Узел '+inttostr(i);



                                                                 16