uses crt;
function F1(x:real):real;
begin
F1:=3*x*x*x+2*x*x+x+5;
end;
function F2(x:real):real;
begin
F2:=2*x*x*x-4*x*x+2*x-5;
end;
var x,x0,xn,y1,y2,h,mn,mx,xmn,xmx:real;
begin
clrscr;
write('Начало интервала x0=');
readln(x0);
repeat
write('Конец интервала xn>',x0:0:2,' xn=');
readln(xn);
until xn>x0;
repeat
write('Шаг вычислений h<',xn-x0:0:2,' h=');
readln(h);
until h<xn-x0;
x:=x0;
mn:=abs(F1(x)-F2(x));
mx:=mn;
xmn:=x;
xmx:=x;
while x<=xn+h/2 do
begin
y1:=F1(x);
y2:=F2(x);
if abs(y1-y2)<mn then
begin
mn:=abs(y1-y2);
xmn:=x;
end
else if abs(y1-y2)>mx then
begin
mx:=abs(y1-y2);
xmx:=x;
end;
writeln('x=',x:4:1,' F1=',y1:8:2,' F2=',y2:8:2);
x:=x+h;
end;
writeln('Минимальное расстояние в точке x=',xmn:0:1,' = ',mn:8:2);
writeln('Максимальное расстояние в точке x=',xmx:0:1,' = ',mx:8:2);
readln
end.