Написать программу для паскаля, которая по трем парам (х,у) введенных с клавиатуры координат определит, находится ли начало координат внутри треугольника, заданного этими тремя вершинами

23 Фев 2020 в 19:41
171 +1
0
Ответы
1

Программа на Pascal:

program CheckOriginInsideTriangle;
var
x1, y1, x2, y2, x3, y3, x, y: Integer;
a, b, c, p: Real;
begin
writeln′Введитекоординатыпервойвершинытреугольника(x1y1):′'Введите координаты первой вершины треугольника (x1 y1): 'Введитекоординатыпервойвершинытреугольника(x1y1):;
readlnx1,y1x1, y1x1,y1;
writeln′Введитекоординатывторойвершинытреугольника(x2y2):′'Введите координаты второй вершины треугольника (x2 y2): 'Введитекоординатывторойвершинытреугольника(x2y2):;
readlnx2,y2x2, y2x2,y2;
writeln′Введитекоординатытретьейвершинытреугольника(x3y3):′'Введите координаты третьей вершины треугольника (x3 y3): 'Введитекоординатытретьейвершинытреугольника(x3y3):;
readlnx3,y3x3, y3x3,y3;
writeln′Введитекоординатыточки(xy),чтобыпроверить,находитсялиначалокоординатвнутритреугольника:′'Введите координаты точки (x y), чтобы проверить, находится ли начало координат внутри треугольника: 'Введитекоординатыточки(xy),чтобыпроверить,находитсялиначалокоординатвнутритреугольника:;
readlnx,yx, yx,y;
a := sqrtsqr(x2−x1)+sqr(y2−y1)sqr(x2 - x1) + sqr(y2 - y1)sqr(x2x1)+sqr(y2y1);
b := sqrtsqr(x3−x2)+sqr(y3−y2)sqr(x3 - x2) + sqr(y3 - y2)sqr(x3x2)+sqr(y3y2);
c := sqrtsqr(x1−x3)+sqr(y1−y3)sqr(x1 - x3) + sqr(y1 - y3)sqr(x1x3)+sqr(y1y3);
p := a+b+ca + b + ca+b+c / 2;
if abs(sqrt(p * (p - a) * (p - b) * (p - c)) - (abs((x1 - x)*(y2 - y1) - (x2 - x1)*(y1 - y))) - (abs((x2 - x)*(y3 - y2) - (x3 - x2)*(y2 - y))) - (abs((x3 - x)*(y1 - y3) - (x1 - x3)*(y3 - y))) < 0.0001) then
writeln′Точка(′,x,′,′,y,′)находитсявнутритреугольника′'Точка (', x, ',', y, ') находится внутри треугольника'Точка(,x,,,y,)находитсявнутритреугольника else
writeln′Точка(′,x,′,′,y,′)находитсявнетреугольника′'Точка (', x, ',', y, ') находится вне треугольника'Точка(,x,,,y,)находитсявнетреугольника;
end.

Программа запрашивает координаты трех вершин треугольника и координаты точки, для которой нужно определить, находится ли начало координат внутри этого треугольника. Сначала программа находит площадь треугольника по формуле Герона, затем сравнивает сумму площадей трех треугольников, образованных точкой и вершинами данного треугольника, с площадью исходного треугольника. Если разница между этими значениями меньше определенного эпсилон, то точка находится внутри треугольника.

18 Апр 2024 в 16:51
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир