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

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

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

program CheckOriginInsideTriangle;
var
x1, y1, x2, y2, x3, y3, x, y: Integer;
a, b, c, p: Real;
begin
writeln('Введите координаты первой вершины треугольника (x1 y1): ');
readln(x1, y1);
writeln('Введите координаты второй вершины треугольника (x2 y2): ');
readln(x2, y2);
writeln('Введите координаты третьей вершины треугольника (x3 y3): ');
readln(x3, y3);
writeln('Введите координаты точки (x y), чтобы проверить, находится ли начало координат внутри треугольника: ');
readln(x, y);
a := sqrt(sqr(x2 - x1) + sqr(y2 - y1));
b := sqrt(sqr(x3 - x2) + sqr(y3 - y2));
c := sqrt(sqr(x1 - x3) + sqr(y1 - y3));
p := (a + 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, ') находится внутри треугольника')
else
writeln('Точка (', x, ',', y, ') находится вне треугольника');
end.

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

18 Апр в 16:51
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 251 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир