Escrever um algoritmo que leia três valores inteiros e verifique se eles podem ser os lados de um triângulo. Se forem, informar qual o tipo de triângulo que eles formam: equilátero, isóscele ou escaleno.
Soluções para a tarefa
Respondido por
2
Suponha que os lados são a, b e c
Para definir se formam triangulo é só ver se a soma de dois dos lados é maior que o outro lado.
por exemplo a=10,b= 5 ,c= 2 , todos os lados tem que ser menores que a soma dos outros dois, então vejamos
2 < 10 + 5, ok
5 < 10 + 2, ok
10 < 5 + 2 FALSO !! não forma triangulo
se for a=8, b=5 e c=6 ...
8 < 5 + 6 ok
5 < 6 + 8 ok
6 < 5 + 8 ok
então é triangulo
Para ser equilatero a == b e b == c
Se não for equilátero, vamos testar se é isóceles assim
a= b ou b = c ou a=c
se não for nem equilátero nem isóceles, só pode ser escaleno
Eis o teste
# programa principala = float(input("Informe o lado a\n"))b = float(input("Informe o lado b\n"))c = float(input("Informe o lado c\n"))
if (a < b+c) and (b < a+c) and (c < a+b) :
print("forma triangulo")
else
print("não forma triangulo")
return
# testa que tipo de triangulo é if ( a==b and b==c) : print("Triangulo Equilatero")elif (a==b or b==c or a==c) : print("Isoceles")else: print("Escaleno")
Quer ver o programa que testa tudo isso e ainda por cima desenha o triangulo para você ?
https://repl.it/@bokomoko/traca-triangulo
Para definir se formam triangulo é só ver se a soma de dois dos lados é maior que o outro lado.
por exemplo a=10,b= 5 ,c= 2 , todos os lados tem que ser menores que a soma dos outros dois, então vejamos
2 < 10 + 5, ok
5 < 10 + 2, ok
10 < 5 + 2 FALSO !! não forma triangulo
se for a=8, b=5 e c=6 ...
8 < 5 + 6 ok
5 < 6 + 8 ok
6 < 5 + 8 ok
então é triangulo
Para ser equilatero a == b e b == c
Se não for equilátero, vamos testar se é isóceles assim
a= b ou b = c ou a=c
se não for nem equilátero nem isóceles, só pode ser escaleno
Eis o teste
# programa principala = float(input("Informe o lado a\n"))b = float(input("Informe o lado b\n"))c = float(input("Informe o lado c\n"))
if (a < b+c) and (b < a+c) and (c < a+b) :
print("forma triangulo")
else
print("não forma triangulo")
return
# testa que tipo de triangulo é if ( a==b and b==c) : print("Triangulo Equilatero")elif (a==b or b==c or a==c) : print("Isoceles")else: print("Escaleno")
Quer ver o programa que testa tudo isso e ainda por cima desenha o triangulo para você ?
https://repl.it/@bokomoko/traca-triangulo
Perguntas interessantes