function f(x:real):real;
begin
f:=2*sin(2*x/4)
end;
var x0,xn,hx,x1,y1,x,r,mn,zx,zf:real;
begin
write('Введите начало интервала x0=');
readln(x0);
repeat
write('Введите конец интервала xn>',x0:0:2,' xn=');
readln(xn);
until xn>x0;
repeat
write('Введите шаг табуляции hx<',xn-x0:0:2,' hx=');
readln(hx);
until hx<xn-x0;
writeln('Введите координаты точки(x1,y1)');
readln(x1,y1);
x:=x0;
while x<xn+hx/2 do
begin
r:=sqrt(sqr(x-x1)+sqr(f(x)-y1));
writeln('x=',x:5:2,' f(x)=',f(x):8:3,' расстояние до (x1,y1)=',r:8:3);
if x=x0 then
begin
mn:=r;
zx:=x;
zf:=f(x);
end
else if r<mn then
begin
mn:=r;
zx:=x;
zf:=f(x);
end;
x:=x+hx;
end;
writeln('Наиболее близко к точке (x1,y1) находится точка [',zx:0:2,',',zf:0:3,'] r=',mn:0:3)
end.
begin
f:=2*sin(2*x/4)
end;
var x0,xn,hx,x1,y1,x,r,mn,zx,zf:real;
begin
write('Введите начало интервала x0=');
readln(x0);
repeat
write('Введите конец интервала xn>',x0:0:2,' xn=');
readln(xn);
until xn>x0;
repeat
write('Введите шаг табуляции hx<',xn-x0:0:2,' hx=');
readln(hx);
until hx<xn-x0;
writeln('Введите координаты точки(x1,y1)');
readln(x1,y1);
x:=x0;
while x<xn+hx/2 do
begin
r:=sqrt(sqr(x-x1)+sqr(f(x)-y1));
writeln('x=',x:5:2,' f(x)=',f(x):8:3,' расстояние до (x1,y1)=',r:8:3);
if x=x0 then
begin
mn:=r;
zx:=x;
zf:=f(x);
end
else if r<mn then
begin
mn:=r;
zx:=x;
zf:=f(x);
end;
x:=x+hx;
end;
writeln('Наиболее близко к точке (x1,y1) находится точка [',zx:0:2,',',zf:0:3,'] r=',mn:0:3)
end.