Определить, сколько точек попадает в кольцо с внутреним радиусом 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.
Объяснение кода листинга программы
- Объявление переменных:
r1, r2, cx, cy, x, y, r
: данные с плавающей запятой, представляющие входные значения и промежуточные вычисленияn
: целочисленная переменная для подсчета количества точек внутри кольца
- Запрос ввода данных:
- Пользователю предлагается ввести центр кольца (
cx
,cy
), внутренний радиусr1
и внешний радиусr2
- Пользователю предлагается ввести центр кольца (
- Цикл ввода точек:
- Пока не будет введено
end
, пользователю предлагается вводить координаты точек (x, y) - Ввод координат точек прекращается при вводе
end
- Пока не будет введено
- Подсчет точек в кольце:
- Для каждой введенной точки
x, y
расчитывается квадрат расстоянияr
от точки до центра кольца - Если расстояние
r
попадает в диапазон между квадратами внутреннего (r1
) и внешнего (r2
) радиусов кольца, увеличивается счетчикn
- Для каждой введенной точки
- Вывод результата:
- После окончания ввода точек выводится количество точек, попавших в кольцо.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д