Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
17
Добавлен:
02.05.2014
Размер:
873 б
Скачать
program Eitken;

const
Nmax = 50;

type
massiv = array[0..Nmax] of real;
matrica = array[0..Nmax,0..Nmax] of real;

var
X,Y: massiv;
M: matrica;
Z: Real;
i,j,n: Integer;

function PX(i,j:Integer):Real;
var P:Real;
begin
if M[i,j]=1 then
P:=M[i,j]
else begin
if j-i=1 then
P:=(Y[i]*(X[j]-Z)-Y[j]*(X[i]-Z))/(X[j]-X[i])
else
P:=(PX(i,j-1)*(X[j]-Z)- PX(i+1,j)*(X[i]-Z))/(X[j]-X[i]);
M[i,j]:=P;
M[j,i]:=1;
end;
PX:=P;
end;

begin
Write('n= ');
ReadLn(n);
for i:=0 to n do begin
Write('x',i,'= ');
ReadLn(X[i]);
Write('y',i,'= ');
ReadLn(Y[i]);
end;
repeat
Write('x= ');
ReadLn(Z);
for i:=0 to n-1 do
if ((Z>X[i])and(Z<X[i+1]) or
(Z<X[i])and(Z>X[i+1]))
then break;
WriteLn('y= ',PX(0,n):3:3);
until 0>1;
end.