Написать программу, которая вычисляет значения корней функции, используя комбинированный метод хорд и касательных- Pascal(Паскаль)

{Решить уравнение x^3+8x+10=0 методом хорд и касательных с точностью 0,001,
 если известно, что корень уравнения в [-2;-1] }
 
program metod;
uses crt;
function f(var x:real):real;
begin
f:= X*X*X+8*X+10;
end;
function f1(var x:real):real;
begin
f1:= 3*X*X+8; {первая производная}
end;
function f2(var x:real):real;{вторая производная}
begin
f2:= 6*X;
end;
var
a,b:real;
e,e1:real;
x0,tmp:real;
x11,x12:real;
z,x6,y:real;
begin
clrscr;
a:=-2;
b:=-1;
e:=0.001;
x0:=a;
if f(a)*f(b)>0 then writeln('a or b is incorrect')
else
 begin
  x11:=x0-f(x0)/f1(x0);
  x12:=a-((b-a)*f(a)/(f(b)-f(a)));
  e1:=(x11+x12)/2;
  while  abs(e1-x11)>e do
    begin
     a:=x11;
     b:=x12;
     x11:= a-F(a)/f1(a);
     x12:= a-((b-a)*f(a)/(f(b)-f(a)));
     e1:=(x11+x12)/2;
    end;
  writeln ('koren: ',x11:6:4)
 end;
readln
end.
 // ответ x=1.0887

Leave a Comment

90 − 81 =