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

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

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

Помогите исправить ошибку, пожалуйста. Определение и уточнение корней нелинейных уравнений. Уравнение: x3 + 3x2 - 8x - 3 = 0 Интервал: [-5; 3] Точность: 10-3 Программа:
Листинг программы
  1. Program laba2;
  2. function f(x:real):real;
  3. begin
  4. f:=power(x,3)+3*sqr(x)-8*x-3;
  5. end;
  6. var
  7. a,b,eps,x,x0:Real;
  8. i:real;
  9. begin
  10. Write(' Левая граница интервала:'); Readln(a);
  11. write(' Правая граница интервала:'); Readln(b);
  12. Write(' точность:');Readln(eps);
  13. repeat
  14. i:=i+1;
  15. x:=(a+b)/2;
  16. if f(a)*f(x0)<0 then b:=x
  17. else a:=x;
  18. until abs(f(x-x0))>eps;
  19. writeln('x=',x:3:3,' f(x)=',f(x):4:4);
  20. Writeln('Количество итераций:',i );
  21. readln();
  22. end.

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

textual
Листинг программы
  1. const a=-5;
  2.       b=3;
  3.       eps=0.0001;
  4. function f(x:real):real;
  5. begin
  6. f:=power(x,3)+3*sqr(x)-8*x-3;
  7. end;
  8. function Bisec(xn,xk:real):real; //функция уточнения корня методом бисекции
  9. var x,c:real;
  10. begin
  11. repeat
  12. c:=(xn+xk)/2;
  13. if F(xn)*F(xk)<0 then xk:=c
  14. else xn:=c;
  15. until xk-xn<eps;
  16. Bisec:=(xn+xk)/2;
  17. end;
  18.  
  19. var x,dx,x11,x12:real;
  20.     i:integer;
  21. begin
  22. dx:=0.1; //идем по интервалу с шагом 0.1
  23. x:=a;
  24. i:=0;
  25. while x<=b do
  26.  begin
  27.   x11:=x;
  28.   x12:=x+dx;
  29.   if F(x11)*F(x12)<0 then //если знаки функции разные на концах отрезка
  30.    begin
  31.     i:=i+1;
  32.     writeln('X',i,'=',Bisec(x11,x12):8:5);//уточняем корень
  33.    end;
  34.   x:=x+dx;
  35.  end;
  36. end.

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


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

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

11   голосов , оценка 3.545 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы