Даны длины сторон треугольника. Найти величины всех углов этого треугольника - PascalABC.NET
Формулировка задачи:
Даны длины сторон треугольника. Найти величины всех углов этого треугольника
Что-то не сходится, но не могу понять что...
Решение задачи: «Даны длины сторон треугольника. Найти величины всех углов этого треугольника»
textual
Листинг программы
VAR
a, b, c, a1, b1, c1 : real;
BEGIN
WRITELN('введите длины сторон треугольника');
READLN (a, b, c);
IF (a>0) and (b>0) and (c>0) and (a+b>c) and (b+c>a) and (c+a>b) Then
begin
a1:=arccos((b*b+c*c-a*a)/(2*b*c))*180/pi;
b1:=arccos((c*c+a*a-b*b)/(2*a*c))*180/pi;
c1:=arccos((a*a+b*b-c*c)/(2*a*b))*180/pi;
write('a1=',a1:0:2,' b1=',b1:0:2,' c1=',c1:0:2);
END
else write('Данные не удовлетворяют условию')
END.
Объяснение кода листинга программы
В данном коде происходит следующее:
- Ввод пользователем длин сторон треугольника.
- Проверка корректности введенных значений длин сторон треугольника. Выполняются следующие проверки: a > 0, b > 0, c > 0, a + b > c, b + c > a, c + a > b. Если хотя бы одна из этих проверок не выполняется, то выводится сообщение об ошибке.
- Расчет значений углов треугольника с помощью функции arccos. Для каждого угла вычисляется значение в радианах, затем переводится в градусы с помощью формулы 180/pi.
- Вывод значений углов треугольника на экран. Список переменных и их значений:
- a, b, c - длины сторон треугольника (введены пользователем).
- a1, b1, c1 - углы треугольника (рассчитаны в коде).