Здравствуйте. Помогите пожалуйста. Есть программа для решения СЛАУ. Code: {$R *.dfm} const n=4; type matrix_a = array [1..n,1..n] of real; type matrix_b = array [1..n] of real; procedure TForm1.Button1Click(Sender: TObject); var a: matrix_a; b,x,x0: matrix_b; i,j,k,max_it:integer; s,eps: real; q: Boolean; begin max_it:=StrToInt(Edit1.Text); eps:=StrToFloat(Edit2.Text); Memo1.Clear; for i:=1 to n do for j:=1 to n do a[i,j]:=StrToFloat(StringGrid1.Cells[i-1,j-1]); for i:=1 to n do b[i]:=StrToFloat(StringGrid2.Cells[0,i-1]); for i:=1 to n do begin x0[i]:=0; x[i]:=0; end; j:=0; q:=False; repeat for i:=1 to n do begin s:=0; for k:=1 to n do if i<>k then s:=s+a[k,i]*x[k]; x[i]:=(b[i]-s)/a[i,i]; end; for i:=1 to n do begin if abs(x[i]-x0[i])>eps then q:=False else q:=True; x0[i]:=x[i]; end; inc(j); until (j=max_it) or q; Memo1.Lines.Add('Итераций: '+IntToStr(j)); if q=False then Memo1.Lines.Add(IntToStr(j)+'Заданная точность не достигнута'); for i:=1 to n do Memo1.Lines.Add('x['+IntToStr(i)+']='+FloatToStrF(x0[i],ffgeneral,3,3)); end; Не могли вы объяснить,что вводится в полях лейбл 1 и лейбл 2 и как оно считает это всё. Хотя бы примерные описания некоторых действий. Спасибо. И как сделать так,чтобы оно в конце наглядно делало проверку этой системы (т.е. подставляло значения получившиеся) Буду очень благодарен за помощь.
Ого,спасибо за оперативный ответ,но я там почти ничего не понял. По скольку делфи у нас очень "хорошо" преподавалось и я очень "хорошо" всё это усвоил. Если можно вон по конкретно моему примеру. И с проверкой как быть? Я не разбираюсь в программировании (( и мне это всё в делфи надо. я так понял, Label1 Caption='макс.ит.' максимальная итернация (как я понял,повторение) Label2 Caption='eps' (а это не знаю) Зачем нужны эти повторения и епс? и что они делают?
Если я не ошибаюсь то тут используется уравнение Маклорена. Eps определяет точность измерений!(т.е. погрешность) А кол-во инетераций используется, чтобы твоя программа не зациклилась!если в ней ошибка