Приближенное решение нелинейных уравнений (можно с объяснением строк) - Turbo Pascal
Решение задачи: «Приближенное решение нелинейных уравнений (можно с объяснением строк)»
textual
Листинг программы
uses crt; function F(x:real):real;{исследуемая функция} begin F:=4*cos(2*x)-x+0.1 end; function Bisec(a,b,e:real):real;{поск корня методом бисекции} var x,c:real; begin repeat c:=(a+b)/2;{середина отрезка} if F(a)*F(c)<0 then b:=c{если знаки разные с левым концом} else a:=c;{перенсимпрвый конец в середину, иначе левый} until b-a<e;{и так пока концы не "срастутся"} Bisec:=(a+b)/2;{значение корня} end; var x,x1,x2,dx,x11,x12,eps:real; i:integer; begin clrscr; repeat writeln('Введите границы отрезка x2-x1>0.1'); readln(x1,x2); until(x2-x1>0.1); dx:=0.1;{шаг поиска} eps:=0.0001; {точность нахожления корня} x:=x1; i:=0; {номер корня} while x<=x2 do {пока не конец интервала} begin x11:=x; {границы проверяемого диапазона} x12:=x+dx; {если на концах разные знаки функции, то есть корень} if (F(x11)*F(x12)<0)and(F(x12)<1) then begin i:=i+1; writeln('X',i,'=',Bisec(x11,x12,eps):8:5);{находим его} end; x:=x+dx;{к следующему отрезку} end; if i=0 then write('На данном интервале корней нет'); readln end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д