Задать вопрос
28 сентября, 15:41

Где здесь ошибка

метод хорд

9. x5+3*sin (x) - 3x2-12

program P12;

var a, b, c, x:real;

i, n:integer;

function F (x:real) : real;

begin

f:=sqr (sqr (x)) + 3*sin (x) - 3*x*sqr (x) - 12;

end;

begin

a:=0.5; b:=1.5; n:=12;

for i:=1 to n do

begin

x:=x - (f (x)) / (f (c) - f (x)) * (c-x) ;

c:=a - (f (a)) / (f (a)) * (b-a) ;

writeln (x:10:8,'', f (x) : 12:8) ;

if f (c) * f (a) >0 then break

else begin c:=a; x:=b; end;

end;

end.

+2
Ответы (1)
  1. 28 сентября, 16:45
    0
    Везде, начиная с того что даже 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.
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Где здесь ошибка метод хорд 9. x5+3*sin (x) - 3x2-12 program P12; var a, b, c, x:real; i, n:integer; function F (x:real) : real; begin ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике