Отделение и уточнение корней нелинейных уравнений. Метод половинного деления(Проб) - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д