Найти методом деления отрезка пополам корень уравнения x3+2x2+3x+5=0 ** отрезке [-2;-1] с...

0 голосов
58 просмотров

Найти методом деления отрезка пополам корень уравнения x3+2x2+3x+5=0 на отрезке [-2;-1] с точностью 0.01.


Информатика (15 баллов) | 58 просмотров
0

Язык программирования Вам неважен?

Дан 1 ответ
0 голосов
Правильный ответ

Преобразуем левую часть уравнения с использованием схемы Горнера:
x^3+2x^2+3x+5=0; \ 5+x(3+x(2+x))=0

PascalABC.Net
function f(x: real): real;
begin
  f := 5+x*(3+x*(2+x));
end;

var
  a, b, x, fa, fb, fx, eps: real;

begin
  Write('Введите через пробел границы интервала [a;b] и точность:');
  Readln(a, b, eps);
  fa := f(a);
  if abs(fa) <= eps then Writeln('x=', a, ', y=', fa)<br>  else begin
    fb := f(b);
    if abs(fb) <= eps then Writeln('x=', b, ', y=', fb)<br>    else
    if fa * fb > 0 then Writeln('На указанном интервале корней нет')
    else
      repeat
        x := (a + b) / 2;
        fx := f(x);
        if abs(fx) <= eps then Writeln('x=', x, ', y=', fx)<br>          else
        if fa * fx > 0 then a := x else b := x;
      until abs(fx) <= eps<br>  end
end.

Результат решения:
Введите через пробел границы интервала [a;b] и точность:-2 -1 0.01
x=-1.84375, y=-9.1552734375E-05

(142k баллов)