unit uk; interface type funkce = function (x:real):real; function koren(F:funkce; a,b,eps:real):real; { predpoklada, ze F(a)*F(b)<0, pocita koren s presnosti eps } implementation function koren(F:funkce; a,b,eps:real):real; { predpoklada, ze F(a)*F(b)<0, pocita koren s prresnosti eps } var C,D,X, FC,FD,FX : real; begin C:=A; D:=B; FC:=F(C); FD:=F(D); if FC*FD<0 then begin repeat X:=(C+D)/2; FX:=F(X); if FX*FC<0 then begin D:=X; FD:=FX; end else if FX*FD<0 then begin C:=X; FC:=FX; end else begin C:=X; D:=X; end; until D-C < eps; koren:= C+D/2; end else writeln('chyba - stejna znamenka na krajich'); end; end.