Определить, сколько точек попадает в кольцо с внутреним радиусом r1 и внешним радиусом r2 - Pascal

Узнай цену своей работы

Формулировка задачи:

вводятся по очереди координаты n точек определить сколько из них попадает в кольцо с внутреним радиусом r1 и внешним радиусом r2

Решение задачи: «Определить, сколько точек попадает в кольцо с внутреним радиусом r1 и внешним радиусом r2»

textual
Листинг программы
var
  r1, r2, cx, cy, x, y, r: Real;
  n: Integer;
begin
  Write('Центра кольца, внутренний и внешний радиусы: ');
  ReadLn(cx,cy,r1,r2);
  WriteLn('Вводите координаты точек, окончание: end');
  {$I-}
  n:=0; r1:=sqr(r1); r2:=sqr(r2);
  repeat
    Read(x,y);
    if IOResult<>0 then Break;
    r:=sqr(x-cx)+sqr(y-cy);
    if (r>=r1) and (r<=r2) then Inc(n);
  until False;
  WriteLn('Точек в кольце: ',n);
end.

Объяснение кода листинга программы

  1. Объявление переменных:
    • r1, r2, cx, cy, x, y, r: данные с плавающей запятой, представляющие входные значения и промежуточные вычисления
    • n: целочисленная переменная для подсчета количества точек внутри кольца
  2. Запрос ввода данных:
    • Пользователю предлагается ввести центр кольца (cx, cy), внутренний радиус r1 и внешний радиус r2
  3. Цикл ввода точек:
    • Пока не будет введено end, пользователю предлагается вводить координаты точек (x, y)
    • Ввод координат точек прекращается при вводе end
  4. Подсчет точек в кольце:
    • Для каждой введенной точки x, y расчитывается квадрат расстояния r от точки до центра кольца
    • Если расстояние r попадает в диапазон между квадратами внутреннего (r1) и внешнего (r2) радиусов кольца, увеличивается счетчик n
  5. Вывод результата:
    • После окончания ввода точек выводится количество точек, попавших в кольцо.

Оцени полезность:

7   голосов , оценка 3.571 из 5
Похожие ответы