From b09a9200b1cc2f6ff4fc784e519e482bdac151fb Mon Sep 17 00:00:00 2001 From: Danya_Mochalov Date: Fri, 15 Mar 2024 21:27:00 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=B0=209=20=D1=81=D0=B4?= =?UTF-8?q?=D0=B0=D0=BB=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lab9/lab9.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 lab9/lab9.py diff --git a/lab9/lab9.py b/lab9/lab9.py new file mode 100644 index 0000000..e5c9e70 --- /dev/null +++ b/lab9/lab9.py @@ -0,0 +1,42 @@ +import matplotlib.pyplot as plt + +print("Введите минимальное значение (первое основание треугольника) :") +min_value = float(input()) + +print("Введите максимальное значение (второе основание треугольника) :") +max_value = float(input()) + +if max_value < min_value: + max_value, min_value = min_value, max_value + +print("Введите центральное значение (вершина треугольника) :") +center_value = float(input()) + +print("Введите значение объекта для проверки степени принадлежности:") +x = float(input()) + +if min_value <= x <= center_value: + membership = (x - min_value) / (center_value - min_value) +elif center_value < x <= max_value: + membership = (max_value - x) / (max_value - center_value) +elif x < min_value or x > max_value: + membership = 0 +else: + membership = -1 + + +if membership == -1: + print("Не удалось рассчитать степень принадлежности объекта") + + +print(f"Минимум: {min_value}") +print(f"Максимум: {max_value}") +print(f"Центр: {center_value}") +print(f"Степень принадлежности {x}: {membership:.2f}") + +X = [min_value, center_value, max_value] +Y = [0, 1, 0] + +plt.plot(X, Y) +plt.plot(x, membership, 'ro') +plt.show()