Методом половинного деления вычислить на эвм корень уравнения вида f (x) = 0, расположенный на интервале [a, b] с заданной погрешностью. определить число итераций, необходимое для нахождения корня. 3sin√x+0,35x-3,8=0 [2; 3] 10^(-3) нужно прям программу(

artem877 artem877    3   09.06.2019 11:30    1

Ответы
kartoshechka49 kartoshechka49  08.07.2020 08:33
Function f(x: real): real;
begin
  f := 3 * sin(sqrt(x)) + 0.35 * x - 3.8
end;

var
  n: integer;
  a, b, c, fc, eps: real;

begin
  writeln('Введите границы интервала (a,b) и точность решения: ');
  readln(a, b, eps);
  n := 0;
  repeat
    c := (a + b) / 2;
    fc := f(c);
    if sign(fc) = sign(f(b)) then b := c
    else a := c;
    n := n + 1;
  until abs(a - b) <= eps;
  writeln('Найден корень уравнения х=', c, ' за ', n, ' итераций')
end.

Тестовое решение:

Введите границы интервала (a,b) и точность решения:
2 3 0.001
Найден корень уравнения х=2.2978515625 за 10 итераций
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика