Для решения задачи сделать вариант программы с реализацией указанной подпрограммы в виде функции или в виде процедуры. Даны координаты трех точек определить между какими из пар точек самое большое расстояние используя подпрогра...

Для решения задачи сделать вариант программы с реализацией указанной подпрограммы в виде функции или в виде процедуры. Даны координаты трех точек определить между какими из пар точек самое большое расстояние используя подпрограмму вычисления длины отрезка между двумя точками
Гость
Ответ(ы) на вопрос:
Гость
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:=q end; 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
Не нашли ответ?
Ответить на вопрос
Похожие вопросы