** координатной плоскости заданы 15 произвольных точек, координаты которых не превосходят...

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

На координатной плоскости заданы 15 произвольных точек,
координаты которых не превосходят по модулю число 50 и записаны в
целочисленные массивы Х и У (массив Ч содержит абсциссы, а массив У –
ординаты заданных точек). Определить, сколько и какие из этих точек
попадут внутрь каждой из следующих окружностей:
а) центр в точке (10,15), радиус 10;
б) центр в точке (0,0), радиус 50;
и) центр в точке (30, -20), радиус 30.
Оформить процедурами ввод и вывод массивов координат.
Оформить функцией определение координат и количества точек, попавших
внутрь окружности.Составить программу на Паскале. Только правильно всё пожалуйста, не мало баллов же даю.Заранее всем спасибо за помощь))).


Информатика (200 баллов) | 21 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018
Внимание! Если программа не работает, обновите версию!

procedure ReadArray(prompt:string; var a:array of integer);
begin
  var n:=a.Length;
  Writeln('Введите через пробел значения ',prompt);
  a:=ReadArrInteger(n)
end;

function Inside(x0,y0,r,x,y:integer):boolean;
// попадает ли точка (x,y) внутрь круга, описанного уравнением
// (x-x0)^2+(y-y0)^2=r^2
begin
  Result:=Sqr(x-x0)+Sqr(y-y0)end;

procedure Output(x,y:array of integer; x0,y0,r:integer);
begin
  Writeln('Точки,попавшие внутрь окружности');
  var k:=0;
  for var i:=0 to x.Length-1 do
    if Inside(x0,y0,r,x[i],y[i]) then begin
      k+=1;
      Write($'({x[i]},{y[i]}) ')
      end;
  if k>0 then Writeln;
  Writeln('Общее количество точек равно ',k)
end;

begin
  var n:=15;
  var x:=new integer[n]; ReadArray('абсцисс',x);
  var y:=new integer[n]; ReadArray('ординат',y);
  Writeln('Окружность радиуса 10 с центром (10;15)');
  Output(x,y,10,15,10);
  Writeln('Окружность радиуса 50 с центром (0;0)');
  Output(x,y,0,0,50);
  Writeln('Окружность радиуса 30 с центром (30;-20)');
  Output(x,y,30,-20,30);
end.

Пример
Введите через пробел значения абсцисс
-46 30 18 38 22 6 16 -11 -45 -42 -5 -5 10 11 35
Введите через пробел значения ординат
-26 -10 -15 21 45 30 1 47 32 -16 -20 41 -25 -49 -41
Окружность радиуса 10 с центром (10;15)
Точки,попавшие внутрь окружности
Общее количество точек равно 0
Окружность радиуса 50 с центром (0;0)
Точки,попавшие внутрь окружности
(30,-10) (18,-15) (38,21) (6,30) (16,1) (-11,47) (-42,-16) (-5,-20) (-5,41) (10,-25)
Общее количество точек равно 10
Окружность радиуса 30 с центром (30;-20)
Точки,попавшие внутрь окружности
(30,-10) (18,-15) (16,1) (10,-25) (35,-41)
Общее количество точек равно 5
(150k баллов)
0

У меня версия 3.3.5. сборка 1662(29.04.2018)

0

Я скачивал с оф сайта

0

и что мне делать

0

И какие проблемы?

0

ошибку выдает в var n:=a.Length

0

пишет неожиданный символ

0

Неудачно скопировали текст отсюда

0

сам спишу тогда

0

Сделайте скрин, ссылку мне в личку

0

скрин программы?