Показать сообщение отдельно
  #6  
Старый 23.06.2011, 23:53
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Вот твой код, несколько причёсанный:
Код:
function Newton(n : Integer; d : Single; x, y : array of Single) : Single;
var
  l     : Single;
  j, i  : Integer;
  p, p2 : Single;
  y1, y2: array [0..2] of Single;
begin
  L  := fx[1];
  P  := 1;
  p2 := 1;
  for j := 1 to n do
  begin
    p := p * (D - X[j - 1]);
    p2 := p2 * (D - x[j - 1]) * (D - x[j]);
    for i := 0 to (n - j) do
      Y1[i] := (y[i + 1] - y[i]) / (x[i + j] - x[i]);

    for I := 1 to (n-j) do
      y2[i] := (((y[i + 2] - y[i + 1]) / (x[i + j] - x[i])) - (y[i + 1] - y[i]) / (x[i + j] - x[i])) / (x[i + 2] - x[i]);

    l := l + p * y1[i] + p2 * y2[i];
  end;
  Result := l;
end;
Твои ошибки:
1. Про предупреждения от компилятора я тебе говорил, но ты не внял моим словам, а жаль.
2. Опять используешь не иницилизированные переменные и ждёшь нормальной работы программы.
3. использование переменных после for.
Ответить с цитированием