Предмет: Информатика,
автор: missmn1
Методом половинного деления вычислить на ЭВМ корень уравнения вида f (x) = 0, расположенный на интервале [a, b] с заданной погрешностью.
Определить число итераций, необходимое для нахождения корня.
3sin√x+0,35x-3,8=0 [2;3] 10^(-3)
НУЖНО ПРЯМ ПРОГРАММУ(
Ответы
Автор ответа:
0
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 итераций
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 итераций
Автор ответа:
0
это стандартная функция Паскаля, signum. Для положительного числа она равна 1, для отрицательного -1, для нуля - ноль
Похожие вопросы
Предмет: Физика,
автор: Аноним
Предмет: География,
автор: Аноним
Предмет: Другие предметы,
автор: egotasenko
Предмет: Математика,
автор: Аноним
Предмет: Алгебра,
автор: Sivillya