Везде, начиная с того что даже f написана не верно вот рабочий код. Формулы брались на вики, потому что в ваших я сомневаюсь весьма
function F(x: real): real; begin f := sqr(sqr(x)) * x + 3 * sin(x) - 3 * sqr(x) - 12; end;
function FindRoot(a, b, epsilon: real): real; begin while(abs(b - a) > epsilon) do begin a := b - (b - a) * f(b) / (f(b) - f(a)); b := a + (a - b) * f(a) / (f(a) - f(b)); writeln(a, ' ', b); end;
FindRoot := b; end;
begin writeln('x = ', FindRoot(0.5, 1.5, 0.001)); end.
вот рабочий код. Формулы брались на вики, потому что в ваших я сомневаюсь весьма
function F(x: real): real;
begin
f := sqr(sqr(x)) * x + 3 * sin(x) - 3 * sqr(x) - 12;
end;
function FindRoot(a, b, epsilon: real): real;
begin
while(abs(b - a) > epsilon) do
begin
a := b - (b - a) * f(b) / (f(b) - f(a));
b := a + (a - b) * f(a) / (f(a) - f(b));
writeln(a, ' ', b);
end;
FindRoot := b;
end;
begin
writeln('x = ', FindRoot(0.5, 1.5, 0.001));
end.