Определить, какая из трех точек с координатами А(x1,y1), B(x2,y2), C(x3,y3) лежит ближе к...

0 голосов
85 просмотров

Определить, какая из трех точек с координатами А(x1,y1), B(x2,y2), C(x3,y3) лежит ближе к началу координат и вывести на экран ее номер


Информатика (19 баллов) | 85 просмотров
0

В какой программе писать?

Дан 1 ответ
0 голосов
Правильный ответ

Var
{вводим точки, записываем в переменную max расстояние до первой точки, а в переменную max2 - номер точки. Если расстояние до следующей точки меньше, чем до первой точки, то сохраняем новые значения в max и max2}
x1,y1,x2,y2,x3,y3,max,max2:real;
    begin
         readln(x1,y1,x2,y2,x3,y3);       
           max:=sqrt(sqr(x1)+sqr(y1));       
           max2:=1;     
               if sqrt(sqr(x2)+sqr(y2))<=max then      <br>                  begin       
                      max:=sqrt(sqr(x2)+sqr(y2));       
                      max2:=2;     
                  end;     
              if sqrt(sqr(x3)+sqr(y3))<=max then      <br>                   begin       
                     max:=sqrt(sqr(x3)+sqr(y3));       
                     max2:=3;     
                   end;     
writeln(max,' ',max2);     
end.

(9.6k баллов)
0

Когда при программировании думают об эффективности алгоритма, то сравнивают квадраты расстояний, а не корни из них. Какой смысл в лишних операциях?