Определить, существует ли треугольник с заданными длинами сторон x, y, z - Pascal

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

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

Даны три вещественных числа x,y,z. Определить, существует ли треугольник с длинами сторон x,y,z. Если треугольник существует, определить его тип (равносторонний, равнобедренный, прямоугольный) и вычислить все углы в градусах. Напечатать длины сторон с противолежащими углами.

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

textual
Листинг программы
  1. uses crt;
  2. {нахождение угла через полупериметр и тангенс половинного угла}
  3. function ugol(a,b,c:real):real;
  4. var p:real;
  5. begin
  6. p:=(a+b+c)/2;
  7. ugol:=(2*arctan(sqrt((p-b)*(p-c)/(p*(p-a)))))*(180/pi);
  8. end;
  9. const t=0.001;{точность сравнения вычисленных вещественных чисел}
  10. var x,y,z,ux,uy,uz:real;
  11. begin
  12. clrscr;
  13. writeln('Введите 3 вещественыхт числа');
  14. readln(x,y,z);
  15. if(x+y<=z)or(x+z<=y)or(y+z<=x)then
  16.  begin
  17.   writeln('Треугольник не существует');
  18.   readln;
  19.   exit;
  20.  end;
  21. writeln('Треугольник существует');
  22. ux:=ugol(x,y,z);
  23. uy:=ugol(y,x,z);
  24. uz:=ugol(z,x,y);
  25. writeln('Сторона Х=',x:0:2,' противолежащий угол=',ux:0:1,#248);
  26. writeln('Сторона Y=',y:0:2,' противолежащий угол=',uy:0:1,#248);
  27. writeln('Сторона Z=',z:0:2,' противолежащий угол=',uz:0:1,#248);
  28. if (abs(x-y)<t)and(abs(x-z)<t) then write('Это равносторонний треугольник')
  29. else if ((abs(x-y)<t)and(abs(x-z)>t))
  30.      or((abs(x-z)<t)and(abs(y-z)>t))
  31.      or((abs(y-z)<t)and(abs(x-y)>t))
  32.      then write('Это равнобедренный треугольник')
  33. else if (abs(90-ux)<t)or(abs(90-uy)<t)or(abs(90-uz)<t)
  34.      then write('Это прямоугольный треугольник');
  35. readln
  36. end.

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

  1. Объявляются переменные и константа:
    • переменные x, y, z для длин сторон треугольника
    • переменные ux, uy, uz для значений углов
    • константа t для точности сравнения вещественных чисел
  2. Вызывается процедура очистки экрана clrscr
  3. Пользователь вводит три вещественных числа x, y, z
  4. Проверяется существование треугольника:
    • Если сумма двух сторон меньше или равна третьей стороне, выводится сообщение Треугольник не существует, и программа завершается
    • В противном случае выводится сообщение Треугольник существует
  5. Вычисляются углы ux, uy, uz с помощью функции ugol, используя значения x, y, z
  6. Выводятся значения сторон и соответствующих им углов, а также тип треугольника:
    • Если все стороны приблизительно равны, выводится сообщение Это равносторонний треугольник
    • Если хотя бы две стороны приблизительно равны, выводится сообщение Это равнобедренный треугольник
    • Если хотя бы один угол приблизительно равен 90 градусам, выводится сообщение Это прямоугольный треугольник
  7. Ожидается ввод пользователя, завершается выполнение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

15   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы