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

UptoLike

17
StringGrid2.Visible:=true;
Label2.Visible:=true;
image2.Visible:=false;
StringGrid2.RowCount:=N;
StringGrid2.ColCount:=N;
end
else ShowMessage('Не задано кол-во узлов!');
end;
procedure TForm1.Button2Click(Sender: TObject);
var
g,i,j:integer;
Ro,w,Nq,Nz,U:array[1..50] of real;
P:array [1..50,1..10] of real;
gmi,gmo,wc,Nqc,Nzc,Uc:real;
bad:boolean;
begin
for i:=1 to N do begin
gm[i]:=strtoval(StringGrid1.cells[1,i]);
mu[i]:=strtoval(StringGrid1.cells[2,i]);
m[i]:=strtoint(StringGrid1.cells[3,i]);
k[i]:=strtoint(StringGrid1.cells[4,i]);
end;
gmo:=0;
for i:=1 to N do gmo:=gmo+gm[i];
for i:=0 to N-1 do
for j:=0 to N-1 do
R[i+1,j+1]:=strtoval(StringGrid2.cells[j,i]);
for i:=1 to N do
for j:=1 to N do
if i=j then A[i,j]:=R[i,j]-1
else A[i,j]:=R[j,i];
for i:=1 to N do la[i]:=-gm[i];
Simq(N,A,la);
for i:=1 to N do if mu[i]<=la[i] then
begin
mu[i]:=la[i]+0.1;
StringGrid1.cells[2,i]:=floattostr(mu[i]);
end;
for i:=1 to N do begin
SMO(la[i],mu[i],m[i],k[i], Ro[i],w[i],Nq[i],Nz[i],U[i],P[i]);
StringGrid3.Cells[1,i]:=floattostrf(Ro[i],ffGeneral,3,3);;
StringGrid3.Cells[2,i]:=floattostrf(w[i],ffGeneral,3,3);
StringGrid3.Cells[3,i]:=floattostrf(Nq[i],ffGeneral,3,3);
StringGrid3.Cells[4,i]:=floattostrf(Nz[i],ffGeneral,3,3);
StringGrid3.Cells[5,i]:=floattostrf(P[i,1],ffGeneral,3,3);
StringGrid3.Cells[6,i]:=floattostrf(P[i,2],ffGeneral,3,3);
StringGrid3.Cells[7,i]:=floattostrf(P[i,3],ffGeneral,3,3);
end;
for i:=1 to N do Nqc:=Nqc+Nq[i];
LENq.Text:=floattostrf(Nqc,ffGeneral,3,3);
  StringGrid2.Visible:=true;
  Label2.Visible:=true;
  image2.Visible:=false;
  StringGrid2.RowCount:=N;
  StringGrid2.ColCount:=N;
 end
else ShowMessage('Не задано кол-во узлов!');
end;
procedure TForm1.Button2Click(Sender: TObject);
var
  g,i,j:integer;
  Ro,w,Nq,Nz,U:array[1..50] of real;
  P:array [1..50,1..10] of real;
  gmi,gmo,wc,Nqc,Nzc,Uc:real;
  bad:boolean;
begin
for i:=1 to N do begin
 gm[i]:=strtoval(StringGrid1.cells[1,i]);
 mu[i]:=strtoval(StringGrid1.cells[2,i]);
 m[i]:=strtoint(StringGrid1.cells[3,i]);
 k[i]:=strtoint(StringGrid1.cells[4,i]);
            end;
 gmo:=0;
 for i:=1 to N do gmo:=gmo+gm[i];
for i:=0 to N-1 do
for j:=0 to N-1 do
 R[i+1,j+1]:=strtoval(StringGrid2.cells[j,i]);
 for i:=1 to N do
 for j:=1 to N do
 if i=j then A[i,j]:=R[i,j]-1
 else A[i,j]:=R[j,i];
 for i:=1 to N do la[i]:=-gm[i];
Simq(N,A,la);
for i:=1 to N do if mu[i]<=la[i] then
 begin
 mu[i]:=la[i]+0.1;
 StringGrid1.cells[2,i]:=floattostr(mu[i]);
 end;
 for i:=1 to N do begin
 SMO(la[i],mu[i],m[i],k[i], Ro[i],w[i],Nq[i],Nz[i],U[i],P[i]);
 StringGrid3.Cells[1,i]:=floattostrf(Ro[i],ffGeneral,3,3);;
 StringGrid3.Cells[2,i]:=floattostrf(w[i],ffGeneral,3,3);
 StringGrid3.Cells[3,i]:=floattostrf(Nq[i],ffGeneral,3,3);
 StringGrid3.Cells[4,i]:=floattostrf(Nz[i],ffGeneral,3,3);
 StringGrid3.Cells[5,i]:=floattostrf(P[i,1],ffGeneral,3,3);
 StringGrid3.Cells[6,i]:=floattostrf(P[i,2],ffGeneral,3,3);
 StringGrid3.Cells[7,i]:=floattostrf(P[i,3],ffGeneral,3,3);
             end;
 for i:=1 to N do Nqc:=Nqc+Nq[i];
 LENq.Text:=floattostrf(Nqc,ffGeneral,3,3);


                                                                 17