Приведу пример чисел х и у, для которых программа выдаст неправильный результат: x = 3, y = -2.
Чтобы исключить случаи неправильной работы программы, можно выполнить следующие доработки:
В условии if xx+yy>=4 замените >= на >, чтобы исключить случай, когда точка лежит на окружности x^2 + y^2 = 4.
В условии if y>=-2 замените >= на >, чтобы исключить случай, когда точка находится на линии y = -2.
В условии if y<=x замените <= на <, чтобы исключить случай, когда точка лежит на прямой y = x.
Вот исправленный код:
var
x, y: real;
begin
readln(x, y);
if x*x + y*y > 4 then
if y > -2 then
if y < x then
write('Принадлежит')
else
write('Не принадлежит')
else
write('Не принадлежит')
else
write('Не принадлежит');
end.
Эти изменения помогут исключить неправильные результаты и программу будет работать корректно.
