Предмет: Информатика, автор: waspnovikova

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

Ответы

Автор ответа: Аноним
2
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


Похожие вопросы
Предмет: Русский язык, автор: алгебра83
Сократите до 4 ёх или более предложений, главное как можно короче


Мы были в море в течение двух недель. Я знакомлюсь с другими пассажирами на борту судна. Святые дают своим детям интересные имена. Я уже повстречался с именами «Память», «любовь» и «терпение». Я думаю, что святые считают, что эти имена будут помогать их детям получить те же качества в конце своей жизни. Ну, посмотрим.
Мой дорогой друг.
Мы испытали многого за этот месяц. Был ужасный шторм, и главная мачта треснула. Корабль был в реальной опасности. Сначала никто не знал, что делать, но потом нашему умному капитану Джонсу пришла в голову мысль о том, как решить эту проблему, и мы поплыли дальше.
Погода была ужасная. Мы ничего ни видели, кроме густого тумана в течение нескольких дней. Люди промокали насквозь и не имели возможности высушить одежду. Еда портилась, поэтому многим пассажирам становилось плохо. Даже те люди, которые были не больны, становились слабее. Они начинали думать обо всех опасностях в Новом Свете.
Иногда я тоже волнуюсь. Мэйфлауэр покинул Англию в конце года. Сначала мы собирались уехать летом и прибыть в Америку тёплыми осенними месяцами. Но, уже октябрь, а нам еще предстоит долгий путь. Что с нами будет, когда мы прибудем зимой? Может быть не будет домов, еды, помощи …