Определить, сколько точек попадает в кольцо с внутреним радиусом 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
- Для каждой введенной точки
- Вывод результата:
- После окончания ввода точек выводится количество точек, попавших в кольцо.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д