Отделение и уточнение корней нелинейных уравнений. Метод половинного деления(Проб) - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Помогите исправить ошибку, пожалуйста. Определение и уточнение корней нелинейных уравнений. Уравнение: x3 + 3x2 - 8x - 3 = 0 Интервал: [-5; 3] Точность: 10-3 Программа:

Решение задачи: «Отделение и уточнение корней нелинейных уравнений. Метод половинного деления(Проб)»

textual
Листинг программы
const a=-5;
      b=3;
      eps=0.0001;
function f(x:real):real;
begin
f:=power(x,3)+3*sqr(x)-8*x-3;
end;
function Bisec(xn,xk:real):real; //функция уточнения корня методом бисекции
var x,c:real;
begin
repeat
c:=(xn+xk)/2;
if F(xn)*F(xk)<0 then xk:=c
else xn:=c;
until xk-xn<eps;
Bisec:=(xn+xk)/2;
end;
 
var x,dx,x11,x12:real;
    i:integer;
begin
dx:=0.1; //идем по интервалу с шагом 0.1
x:=a;
i:=0;
while x<=b do
 begin
  x11:=x;
  x12:=x+dx;
  if F(x11)*F(x12)<0 then //если знаки функции разные на концах отрезка
   begin
    i:=i+1;
    writeln('X',i,'=',Bisec(x11,x12):8:5);//уточняем корень
   end;
  x:=x+dx;
 end;
end.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.545 из 5
Похожие ответы