Попадание точки в заштрихованную область - Pascal
Формулировка задачи:
Помогите переделать программу под мой рисунок . Условии задачи ,попадает ли точка с заданными координатами в область,закрашенную на рисунке серым цветом.Результат работы программы вывести в виде текстового сообщения.
Решение задачи: «Попадание точки в заштрихованную область»
textual
Листинг программы
var r,x,y:real;
begin
repeat
write('Введите радиус R>0 r=');
readln(r);
until r>0;
writeln('Введите координаты точки');
readln(x,y);
if((x<=0)and(y>=0)and(x*x+y*y<=r*r))
or((y<=0)and(y>=-2*x)and(y>=2*x-2*r))
then write('Точка попадает в область')
else write('Точка не попадает в область')
end.
Объяснение кода листинга программы
- Создается переменная
r, которая предназначена для хранения радиуса. - Создается переменная
x, которая предназначена для хранения координат X. - Создается переменная
y, которая предназначена для хранения координат Y. - В цикле
repeat-untilвыполняется чтение радиусаrи координатx,yс помощью функцииreadln(). - Проверяется условие: радиус
rдолжен быть больше нуля. Если это условие не выполняется, то цикл прерывается и выводится сообщениеРадиус должен быть больше нуля. - Если условие из пункта 5 выполняется, то проверяются остальные условия:
- Условие 1: координаты
xиyдолжны быть положительными и не превышать радиусr. - Условие 2: если
yотрицательное, тоyдолжно быть равно двумxминус дваr. - Условие 3: если
yположительное, тоyдолжно быть равно двумxплюс дваr.
- Условие 1: координаты
- Если хотя бы одно из условий выполняется, то выводится сообщение
Точка попадает в область. - Если ни одно из условий не выполняется, то выводится сообщение
Точка не попадает в область.