Function RTSEC(X1, X2, XACC:real):real; Label 99; var MAXIT,J:integer; FL,F,SWAP,XL,DX,RTS:real; begin MAXIT:=30; FL:=FUN(X1); F:=FUN(X2); If Abs(FL) < Abs(F) Then begin RTS:=X1; XL:=X2; SWAP:=FL; FL:=F; F:=SWAP; end Else begin XL:=X1; RTS:=X2; end; For J:=1 To MAXIT do begin DX:=(XL - RTS) * F / (F - FL); XL:=RTS; FL:=F; RTS:=RTS + DX; F:=FUN(RTS); If (Abs(DX) < XACC) Or (F = 0) Then goto 99; end; ShowMessage('RTSEC exceed maximum iterations'); 99: RTSEC:=RTS; end;