Даны длины сторон треугольника. Найти величины всех углов этого треугольника - PascalABC.NET
Формулировка задачи:
Даны длины сторон треугольника. Найти величины всех углов этого треугольника
Что-то не сходится, но не могу понять что...
Листинг программы
- 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 ((b+a)>c) and ((abs((sqr(a)-sqr(b)-sqr(c))/2*b*c))<1) and ((abs((sqr(b)-sqr(a)-sqr(c))/2*a*c))<1) and ((abs((sqr(c)-sqr(a)-sqr(b))/2*a*b))<1)
- Then
- begin
- a1 :=arccos(-((sqr(a)-sqr(b)-sqr(c))/2*b*c));
- b1:=arccos(-((sqr(b)-sqr(a)-sqr(c))/2*a*c));
- c1:=arccos(-((sqr(c)-sqr(a)-sqr(b))/2*a*b));
- write('a1=',a1,'b1=',b1,'c1=',c1);
- END
- else write('Данные не удовлетворяют условию')
- END.
Решение задачи: «Даны длины сторон треугольника. Найти величины всех углов этого треугольника»
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 - углы треугольника (рассчитаны в коде).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д