Написать программу, распознающую по длинам сторон среди всех треугольников прямоугольный. если таковых нет, то вычислить величину угла с. (паскаль) с объяснением, если можно. заранее .
//искать угол будем по теореме косинусов 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.
svetegal
10.01.2020
1) Загадочных знаков там нету, они исписаны древнеегипетскими иероглифами. 2) Похожие на объекты, ими обозначаемые: круг с точкой, идущий человек, полукруг (лепёшка), изображение ротового отверстия. 3) Единовременно - не более 1000. 4) Наиболее очевидное предположение: отвлечение начертания от реального образа -> изменение и расширение лексики -> единственная возможность записи в этих условиях - использование иероглифов для обозначения первых звуков слов, обозначавшихся ими ранее; так записывались и имена. 5) Нет.
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.