Zdravím, potřeboval bych porozumět gaussově eliminační metodě - zejména pak jejím zápisu v pascalu. Přídávám zápis, který jsem našel. Mohl by mi prosím na něm někdo vysvětlit jednotlivé kroky, které zde jsou ? Nejsem v programování příliš zběhlý, tak pokud možno tak prosím o "zjednodušený" návod.
program Gauss;
uses crt;
var a:array[1..6,1..6] of real;
b:array[1..6] of real;
k,d,i,j,n:integer;
po,mul,pom:real;
begin clrscr;
write('n=');read(n);
for i:=1 to n do begin
for j:= 1 to n do begin
write('a[',i,j,']=');read(a[i,j]);
end;
write('b[',i,']=');read(b[i]);
end;
for k:=1to n-1 do begin
begin
d:=1;
while ((a[k,k]=0)and((k+d)<=n)) do begin for j:=1 to n do begin pom:=a[k,j];
a[k,j]:=a[k+d,j];
a[k+d,j]:=pom;
end;
po:=b[k];
b[k]:=b[k+d];
b[k+d]:=po;
d:=d+1;
end;
end;
if(a[k,k]<>0) then begin for i:=k+1 to n do begin mul:=a[i,k]/a[k,k];
for j:=1 to n do
a[i,j]:=a[i,j]-(a[k,j]*mul);
b[i]:= b[i]-(b[k]*mul);
end;
end;
end;
for i:=1 to n do begin
for j:=1 to n do begin
write (a[i,j]:6:2); end;
write(':');
writeln (b[i]:6:2);end;
repeat until keypressed;
end.