Program Prog1;
Var
x : array[1..4] of real;
y : array[1..4] of real;
l : array[1..4] of real;
flag : boolean;
i, j : integer;
min, max : real;
Imin, Imax : integer;
begin
for i:= 1 to 4 do begin
Writeln('Введите координыты ', i, '-ой точки:');
Write('x', i, ' = '); readln(x[i]);
Write('y', i, ' = '); readln(y[i]);
flag := false;
for j := 1 to i-1 do
if (x[i] = x[j]) and (y[i] = y[j]) then begin
Writeln(' Такая точка уже существует!!!');
Writeln(' Координаты всех точек должны быть различны!');
Writeln(' Пожалуйста, введите снова:'); flag := true;
end;
if flag then Dec(i);
end;
min := maxint;
max := 0;
for i:= 1 to 4 do begin
l[i] := sqrt(sqr(x[i])+sqr(y[i]));
if max < l[i] then begin max := l[i]; Imax := i; end;
if min > l[i] then begin min := l[i]; Imin := i; end;
end;
WriteLn('Самая дальняя точка: (',x[imax]:2:2,',',y[imax]:2:2,')');
WriteLn('Самая ближняя точка: (',x[imin]:2:2,',',y[imin]:2:2,')');
end.