Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 11, 2025 09:40:55

mary333
Зарегистрирован: 2025-04-11
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите пожалуйста составить алгоритм

В программу вводятся координаты точки X и Y (вещественные
числа). Определить, принадлежит ли точка с координатами (X; Y)
заштрихованной части плоскости. Составить алгоритм решения задачи на алгоритмическом языке

Прикреплённый файлы:
attachment 2025-04-11_11-37-08.png (130,0 KБ)

Офлайн

#2 Апрель 11, 2025 16:05:19

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2783
Репутация: +  185  -
Профиль   Отправить e-mail  

помогите пожалуйста составить алгоритм

Уравнение окружности ω (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. Принадлежность области сам проверишь, там всё просто.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Апрель 12, 2025 07:14:17

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9929
Репутация: +  856  -
Профиль   Отправить e-mail  

помогите пожалуйста составить алгоритм

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)

Офлайн

#4 Апрель 12, 2025 16:29:47

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2783
Репутация: +  185  -
Профиль   Отправить e-mail  

помогите пожалуйста составить алгоритм

> Не, нифига.

Принадлежность области сам проверишь, там всё просто.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#5 Апрель 12, 2025 22:36:56

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9929
Репутация: +  856  -
Профиль   Отправить e-mail  

помогите пожалуйста составить алгоритм

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



Офлайн

#6 Апрель 12, 2025 23:32:22

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2783
Репутация: +  185  -
Профиль   Отправить e-mail  

помогите пожалуйста составить алгоритм

> штрихованная область включает в себя границы, если не сказано обратное

Это пусть он у преподавателя выясняет. Я и так ему всё расписал.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version