В Паскале (Pascal ABC) выдает ошибку "Нельзя преобразовать тип real к типу integer". как исправить? По заданию нужно написать программу, которая определяет, принадлежит ли точка с координатами (х,у) треугольнику с вершинами в точках с координатами (х1,у1), (х2,у2), (х3,у3). программа: program _1; var x,y,x1,y1,x2,y2,x3,y3:real; begin write('Введите координаты точки(х,у)'); read(x,y); write('Введите координаты первой вершины треугольника(х1,у1)'); read(x1,y1); write('Введите координаты второй вершины треугольника(х2,у2)'); read(x2,y2); write('Введите координаты третьей вершины треугольника(х3,у3)'); read(x3,y3); if ((x-x2)/(x2-x1)-(y-y2)/(y2-y1))<=0 and ((x-x3)/(x3-x2)-(y-y3)/(y3-y2))<=0 and ((x-x3)/(x3-x1)-(y-y3)/(y3-y1))>=0 then writeln('Точка с введенными вами координатами принадлежит треугольнику') else writeln('Точка с введенными вами координатами не принадлежит треугольнику'); end.

27 Мая 2020 в 19:40
315 +2
0
Ответы
1

Ошибка "Нельзя преобразовать тип real к типу integer" возникает из-за того, что вы пытаетесь сравнивать значения типа real с помощью операции "<=" и ">=". Для исправления этой ошибки вам нужно преобразовать результаты вычислений к типу integer с помощью функции trunc() или round().

Вот исправленный код программы:

program _1;
var
x, y, x1, y1, x2, y2, x3, y3: real;
begin
write('Введите координаты точки(х,у)');
read(x, y);

write('Введите координаты первой вершины треугольника(х1,у1)');
read(x1, y1);

write('Введите координаты второй вершины треугольника(х2,у2)');
read(x2, y2);

write('Введите координаты третьей вершины треугольника(х3,у3)');
read(x3, y3);

if (trunc((x-x2)/(x2-x1)-(y-y2)/(y2-y1)) <= 0) and
(trunc((x-x3)/(x3-x2)-(y-y3)/(y3-y2)) <= 0) and
(trunc((x-x3)/(x3-x1)-(y-y3)/(y3-y1)) >= 0) then
writeln('Точка с введенными вами координатами принадлежит треугольнику')
else
writeln('Точка с введенными вами координатами не принадлежит треугольнику');
end.

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