Определить, могут ли заданные точки быть вершинами тупоугольного треугольника - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Даны координаты трех точек на плоскости. Если они могут быть вершинами тупоугольного треугольника, то вывести длины его сторон в порядке убывания, иначе выдать соответствующее сообщение.

Решение задачи: «Определить, могут ли заданные точки быть вершинами тупоугольного треугольника»

textual
Листинг программы
function Dlina(x1,y1,x2,y2:real):real;
begin
Dlina:=sqrt(sqr(x1-x2)+sqr(y1-y2));
end;
procedure DlinySt(a,b,c:real;var mx,mn,sr:real);
begin
mx:=a;
if b>mx then mx:=b;
if c>mx then mx:=c;
mn:=a;
if b<mn then mn:=b;
if c<mn then mn:=c;
sr:=a+b+c-mx-mn;
end;
var x1,y1,x2,y2,x3,y3,a,b,c,mx,mn,sr:real;
begin
writeln('Введите координаты вершин треугольника:');
writeln('1->');
readln(x1,y1);
writeln('2->');
readln(x2,y2);
writeln('3->');
readln(x3,y3);
a:=Dlina(x1,y1,x2,y2);
b:=Dlina(x1,y1,x3,y3);
c:=Dlina(x3,y3,x2,y2);
DlinySt(a,b,c,mx,mn,sr);
if mn*mn+sr*sr<mx*mx then
 begin
  writeln('Это тупоугольный треугольник!');
  writeln('Его стороны в порядке убывания ',mx:0:2,' ',sr:0:2,' ',mn:0:2);
 end
else write('Это не тупоугольный треугольник!');
end.

Объяснение кода листинга программы

  1. Функция Dlina принимает четыре аргумента типа real и вычисляет длину расстояния между двумя точками в пространстве с помощью формулы расстояния между двумя точками в n-мерном пространстве (функция sqr используется для вычисления квадрата расстояния).
  2. Процедура DlinySt принимает шесть аргументов типа real и две переменные типа real (mx и mn), которые будут использоваться для нахождения медианы треугольника. Сначала находятся наибольшая и наименьшая из трех координат, затем находится сумма всех трех координат, и наконец, находится медиана как значение между вторым и третьим элементами.
  3. Переменные x1, y1, x2, y2, x3, y3, a, b, c, mx, mn, sr инициализируются значениями, введенными пользователем.
  4. Вызывается функция Dlina для вычисления длин сторон треугольника.
  5. Затем вызывается процедура DlinySt, которая находит медиану треугольника, используя значения координат, введенных пользователем.
  6. В зависимости от результата вычисления длины медианы, выводится сообщение о том, является ли треугольник тупоугольным или нет. Если медиана меньше или равна сумме сторон, то треугольник тупоугольный. Если медиана больше суммы сторон, то треугольник остроугольный.
  7. Координаты сторон треугольника выводятся в порядке убывания длины.

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы