Метод хорд

Программа численно решает уравнение с использованием метода хорд. Вы можете задать свою функцию, указать точность получения и вывода результата. Метод хорд реализован в виде отдельной процедуры и вы можете использовать ее в ваших программах для численного решения уравнений.
program metod_hord;
uses crt;
var a, b, x, eps :real;

function f(x:real):real;
{Oписание функции для уравнения f(x) = 0}
begin
 f:=x*x*x*x-2*x-4
end;

{Описание метода хорд}
function horda (a,b, eps:real):real;
 var n:integer; x0,x1:real;
 begin
 n:=0; x1:=0;
 repeat
 x0:=x1;
 x1:=a-((b-a)*f(a))/(f(b)-f(a));
 if f(x1)<>0 then
 if f(a)*f(x1)<0 then b:=x1
 else a:=x1
 else
 begin
 writeln('Число итераций =',n, 'x0=',x1);
 horda:=x1;
 exit
 end;
 n:=n+1;
 writeln('Итерация ', n,', a=', a:8:5,' b=', b:8:5);
 writeln('x',n, ' = ',x1:8:5,' f(x', n, ')=', f(x1):8:5);
 readln;

 until (abs(x0-x1) < eps) {or (abs(f(b)-f(a)) < 1e-5)};
 horda:= x1
end;

Begin
 TextBackGround(Blue); TextColor(Yellow); ClrScr;
 write('a = ');readln(a);
 write('b = ');readln(b);
 write('epsilon = ');readln(eps);
 x:=horda(a,b,eps);
 writeln('Приближенное значение корня с точностью ',eps:7:5);
 writeln('x =',x:8:6);
 readln
End.
Онлайн всего: 59
Гостей: 59
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте