Для решения данного уравнения нелинейного уравнения в программе Паскаль с точностью ε=0,01 на заданном интервале [-1;0] можно воспользоваться методом половинного деления (методом бисекции).
Программа на Паскале:
program NonlinearEquation; const eps = 0.01; function f(x: real): real; begin f := x*x*x + 3*x + 1; end; procedure BisectionMethod(a, b: real); var x, c: real; begin while (b - a) >= eps do begin c := (a + b) / 2; if f(c) = 0 then begin writeln('Root: ', c); exit; end else if f(a) * f(c) < 0 then begin b := c; end else begin a := c; end; end; x := (a + b) / 2; writeln('Root: ', x); end; begin BisectionMethod(-1, 0); end.
Эта программа найдет корень уравнения x^3 + 3x + 1 = 0 на интервале [-1;0] с заданной точностью ε=0,01 с использованием метода бисекции.
Для решения данного уравнения нелинейного уравнения в программе Паскаль с точностью ε=0,01 на заданном интервале [-1;0] можно воспользоваться методом половинного деления (методом бисекции).
Программа на Паскале:
program NonlinearEquation;const
eps = 0.01;
function f(x: real): real;
begin
f := x*x*x + 3*x + 1;
end;
procedure BisectionMethod(a, b: real);
var
x, c: real;
begin
while (b - a) >= eps do
begin
c := (a + b) / 2;
if f(c) = 0 then
begin
writeln('Root: ', c);
exit;
end
else if f(a) * f(c) < 0 then
begin
b := c;
end
else
begin
a := c;
end;
end;
x := (a + b) / 2;
writeln('Root: ', x);
end;
begin
BisectionMethod(-1, 0);
end.
Эта программа найдет корень уравнения x^3 + 3x + 1 = 0 на интервале [-1;0] с заданной точностью ε=0,01 с использованием метода бисекции.