блок-схема к методу зейделя

Ответить
greenfey
Сообщения: 3
Зарегистрирован: 12 май 2010, 20:12

пожалуйста помогите с блок схемой к методу зейделя...
код есть...

###

{$R *.dfm}

procedure TForm1.CalculateClick(Sender: TObject);
var
i,j,k : Byte;
atr : Matrix;
tt : Real;
A1 : Matrix;
A2 : Matrix;
B1 : Vector;
X : vector;
X1 : vector;

function CheckConds:Boolean;
{Условие прекращения вычислений}
var
l : Byte;
mm : Real;
begin
mm:=abs(X1[1]-X[1]);
for l:=2 to n do begin
if mm<abs(X1[l]-X[l])
then mm:=abs(X1[l]-X[l]);

if mm<eps then CheckConds:=true else CheckConds:=false;
end;

end;

procedure CalculateNextX;
var
l,m : Byte;
zz : real;
begin
for l:=1 to n do begin
zz:=(B[l]/A[l,l]);
for m:=1 to n do begin
if m=l then continue;
zz:=zz-(A[l,m]*X[m]/A[l,l])
end;
X[l]:=zz;
end;
end;

begin
n:=StrToInt(edN.Text);
eps:=StrToFloat(edEpsilon.Text);


for i:=0 to n-1 do begin
for j:=0 to n-1 do begin
A[i+1,j+1]:=StrToFloat(Ad.Cells[j,i]);
end;
B[i+1]:=StrToFloat(Bd.Cells[0,i]);
end;

A1:=A;

for i:=1 to n do begin
for j:=i to n do begin
tt:=A1[i,j];
A1[i,j]:=A1[j,i];
A1[j,i]:=tt;
end;
end;

for i:=1 to n do begin
for j:=1 to n do begin
tt:=0;
for k:=1 to n do begin
tt:=tt+A1[i,k]*A[k,j]
end;
A2[i,j]:=tt;
end;
end;


for i:=1 to n do begin
tt:=0;
for k:=1 to n do begin
tt:=tt+A1[i,k]*B[k];
end;
B1:=tt;
end;
A:=A2;
B:=B1;

for i:=1 to n do
X:=0;


repeat
X1:=X;
CalculateNextX;
until CheckConds;

for i:=0 to n-1 do begin
Cd.Cells[0,i]:=FloatToStr(RoundTo(X[i+1],-10));
end;


end;

procedure TForm1.edNChange(Sender: TObject);
var
z : Byte;
begin
z:=StrToInt(edN.Text);
AD.RowCount:=z;
AD.ColCount:=z;
Cd.RowCount:=z;
Bd.RowCount:=z;
end;

end.
greenfey
Сообщения: 3
Зарегистрирован: 12 май 2010, 20:12

набросок блок схемы есть...но сомневаюсь в ее правильности
diam
Сообщения: 9
Зарегистрирован: 11 апр 2010, 00:55
Контактная информация:

Блок-схемы во вложении. Они точно правильные. Сделал в программе diamFC
в архиве блок-схемы в Word`е
Вложения
noName.pas_.zip
(18.65 КБ) 42 скачивания
TForm1.edNChange.jpg
TForm1.CalculateClick.jpg
CheckConds.jpg
CalculateNextX.jpg
Ответить