В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Kirill1233341
Kirill1233341
03.05.2023 04:11 •  Информатика

Определить,попадает ли точка с координатами (x,y) в заштрихованную область.

delphi 7

Показать ответ
Ответ:
prooverrseer
prooverrseer
05.10.2020 00:48

Объяснение:

Немного математики:

Вся заштрихованная область представляет собой решение некоторой системы уравнений. Например, I четверть координатной плоскости задается x > 0, y > 0. Этот случай относится к тому, что область принадлежит той самой I четверти.

Теперь у нас есть два варианта решения: проверить принадлежности x к отрезку (0; 7), а затем разбить на два условия: если точка принадлежит отрезку (0;5], то координата y должна принадлежать (0;5). Иначе если координата икс в отрезке [5;7), то координата y должна быть меньше некоторой линейной функции, проходящей через точки (5;5) и (7;0)

Второй вариант (он будет оптимальнее): сначала проверить принадлежность координаты y в отрезке (0;5). Если это так, то проверить выполнение условия 0 < x < f(y), где f(y) - это некоторая линейная функция.

Давайте найдем эту линейную функцию.

Если линейная функция задается уравнением y = kx + b, то справедлива система:

\left \{ {{5k +b =5} \atop {7k + b=0}} \right.

От второго отнимаем первое уравнение, получаем 2k = -5, или k = -2.5, а b будет при этом равно 17,5

Теперь найдем обратную функцию (решать будем по второму варианту)

y = -2.5x + 17.5\\2y = -5x + 35\\35 - 2y = 5x\\x = 7 - 0.4y

Теперь, точка считается внутри фигуры, если выполняется:

0 < y < 5

0 < x < 7 - 0.4y

Сама программа:

program task;

var x, y: real;

begin

writeln('Введите координаты точки х и y: ');

readln(x, y);

if ((y > 0) and (y < 5)) then begin

if ((x > 0) and (x < 7 - 0.4*y)) then writeln('Попадает')

else writeln('Не попадает')

end;

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота