Найти - Пользователи
Полная версия: помогите пожалуйста составить алгоритм
Начало » Центр помощи » помогите пожалуйста составить алгоритм
1
mary333
В программу вводятся координаты точки X и Y (вещественные
числа). Определить, принадлежит ли точка с координатами (X; Y)
заштрихованной части плоскости. Составить алгоритм решения задачи на алгоритмическом языке
Rodegast
Уравнение окружности ω (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
Т. о. точка будет находится между двух кругов если обе функции вернут True. Принадлежность области сам проверишь, там всё просто.
py.user.next
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
>>>
Rodegast
> Не, нифига.

Принадлежность области сам проверишь, там всё просто.
py.user.next
Короче, штрихованная область включает в себя границы, если не сказано обратное - что границы заштрихованной области выколоты. Поэтому < или > не подходит, надо ставить <= или >=. Заштрихованная область - это ГМТ (геометрическое место точек) и при сомнениях о принадлежности границ должно присутствовать утверждение о границах.
Rodegast
> штрихованная область включает в себя границы, если не сказано обратное

Это пусть он у преподавателя выясняет. Я и так ему всё расписал.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB