• Используя метод половинного деления, определи имеет ли уравнение y=1x3−4,2x−4 корень на промежутке [−3, 4].

Ответы 1

  • function f(x: real): real;

    begin

     f:=x*x*x - 4.2*x - 4;

    end;

    { основная программа }

    var a,b,c,eps: real;  

       k: integer;  

    { a - начало интервала, b - конец }

    begin

     write('a = ');  readln(a);

     write('b = ');  readln(b);

     if f(a)*f(b)<0 then

     begin

       write('точность вычислений eps: ');  readln(eps);

       k:=1;

       while abs(a-b)>eps do

       begin

         writeln('итерация ',k,'  a =',a:12:8, '  b =',b:12:8);

         c:=(a+b)/2;  

         if f(c)<>0 then

         begin

           if f(c)*f(b)<0 then a:=c

           else b:=c

         end;

         k:=k+1;

       end;

       writeln('корень = ',a:12:8);

     end

     else

        writeln('на интервале [',a,',',b,']',' корней нет');

    end.

    a = -3

    b = 4

    точность вычислений eps: 0.0001

    итерация 1  a = -3.00000000  b =  4.00000000

    итерация 2  a =  0.50000000  b =  4.00000000

    итерация 3  a =  2.25000000  b =  4.00000000

    итерация 4  a =  2.25000000  b =  3.12500000

    итерация 5  a =  2.25000000  b =  2.68750000

    итерация 6  a =  2.25000000  b =  2.46875000

    итерация 7  a =  2.35937500  b =  2.46875000

    итерация 8  a =  2.41406250  b =  2.46875000

    итерация 9  a =  2.41406250  b =  2.44140625

    итерация 10  a =  2.41406250  b =  2.42773438

    итерация 11  a =  2.41406250  b =  2.42089844

    итерация 12  a =  2.41748047  b =  2.42089844

    итерация 13  a =  2.41918945  b =  2.42089844

    итерация 14  a =  2.41918945  b =  2.42004395

    итерация 15  a =  2.41918945  b =  2.41961670

    итерация 16  a =  2.41918945  b =  2.41940308

    итерация 17  a =  2.41929626  b =  2.41940308

    корень =   2.41934967

  • Добавить свой ответ

Войти через Google

или

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

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

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