Консультация № 64646
28.11.2006, 20:50
0.00 руб.
0 1 1
Здраствуйте уважаемые эксперты, помогите плиз ещё раз. Вот такая задача. Определить принадлежит ли т. М с координатами х,у заштрихованой облости.
Рисунок находиться тут http://risunok.net/pic/713. Спосибо вам за помощь=)

Обсуждение

Неизвестный
28.11.2006, 21:41
общий
это ответ
Здравствуйте, Arian!

Ну, давайте (как в прошлой задаче, решить которую я Вам помогал) вначале вспомним геометрию и порассуждаем.
Буду верхнюю заштрихованную область считать первой (1) а нижнюю второй (2).

Пусть дана точка с координатами x и y.

Вопрос: принадлежит ли она области (2).
Условия принадлежания:
1) x<0
2) y<0
3) x^2+y^2<=1
Ну 1) и 2) я думаю понятно (условие принадлежания 3 четверти)
3) - принадлежание окружности с центром в т. O(0;0) и радиусом меньшим 1.

Для принадлежности области (1) делаем подобно:
1) x<0
2) y>0 (можно не брать, т.к. уравнению окружности удовлетворяют только такие значения переменной y)
3) x^2+(y-1)^2=1
Таким образом мы проверили, принадлежит ли точка левой половине окружности.
Но нужно еще обрезать ту часть, которая также принадлежит нижней окружности.
4) x^2+y^2>=1

Ну вот в принципе и все.
В приложении программа выдает ответ на принадлежность хотябы одной из областей, если нужен ответ принадлежности конкретно какой-то области, то я думаю, Вам будет несложно переделать программу, ведь все рассуждения уже есть.

Удачи!

Приложение:
var x,y:real;begin writeln(‘Vvedite koordinaty tochki M.‘); write(‘x=‘); readln(x); write(‘y=‘); readln(y); if ((x<0) and (y<0) and (x*x+y*y<=1)) or ((x<0) and (x*x+sqr(y-1)<=1) and (x*x+y*y>=1)) then writeln(‘Prinadlegit‘) else writeln(‘Ne prinadlegit‘); readln;end.
Форма ответа