Для данных областей составить линейную программу, которая печатает true, если точка с координатами (х, у) принадлежит закрашенной области, и false — в противном случае

Для данных областей составить линейную программу, которая печатает true, если точка с координатами (х, у) принадлежит закрашенной области, и false — в противном случае
Гость
Ответ(ы) на вопрос:
Гость
В таких задачах присутствует математическая часть значительного объема. В данном случае нужно "снять" с рисунка координаты вершин треугольника и построить по ним уравнения прямых, представляющих собой стороны треугольника. Затем составляется логическое выражение, описывающее область внутри треугольника (о границах ничего не сказано, поээтому далее считаем, что они в закрашенную область не входят, а если они нужны, неравенства надо сделать нестрогими). 1. Получаем координаты вершин треугольника A(-5;-3), B(1;4), C(5;-4) 2. Составляем уравнения прямых AB, BC и CA Общий вид уравнения, проходящего через две точки P и Q: [latex]\displaystyle \frac{x-x_p}{x_q-x_p}= \frac{y-y_p}{y_q-y_p} [/latex] Получаем три уравнения прямых: [latex]AB: \quad \displaystyle \frac{x-5}{1+5}= \frac{y+3}{4+3} \to y= \frac{1}{6}(7x+17) \\ BC: \quad \displaystyle \frac{x-1}{5-1}= \frac{y-4}{-4-4} \to y= 6-2x \\ CA: \quad \displaystyle \frac{x-5}{-5-5}= \frac{y+4}{-3+4} \to y= -0.1x-3.5[/latex] 3. Составляем программу. В данном случае выбран язык системы PascalABC.Net var   x,y:real; begin   Write('Введите через пробел координаты точки x и y: ');   Read(x,y);   Writeln((y<(7*x+17)/6) and (y<6-2*x) and (y>-0.1*x-3.5)) end. Тестовое решение: Введите через пробел координаты точки x и y: 2 1.9 True
Не нашли ответ?
Ответить на вопрос
Похожие вопросы