GAECHKA
Твоя помощница в решении задач

Процедуры: вычисление расстояния от точки до начала координат

Заданы декартовы координаты 5 точек: X1= 25 и Y1=20, X2= -10 и Y2=15, X3= 10 и Y3=-15, X4= -20 и Y4=-20, X5= 15 и Y5=15. Определить, какие из точек находятся внутри окружности с радиусом круга r=20, используя подпрограмму для вычисления расстояния d от точки до начала координат по формуле d=√X2+Y .
0
вопрос задан

Источник


1 ответ
program Zadanie28;
 
procedure opredelitkrug (x,y,r: integer);
begin
 if sqrt(x*x + y*y) > r then
   Writeln('Точка с координатами [',x,',',y,'] не принадлежит кругу с радиусом ',r)
 else
   Writeln('Точка с координатами [',x,',',y,'] принадлежит кругу с радиусом ',r)
end;
 
var
  a: array[1..5,1..2] of integer; // Переменная для хранения массива с координатами точек.
  d: integer;  // Переменная для хранения заданного радиуса.
  i: integer;  // Промежуточная переменная для организации цикла.
begin
  d:= 20; // Заданный радиус.
  // Заданные точки. Такая запись сделана специально, для наглядности.
  // В столбце a[i,1] хранится координата X, в столбце a[i,2] хранится координата Y.
  a[1,1]:= 25;  a[1,2]:= 20;
  a[2,1]:= -10; a[2,2]:= 15;
  a[3,1]:= 10;  a[3,2]:= -15;
  a[4,1]:= -20; a[4,2]:= -20;
  a[5,1]:= 15;  a[5,2]:= 15;
 
  for i:=1 to 5 do
   opredelitkrug(a[i,1],a[i,2],d);
 
readln;
end.