PascalABC.NETСоставить программку, которая печатает true, если точка с координатами (х, у)

PascalABC.NET
Составить программку, которая печатает true, если точка с координатами (х, у) принадлежит заштрихованной области, и false в неприятном случае.
Заранее спасибо.

Задать свой вопрос
1 ответ
В таких задачах главное - составить уравнения линий, ограничивающие заданный контур.
Уравнение прямой, проходящей через две точки, можно записать в виде \displaystyle \fracx-x_Ax_B-x_A= \fracy-y_Ay_B-y_A \qquad (1)
Первая линия (показана красноватым цветом) проходит через точки A(2;5) и В(5;1). Подставляя значения в (1) получаем
\displaystyle \fracx-25-2= \fracy-51-5 ; \  \fracx-23= \fracy-5-4; \ 8-4x=3y-15; \\ \\ amp;10;3y=23-4x \to y= \frac23-4x3
2-ая линия (показана голубым цветом) проходит через точки В(5;1) и С(2;-4). Подставляя значения в (1) получаем
\displaystyle \fracx-52-5= \fracy-1-4-1 ; \ \fracx-5-3= \fracy-1-5; \ 25-5x=3-3y; \\ \\ 3y=5x-22 \to y= \frac5x-223
2-ая линия (показана зеленоватым цветом) имеет уравнение х=2.

Границы, а также внутренняя часть контура, составленного этими 3-мя чертами (треугольник) принадлежат сразу трем областям, показанным цветными заливками. Любая область определяется математическим неравенством. Если область лежит выше полосы y=F(x), то yF(x), а если ниже, то yF(x)
Тогда для красной области
\displaystyle y\leq F(x); \quad y \leq  \frac23-4x3
для голубой области
\displaystyle y\geq F(x); \quad y \geq  \frac5x-223
и для зеленой области х2
А контур описывается совокупой этих 3-х критерий, объединенных логическим "И".
\displaystyle \left(y \leq \frac23-4x3\right) \land \left(y \geq \frac5x-223\right) \land (x \geq 2) \qquad (2)
Условие (2) является логическим выражением и его значением в программке будет true/false, что и требуется по условию.

// PascalABC.NET 3.2, сборка 1379 от 21.01.2017

var
  x,y:real;
begin
  Write('Введите координаты точки: '); Read(x,y);
  Writeln((ylt;=(23-4*x)/3) and (ygt;=(5*x-22)/3) and (xgt;=2))
end.

Пример
Введите координаты точки: 3 2.1
True
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт