
02.02.2012, 15:57
|
Специалист
|
|
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
|
|
Объяснения:
Код:
function root(f,a,b,eps): real;
var fa,fb,fc,c: real;
begin
fa:=f(a);
fb:=f(b);
c:=a/2+b/2; // это середина отрезка
fc:=f(c);
if abs(fc)<eps then root:=c else // значение около 0, можно закончить
if fa<fb // если нет, то проверим на вдвое узком отрезке
then
if fc>0 then root:=root(f,a,c,eps) else root:=root(f,c,b,eps)
else
if fc>0 then root:=root(f,c,b,eps) else root:=root(f,a,c,eps)
|