Определить, попадает ли точка в закрашенную область - Pascal

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

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

Дана заштрихованная область и точка с координатами (x,y). Написать программу, определяющую, попадает ли точка в область. Результат вывести в виде текстового сообщения. Пример:
  
if (sqr(x)+sqr(y)<=0) or (X<=0) and (y<=0) and (y>=-x-2) then writeln('Точка попадает в область')
  else writeln('Точка не попадает в область');

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

textual
Листинг программы
var r,x,y:real;
begin
write('введите радиус R= ');
readln(r);
writeln('Введите координаты точки x,y');
readln(x,y);
if (x*y<=0)and(abs(x)<=r)and(sqr(abs(x)-r)+sqr(y)<=r*r)
then write('принадлежит')else write('не принадлежит')
end.

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

  1. Создается переменная r, которая предназначена для хранения радиуса.
  2. Выводится сообщение введите радиус R= и считывается значение радиуса с помощью функции readln().
  3. Выводится сообщение Введите координаты точки x,y и считываются значения координат x и y с помощью функции readln().
  4. Вычисляется значение x*y.
  5. Вычисляется значение abs(x).
  6. Вычисляется значение sqr(abs(x)).
  7. Вычисляется значение sqr(abs(x))-sqr(r).
  8. Вычисляется значение sqr(y).
  9. Вычисляется значение sqr(y)<=r*r.
  10. Проверяется условие x*y<=0 и abs(x)<=r.
  11. Проверяется условие sqr(abs(x))-sqr(r)<=r*r.
  12. Если все условия выполняются, выводится сообщение принадлежит.
  13. Если хотя бы одно из условий не выполняется, выводится сообщение не принадлежит.

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

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