in-1973
?>

По данному псевдокоду составьте условие задачи и разработайте блок-схему​

Информатика

Ответы

tochkamail7

Объяснение:

Мы находим функции прямых, ограничивающих область (по точкам).

Эти прямые дают координаты Y точки по её координате X.

Если некая y = f(x) в точке X0 принимает Y0 и это соответствует введенным значениям, то введенная точка лежит на прямой.

Но нам интересны значения в области. Если введенное значение Y больше рассчитанного Y0, то (X; Y) находится выше прямой y = f(x).

Если же меньше рассчитанного, то ниже.

Смотря на рисунок мы определяем, какие прямые у нас имеются, и где должна быть точка, чтобы находиться внутри области: выше или ниже прямых, ограничивающих область (для каждой прямой).

Потом переносим это в виде условия.

Пример на Python:

def get_line_by_two_points(x0: float, y0: float, x1: float, y1: float):

   def line_y(x: float):

       return (x - x0)/(x1 - x0) * (y1 - y0) + y0

   return line_y

l1 = get_line_by_two_points(-3, 7, -6, 1)  # Левая наклонная

l2 = get_line_by_two_points(7, 1, 4, 7)  # Правая наклонная

x_value = int(input("Enter an X value: "))

y_value = int(input("Enter a Y value: "))

if 1 < y_value < 7 and y_value < l1(x_value) and y_value < l2(x_value):

   print("Point is in the space!")

else:

   print("Point is NOT in the space!")

alisapavlushina

Задание 1

На первой картинке мы имеем 3 прямые, образующие треугольник. По точкам определим их функции.

Вершины треугольника: (1; 4), (5; -4), (-5; -3).

Функция прямой по двум точкам:

\frac{x - x0}{x1 - x0} = \frac{y - y0}{y1 - y0}

Подставляем точки и получаем три функции:

l1(x) = \frac{x - 5}{1 - 5} = \frac{y + 4}{4 + 4} \Leftrightarrow y = -2x + 6

l2(x) = \frac{x - 5}{-5 - 5} = \frac{y + 4}{-3 + 4} \Leftrightarrow y = -0.1x + 4.5

l3(x) = \frac{x - 1}{-5 - 1} = \frac{y - 4}{-3 - 4} \Leftrightarrow 7x - 7 = 6y - 24 \Leftrightarrow y = (7x + 17) / 6

Точка находится в области, если y > l2(x0) И y < l1(x) И y < l3(x).

На Python это выглядит так. (Выводить функции не надо, это делается автоматически)

def get_line_by_two_points(x0: float, y0: float, x1: float, y1: float):

   def line_y(x: float):

       return (x - x0)/(x1 - x0) * (y1 - y0) + y0

   return line_y

l1 = get_line_by_two_points(1, 4, 5, -4)

l2 = get_line_by_two_points(-5, -3, 5, -4)

l3 = get_line_by_two_points(1, 4, -5, -3)

x = int(input("Enter an X value: "))

y = int(input("Enter a Y value: "))

if y < l1(x) and y > l2(x) and y < l3(x):

   print("Point is in the space!")

else:

   print("Point is NOT in the space!")

Задание 2

Теперь у нас 4 прямые.

Мы имеем трапецию. Две прямые видны сразу: y = 1 и y = 7.

Оставшиеся две найдем по двум точкам автоматически.

Код на Python:

def get_line_by_two_points(x0: float, y0: float, x1: float, y1: float):

   def line_y(x: float):

       return (x - x0)/(x1 - x0) * (y1 - y0) + y0

   return line_y

l1 = get_line_by_two_points(-3, 7, -6, 1)  # Левая наклонная

l2 = get_line_by_two_points(7, 1, 4, 7)  # Правая наклонная

x = int(input("Enter an X value: "))

y = int(input("Enter a Y value: "))

if 1 < y < 7 and y < l1(x) and y < l2(x):

   print("Point is in the space!")

else:

   print("Point is NOT in the space!")

===============================

Ваши оценки и отзывы лучше оценить качество решения.

Если ответ удовлетворил, не забудь выбрать его как "Лучший".

Успехов в учёбе!

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

По данному псевдокоду составьте условие задачи и разработайте блок-схему​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Ярослав
А Дзукаев1562
mishink535
Kelena190533
Ольга
sky-elena712558
srvsm
predatorfishing608
Сопова
whiskyandcola
magnit-expo
aidapiltoyan43
ovdei71
Evelina Mariya
yelenaSmiryagin