type Point=record x,y:real end; function Distance2(a,b:Point):real; { возвращает квадрат расстояния между точками }begin Distance2:=sqr(b.x-a.x)+sqr(b.y-a.y)end;function Max(p,q:real):real; { возвращает максимальное из p,q }begin if p>q then Max:=p else Max:=qend;procedure Vvod(var a:Point;n:integer); { процедура с изменяемым параметром a }begin Write('Введите координаты точки ',n,': '); Readln(a.x,a.y)end;var a:array[1..3] of Point; d1,d2,d3:real; i:integer;begin for i:=1 to 3 do Vvod(a[i],i); d1:=Distance2(a[1],a[2]); d2:=Distance2(a[1],a[3]); d3:=Distance2(a[2],a[3]); if d1>d2 then if d1>d3 then Writeln('Максимальное расстояние 1-2') else if d1=d3 then Writeln('Максимальное расстояние 1-2 и 2-3') else Writeln('Максимальное расстояние 2-3') else if d1=d2 then if d1>d3 then Writeln('Максимальное расстояние 1-2 и 1-3') else if d1=d3 then Writeln('Расстояния между всеми точками одинаковы') else Writeln('Максимальное расстояние 2-3') else if d3>d2 then Writeln('Максимальное расстояние 2-3') else if d3=d2 then Writeln('Максимальное расстояние 1-3 и 2-3') else Writeln('Максимальное расстояние 1-3');end.
Тестовое решение:Введите координаты точки 1: -2 1Введите координаты точки 2: 4 5Введите координаты точки 3: 2 -2Максимальное расстояние 2-3