Форум сайта python.su
В программу вводятся координаты точки X и Y (вещественные
числа). Определить, принадлежит ли точка с координатами (X; Y)
заштрихованной части плоскости. Составить алгоритм решения задачи на алгоритмическом языке
Прикреплённый файлы: 2025-04-11_11-37-08.png (130,0 KБ)
Офлайн
Уравнение окружности ω (A; R) имеет вид (x – a)2 + (y – b)2 = R2, где a и b – координаты центра A окружности ω (A; R) .
def p1(x, y): return x*x + y*y > 1 def p2(x, y): return x*x + y*y < 4
Офлайн
RodegastПоковырял немного твою математику
Т. к. обе окружности находятся в центре, то принадлежность к области между ними будет описываться двумя предикатамиdef p1(x, y): return x*x + y*y > 1 def p2(x, y): return x*x + y*y < 4
>>> def p1(x, y): ... return x*x + y*y > 1 ... >>> def p2(x, y): ... return x*x + y*y < 4 ... >>> x, y = 1, 0 >>> >>> p1(x, y) and p2(x, y) False >>> p1(x, y), p2(x, y) (False, True) >>> >>> >>> x, y = 0, 1.5 >>> p1(x, y) and p2(x, y) True >>> >>> >>> x, y = 0, -1.5 >>> p1(x, y) and p2(x, y) True >>>
>>> def p(x, y): ... return x >= 0 and y >= 0 and 1 <= x * x + y * y <= 4 ... >>> p(0, 1) True >>> p(0, 1.5) True >>> p(1.5, 0) True >>> >>> p(0, -1) False >>> p(0, -1.5) False >>> p(-1.5, 0) False >>> >>> p(2.00000000000001, 0) False >>> p(2.000000000000000000000000000001, 0) True >>>
Отредактировано py.user.next (Апрель 12, 2025 07:15:06)
Офлайн
> Не, нифига.
Принадлежность области сам проверишь, там всё просто.
Офлайн
Короче, штрихованная область включает в себя границы, если не сказано обратное - что границы заштрихованной области выколоты. Поэтому < или > не подходит, надо ставить <= или >=. Заштрихованная область - это ГМТ (геометрическое место точек) и при сомнениях о принадлежности границ должно присутствовать утверждение о границах.
Офлайн
> штрихованная область включает в себя границы, если не сказано обратное
Это пусть он у преподавателя выясняет. Я и так ему всё расписал.
Офлайн