| Код | program diff; {$APPTYPE CONSOLE} const eps=1.0E-6; //заданная точность function fx(x: real): real; //заданная функция begin fx:=sin(x); end; function f1(x0: real): real; //вычисление первой производной var dx,dy,dy2: real; begin dx:=1; repeat dx:=dx/2; dy:=fx(x0+dx/2)-fx(x0-dx/2); dy2:=fx(5*x0/4+dx)-2*fx(5*x0/4); dy2:=dy2+fx(5*x0/4-dx); until abs(dy2/(2*dx))<eps; f1:=dy/dx end; Function f2(x0: real): real; // вычисление 2-й производной var dx,dy,dy3: real; begin dx:=1; repeat dx:=dx/2; dy:=fx(x0 + dx)-2*fx(x0)+fx(x0-dx); dy3:=fx(5*x0/4+2*dx)-2*fx(5*x0/4+dx); dy3:=dy3-fx(5*x0/4-2*dx)+2*fx(5*x0/4-dx); until abs(dy3/(6*dx))<eps; f2:=dy/(dx*dx) end; var x: real; begin x:=Pi/6; // пример выполнения writeln('f1 =',f1(x)); writeln('f` =',cos(x)); writeln('f2 =',f2(x)); writeln('f``=',-sin(x)); readln; end.
|
|