Написать программу, распознающую по длинам сторон среди всех треугольников прямоугольный. Если таковых нет, то вычислить величину угла С. (Паскаль) С объяснением, если можно. Заранее благодарен.

Написать программу, распознающую по длинам сторон среди всех треугольников прямоугольный. Если таковых нет, то вычислить величину угла С. (Паскаль) С объяснением, если можно. Заранее благодарен.
Гость
Ответ(ы) на вопрос:
Гость
//искать угол будем по теореме косинусов Program n1; var x,y,z:real; function arccos(x : real) : real; {это понадобится для теор. кос.} begin arccos := 2 * arctan(sqrt((1 - x) / (1 + x))); end; procedure ygl( a,b,c: real); {процедура для удобства} var ga: real; begin ga:=arccos((sqr(a) + sqr(b) - sqr(c))/(2 * a* b)) * 180 / pi; {сама теор. кос.} writeln('угол С= ',ga:5:2); end; begin write('введите сторону а: '); readln(x); write('введите сторону b: '); readln(y); write('введите сторону c: '); readln(z); if(x>=y+z)or(y>=x+z)or(z>=x+y)then writeln('Это не треугольник') else if x*x+y*y=z*z then {теорема пифагора} writeln('Это прямоугольный треугольник') else if (x*x+y*y>z*z)and(x*x+z*z>y*y)and(z*z+y*y>x*x) then begin writeln('Это остроугольный треугольник'); ygl(x,y,z); {вызываем процедуру} end else begin writeln('Это тупоугольный треугольник'); ygl(x,y,z); end; end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы