• где здесь ошибка
    метод хорд
    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.

Ответы 1

  • везде, начиная с того что даже 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.
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years