{$N+} {$F+} Program CHM1; Uses Crt; type func=function(x:real):real; var a1,b1,a2,b2,Eps:real; Function F1(x:real):real; Begin F1:=x+Ln(x)-0.5; End; Function Deriv1(x:real):real; Begin Deriv1:=1+1/x End; Function F2(x:real):real; Begin F2:=12*x*x*x+43*x+17; End; Function Deriv2(x:real):real; Begin Deriv2:=36*x*x+43 End; Procedure Bisec(F:func;a,b,Eps:real); Var x,c:real; n:integer; begin n:=0; Repeat c:=(a+b)/2; If (f(a)*f(c))<0 Then b:=c Else a:=c; Inc(n) Until (b-a)<=Eps; x := (a + b) / 2; WriteLn('x =',x:10:5); WriteLn('Количество итераций = ',n); end; Procedure Chorda(F:func;a,b,Eps:real); Var x,c:real; n:integer; Function Chord(F:func;a,b:real):real; Begin Chord:=(F(b)*a-F(a)*b)/(F(b)-F(a)) End; Begin n:=0; Repeat c:=Chord(F,a,b); If f(a)*f(C)>0 Then a:=c Else b:=c; Inc(n) Until Abs(Chord(F,a,b)-C)