PascalABC.NETСоставить программку, которая печатает true, если точка с координатами (х, у)
PascalABC.NET
Составить программку, которая печатает true, если точка с координатами (х, у) принадлежит заштрихованной области, и false в неприятном случае.
Заранее спасибо.
![](/content/imgs/81/https://ru-static.z-dn.net/files/d71/6a57783b52dac17319b676870268184e.jpg)
1 ответ
Алексей Цибинов
В таких задачах главное - составить уравнения линий, ограничивающие заданный контур.
Уравнение прямой, проходящей через две точки, можно записать в виде![\displaystyle \fracx-x_Ax_B-x_A= \fracy-y_Ay_B-y_A \qquad (1) \displaystyle \fracx-x_Ax_B-x_A= \fracy-y_Ay_B-y_A \qquad (1)](https://tex.z-dn.net/?f=%5Cdisplaystyle+%5Cfrac%7Bx-x_A%7D%7Bx_B-x_A%7D%3D+%5Cfrac%7By-y_A%7D%7By_B-y_A%7D+%5Cqquad+%281%29+)
Первая линия (показана красноватым цветом) проходит через точки 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 \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](https://tex.z-dn.net/?f=%5Cdisplaystyle+%5Cfrac%7Bx-2%7D%7B5-2%7D%3D+%5Cfrac%7By-5%7D%7B1-5%7D+%3B+%5C++%5Cfrac%7Bx-2%7D%7B3%7D%3D+%5Cfrac%7By-5%7D%7B-4%7D%3B+%5C+8-4x%3D3y-15%3B+%5C%5C+%5C%5C+%0A3y%3D23-4x+%5Cto+y%3D+%5Cfrac%7B23-4x%7D%7B3%7D)
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 \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](https://tex.z-dn.net/?f=%5Cdisplaystyle+%5Cfrac%7Bx-5%7D%7B2-5%7D%3D+%5Cfrac%7By-1%7D%7B-4-1%7D+%3B+%5C+%5Cfrac%7Bx-5%7D%7B-3%7D%3D+%5Cfrac%7By-1%7D%7B-5%7D%3B+%5C+25-5x%3D3-3y%3B+%5C%5C+%5C%5C+3y%3D5x-22+%5Cto+y%3D+%5Cfrac%7B5x-22%7D%7B3%7D)
2-ая линия (показана зеленоватым цветом) имеет уравнение х=2.
Границы, а также внутренняя часть контура, составленного этими 3-мя чертами (треугольник) принадлежат сразу трем областям, показанным цветными заливками. Любая область определяется математическим неравенством. Если область лежит выше полосы y=F(x), то yF(x), а если ниже, то yF(x)
Тогда для красной области
![\displaystyle y\leq F(x); \quad y \leq \frac23-4x3 \displaystyle y\leq F(x); \quad y \leq \frac23-4x3](https://tex.z-dn.net/?f=%5Cdisplaystyle+y%5Cleq+F%28x%29%3B+%5Cquad+y+%5Cleq++%5Cfrac%7B23-4x%7D%7B3%7D+)
для голубой области
![\displaystyle y\geq F(x); \quad y \geq \frac5x-223 \displaystyle y\geq F(x); \quad y \geq \frac5x-223](https://tex.z-dn.net/?f=%5Cdisplaystyle+y%5Cgeq+F%28x%29%3B+%5Cquad+y+%5Cgeq++%5Cfrac%7B5x-22%7D%7B3%7D+)
и для зеленой области х2
А контур описывается совокупой этих 3-х критерий, объединенных логическим "И".
![\displaystyle \left(y \leq \frac23-4x3\right) \land \left(y \geq \frac5x-223\right) \land (x \geq 2) \qquad (2) \displaystyle \left(y \leq \frac23-4x3\right) \land \left(y \geq \frac5x-223\right) \land (x \geq 2) \qquad (2)](https://tex.z-dn.net/?f=%5Cdisplaystyle+%5Cleft%28y+%5Cleq+%5Cfrac%7B23-4x%7D%7B3%7D%5Cright%29+%5Cland+%5Cleft%28y+%5Cgeq+%5Cfrac%7B5x-22%7D%7B3%7D%5Cright%29+%5Cland+%28x+%5Cgeq+2%29+%5Cqquad+%282%29)
Условие (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
Уравнение прямой, проходящей через две точки, можно записать в виде
Первая линия (показана красноватым цветом) проходит через точки A(2;5) и В(5;1). Подставляя значения в (1) получаем
2-ая линия (показана голубым цветом) проходит через точки В(5;1) и С(2;-4). Подставляя значения в (1) получаем
2-ая линия (показана зеленоватым цветом) имеет уравнение х=2.
Границы, а также внутренняя часть контура, составленного этими 3-мя чертами (треугольник) принадлежат сразу трем областям, показанным цветными заливками. Любая область определяется математическим неравенством. Если область лежит выше полосы y=F(x), то yF(x), а если ниже, то yF(x)
Тогда для красной области
для голубой области
и для зеленой области х2
А контур описывается совокупой этих 3-х критерий, объединенных логическим "И".
Условие (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
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Газообразный аммиак объёмом 2.24 л (н.у.) был полностью поглощён 14.68 мл
Химия.
Упражнение 2 Выпишите глаголы и вставьте пропущенные буквы
Русский язык.
Радиус окружности, описанной около равностороннего треугольника, равен 6. Найдите сторону треугольника
Геометрия.
Вычислите силу с которой при давлении 100 КПа атмосфера давит на
Физика.
Синтаксический разбор и схема Но мы сказали, что нам ничего не
Русский язык.
Массовая доля целлюлозы в древесине составляет 50%. Какая масса спирта может
Химия.
помоги мне пожалуста прш
869*(61124-488*125)-50974
Математика.
по шкале высот определить ,в каком направлении происходит понижение релефа уральских гор
География.
Помогите пожалуйста написать Сочинение Овчинникова "победитель'
Литература.
Здравствуйте. Нужен цитатный план испытания лётчика в лесу главы2-13 по повести
Разные вопросы.
Облако тегов