Вот половинное деление, а как сделать чтобы вывел все ответы т.к. по графику видно что там 2 корня...
Код:
program PRO;
function f(x: real): real;
begin
f:=exp(ln(0.5)*x)+1-(x-2)*(x-2);
end;
var a, b, e, c, x: real;
begin
a:=-10;
b:=6;
write ('e=');
read(e);
c:=(a+b)/2;
while abs(b-a)>e do
begin
if f(a)*f(c)<0 then
b:=c
else
a:=c;
c:=(a+b)/2;
end;
x:=(a+b)/2;
writeln ('x=',x:3:3,' f(x)=',f(x):4:4);
end.