Предмет: Информатика,
автор: Nik1znanya
Введите три числа. Если они могут быть длинами сторон разностороннего остроугольного треугольника, выведите их в порядке возрастания и вычислите площадь полученного треугольника. В паскале.
Ответы
Автор ответа:
0
Не уверена, что по длине сторон можно определить, что треугольник остроугольный, но предположила, что здесь можно использовать т. Пифагора, т.е. если квадрат гипотенузы (большей стороны) окажется меньше суммы квадратов катетов (меньших сторон), то соответственно и угол между последними окажется меньше 90 градусов. Если я не права, прошу, отметьте ошибкой, пусть удалят.
Итак:
program aaa;
var a,b,c,x,y,z,s,p: real;
begin
writeln ('Введите стороны треугольника A, B и C');
readln (a,b,c);
{сначала найдем меньшую, среднюю и большую сторону
и присвоим их значения, соответственно, переменным x, y и z}
if a<b
then
if a<c
then
if b<c
then begin x:=a; y:=b; z:=c end
else begin x:=a; y:=c; z:=b end
else begin x:=c; y:=a; z:=b end
else
if a>c
then
if b<c
then begin x:=b; y:=c; z:=a end
else begin x:=c; y:=b; z:=a end
else begin x:=b; y:=a; z:=c end;
{Теперь узнаем, является ли треугольник разносторонним и остроугольным:
Для этого сравним длины сторон между собой а также сумму квадратов меньших сторон с квадратом большей}
if ((x*x+y*y)>(z*z)) and (a<>b) and (a<>c) and (b<>c)
then begin
p:=(a+b+c)/2; // находим полупериметр
s:=sqrt(p*(p-a)*(p-b)*(p-c)); // находим площадь треугольника
writeln(x,' ',y,' ',z,' - могут быть сторонами остроугольного разностороннего треугольника');
writeln('Площадь этого треугольника = ',s)
end
else
writeln(a:4,b:4,c:4,' - не могут быть сторонами остроугольного разностороннего треугольника')
end.
Итак:
program aaa;
var a,b,c,x,y,z,s,p: real;
begin
writeln ('Введите стороны треугольника A, B и C');
readln (a,b,c);
{сначала найдем меньшую, среднюю и большую сторону
и присвоим их значения, соответственно, переменным x, y и z}
if a<b
then
if a<c
then
if b<c
then begin x:=a; y:=b; z:=c end
else begin x:=a; y:=c; z:=b end
else begin x:=c; y:=a; z:=b end
else
if a>c
then
if b<c
then begin x:=b; y:=c; z:=a end
else begin x:=c; y:=b; z:=a end
else begin x:=b; y:=a; z:=c end;
{Теперь узнаем, является ли треугольник разносторонним и остроугольным:
Для этого сравним длины сторон между собой а также сумму квадратов меньших сторон с квадратом большей}
if ((x*x+y*y)>(z*z)) and (a<>b) and (a<>c) and (b<>c)
then begin
p:=(a+b+c)/2; // находим полупериметр
s:=sqrt(p*(p-a)*(p-b)*(p-c)); // находим площадь треугольника
writeln(x,' ',y,' ',z,' - могут быть сторонами остроугольного разностороннего треугольника');
writeln('Площадь этого треугольника = ',s)
end
else
writeln(a:4,b:4,c:4,' - не могут быть сторонами остроугольного разностороннего треугольника')
end.
Похожие вопросы
Предмет: Математика,
автор: krisskiss20212021
Предмет: Русский язык,
автор: brawlstarsero16
Предмет: Алгебра,
автор: syka72
Предмет: Химия,
автор: bekhangandaloev
Предмет: Алгебра,
автор: andrei200141