import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
# Функция y=(2-x)/(3+x)
def func(x):
return (2 - x) / (3 + x)
# Создаем массив значений x
x_values = np.linspace(-5, 5, 400)
# Вычисляем соответствующие значения y
y_values = func(x_values)
# Построение графика функции
plt.plot(x_values, y_values, label='$y = \\frac{2 - x}{3 + x}$')
plt.xlabel('x')
plt.ylabel('y')
plt.title('График функции $y = \\frac{2 - x}{3 + x}$')
plt.grid(True)
plt.axhline(0, color='black', linewidth=0.5)
plt.axvline(0, color='black', linewidth=0.5)
# Построение круга
circle = plt.Circle((0, 0), 1, color='blue', alpha=0.5)
plt.gca().add_patch(circle)
# Вписываем квадрат в круг
square = Rectangle((-0.5, -0.5), 1, 1, color='yellow')
plt.gca().add_patch(square)
# Устанавливаем пределы для осей x и y
plt.xlim(-5, 5)
plt.ylim(-5, 5)
# Отображаем легенду
plt.legend()
# Показываем график
plt.show()
aW1wb3J0IG51bXB5IGFzIG5wCmltcG9ydCBtYXRwbG90bGliLnB5cGxvdCBhcyBwbHQKZnJvbSBtYXRwbG90bGliLnBhdGNoZXMgaW1wb3J0IFJlY3RhbmdsZQoKIyDQpNGD0L3QutGG0LjRjyB5PSgyLXgpLygzK3gpCmRlZiBmdW5jKHgpOgogICAgcmV0dXJuICgyIC0geCkgLyAoMyArIHgpCgojINCh0L7Qt9C00LDQtdC8INC80LDRgdGB0LjQsiDQt9C90LDRh9C10L3QuNC5IHgKeF92YWx1ZXMgPSBucC5saW5zcGFjZSgtNSwgNSwgNDAwKQojINCS0YvRh9C40YHQu9GP0LXQvCDRgdC+0L7RgtCy0LXRgtGB0YLQstGD0Y7RidC40LUg0LfQvdCw0YfQtdC90LjRjyB5CnlfdmFsdWVzID0gZnVuYyh4X3ZhbHVlcykKCiMg0J/QvtGB0YLRgNC+0LXQvdC40LUg0LPRgNCw0YTQuNC60LAg0YTRg9C90LrRhtC40LgKcGx0LnBsb3QoeF92YWx1ZXMsIHlfdmFsdWVzLCBsYWJlbD0nJHkgPSBcXGZyYWN7MiAtIHh9ezMgKyB4fSQnKQpwbHQueGxhYmVsKCd4JykKcGx0LnlsYWJlbCgneScpCnBsdC50aXRsZSgn0JPRgNCw0YTQuNC6INGE0YPQvdC60YbQuNC4ICR5ID0gXFxmcmFjezIgLSB4fXszICsgeH0kJykKcGx0LmdyaWQoVHJ1ZSkKcGx0LmF4aGxpbmUoMCwgY29sb3I9J2JsYWNrJywgbGluZXdpZHRoPTAuNSkKcGx0LmF4dmxpbmUoMCwgY29sb3I9J2JsYWNrJywgbGluZXdpZHRoPTAuNSkKCiMg0J/QvtGB0YLRgNC+0LXQvdC40LUg0LrRgNGD0LPQsApjaXJjbGUgPSBwbHQuQ2lyY2xlKCgwLCAwKSwgMSwgY29sb3I9J2JsdWUnLCBhbHBoYT0wLjUpCnBsdC5nY2EoKS5hZGRfcGF0Y2goY2lyY2xlKQoKIyDQktC/0LjRgdGL0LLQsNC10Lwg0LrQstCw0LTRgNCw0YIg0LIg0LrRgNGD0LMKc3F1YXJlID0gUmVjdGFuZ2xlKCgtMC41LCAtMC41KSwgMSwgMSwgY29sb3I9J3llbGxvdycpCnBsdC5nY2EoKS5hZGRfcGF0Y2goc3F1YXJlKQoKIyDQo9GB0YLQsNC90LDQstC70LjQstCw0LXQvCDQv9GA0LXQtNC10LvRiyDQtNC70Y8g0L7RgdC10LkgeCDQuCB5CnBsdC54bGltKC01LCA1KQpwbHQueWxpbSgtNSwgNSkKCiMg0J7RgtC+0LHRgNCw0LbQsNC10Lwg0LvQtdCz0LXQvdC00YMKcGx0LmxlZ2VuZCgpCgojINCf0L7QutCw0LfRi9Cy0LDQtdC8INCz0YDQsNGE0LjQugpwbHQuc2hvdygpCg==