program interpolacja;
uses crt;
var a,b,c,d,w,x, x1,x2,x3,x4,y1,y2,y3,y4,a1,a2,a3,a4,xx:real;
function z(x:real):real;
begin
z:=a1*(x-x2)*(x-x3)*(x-x4)+ a2*(x-x1)*(x-x3)*(x-x4)+
a3*(x-x1)*(x-x2)*(x-x4)+ a4*(x-x1)*(x-x2)*(x-x3) ;
end;
begin clrscr;
write('podaj x1'); read(x1);
write('podaj y1'); read(y1);
write('podaj x2'); read(x2);
write('podaj y2'); read(y2);
write('podaj x3'); read(x3);
write('podaj y3'); read(y3);
write('podaj x4'); read(x4);
write('podaj y4'); read(y4);
a1:=y1/((x1-x2)*(x1-x3)*(x1-x4));
a2:=y2/((x2-x1)*(x2-x3)*(x2-x4));
a3:=y3/((x3-x2)*(x3-x1)*(x3-x4));
a4:=y4/((x4-x2)*(x4-x3)*(x4-x1));
read(xx);
write(z(xx));
readln;
end.
program interpolacja; uses crt; var a,b,c:real; x,y,x1,x2,x3,y1,y2,y3:real;
clrscr;
writeln('podaj x1');
read(x1);
writeln('podaj y1');
read(y1);
writeln('podaj x2');
read(x2);
writeln('podaj y2');
read(y2);
writeln('podaj x3');
read(x3);
writeln('podaj y3');
read(y3);
a:=y1/((x1-x2)*(x1-x3))+y2/((x2-x1)*(x2-x3))+y3/((x3-x1)*(x3-x2));
b:=-(y1*(x2+x3))/((x1-x2)*(x1-x3))-(y2*(x1+x3))/((x2-x1)*(x2-x3))-(y3*(x1+x2))/((x3-x1)*(x3-x2));
c:=y1*x2*x3/((x1-x2)*(x1-x3))+y2*x1*x3/((x2-x1)*(x2-x3))+y3*x1*x2/((x3-x1)*(x3-x2));
writeln('a=',a);
writeln('b=',b);
writeln('c=',c);
writeln('podaj wartosc x');
read(x);
y:=a*x*x+b*x+c;
writeln('y=',y:5:5);
repeat until keypressed;
program interpolacja2; uses crt; var w:real; x,y,x1,x2,x3,x0,y1,y2,y3,y0:real; begin clrscr; writeln('podaj x');
writeln('podaj x0');
read(x0);
writeln('podaj y0');
read(y0);
y:=y0*((x-x1)*(x-x2)*(x-x3))/((x0-x1)*(x0-x2)*(x0-x3))+y1*((x-x0)*(x-x2)*(x-x3))/((x1-x0)*(x1-x2)*(x1-x3))+
+y2*((x-x0)*(x-x1)*(x-x3))/((x2-x0)*(x2-x1)*(x2-x3))+y3*((x-x0)*(x-x1)*(x-x2))/((x3-x0)*(x3-x1)*(x3-x2));
writeln('y=',y);
program interpolacjaLagrange; uses crt; var w,d1,d2,h,q,y5,y6,x5,x6,x,x1,x2,x3,x4,y1,y2,y3,y4:real; begin clrscr; write('podaj x1='); readln(x1); write('podaj y1='); readln(y1); write('podaj x2=');
readln(x2);
write('podaj y2=');
readln(y2);
write('podaj x3=');
readln(x3);
write('podaj y3=');
readln(y3);
write('podaj x4=');
readln(x4);
write('podaj y4=');
readln(y4);
write('podaj x5=');
readln(x5);
write('podaj y5=');
readln(y5);
write('podaj x6=');
readln(x6);
write('podaj y6=');
readln(y6);
write('podaj x=');
readln(x);
h:=x2-x1;
q:=(x-x6)/h;
d1:=y6-y5;
d2:=d1-(y5-y4);
w:=y6+d1*q+(d2*q*(q+1))/2;
writeln('wynik =',w:6:4);
readln
program interpolacjaLagrange'a;
var
a,b,c,x1,x2,x3,y1,y2,y3:real;
write('podaj x1=');
readln(x1);
write('podaj y1=');
readln(y1);
write('podaj x2=');
b:=-y1*(x2+x3)/((x1-x2)*(x1-x3))-y2*(x1+x3)/((x2-x1)*(x2-x3))-y3*(x1+x2)/((x3-x1)*(x3-x2));
program interpolacjaLagrange; uses crt; var w,x,x1,x2,x3,x4,y1,y2,y3,y4:real; begin clrscr; write('podaj x1='); readln(x1); write('podaj y1='); readln(y1); write('podaj x2=');
w:=y1*((x-x2)*(x-x3)*(x-x4))/((x1-x2)*(x1-x3)*(x1-x4))+y2*((x-x1)*(x-x3)*(x-x4))/((x2-x1)*(x2-x3)*(x2-x4))+
+y3*((x-x1)*(x-x2)*(x-x4))/((x3-x1)*(x3-x2)*(x3-x4))+y4*((x-x1)*(x-x2)*(x-x3))/((x4-x1)*(x4-x2)*(x4-x3));
program interpolacjaLagrange; uses crt;
w,d1,d2,h,q,x,x1,x2,x3,x4,y1,y2,y3,y4:real;
q:=(x-x1)/h;
d1:=y2-y1;
d2:=(y3-y2)-d1;
w:=y1+d1*q+(d2*q*(q-1))/2;
program inter;
Tomplus