Olá galera, Estou inserindo um algoritmo no VisuAlg que me parece realmente certo, contudo o programa não roda da forma esperada. Segue o enunciado do problema: Dados 3 valores A, B e C, verificar se eles podem ser os comprimentos dos lados de um triângulo e, se forem, verificar se compõem um triângulo eqüilátero, isósceles ou escaleno. Informar se não compuserem nenhum triângulo. O que é um triângulo? R: Figura geométrica de 3 lados, onde cada um é menor do que a soma dos outros dois O que é um triângulo eqüilátero? R. Um triângulo com 3 lados iguais. O que é um triângulo isóscele? R. Um triângulo com 2 lados iguais. O que é um triângulo escaleno? Um triângulo com todos os lados diferentes. Agora, o algoritmo que elaborei: algoritmo "semnome"
//Dados 3 valores A, B e C, verificar se eles podem ser os comprimentos dos
//lados de um triângulo e, se forem, verificar se compõem um triângulo
//eqüilátero, isósceles ou escaleno. Informar se não compuserem nenhum
//triângulo.
var
l1, l2, l3: real
validade: logico
inicio
escreva ("Insira o lado 1 do triângulo: ")
leia (l1)
escreva ("Insira o lado 2 do triângulo: ")
leia (l2)
escreva ("Insira o lado 3 do triângulo: ")
leia (l3)
se (l1 < (l2 + l3)) e (l2 < (l1 + l3)) e (l3 < (l1 + l2)) então
validade <- VERDADEIRO
senao
validade <- FALSO
fimse
se (validade = VERDADEIRO) então
se (l1 = l2) e (l1 = l3) e (l2 = l3) então
escreva ("Triângulo equilátero")
fimse
se (l1 <> l2) xou (l1 <> l3) xou (l2 <> l3) então
escreva ("Triângulo isóceles")
fimse
se (l1 <> l2) e (l1 <> l3) e (l2 <> l3) então
escreva ("Triângulo escaleno")
fimse
senao
escreva ("Não é um triângulo")
fimse
fimalgoritmo O que acontece: - se as medidas não formam um triângulo, ok, a mensagem correta é retornada. - se é um triângulo equilátero, também ok, a mensagem correta é retornada. - se é um triângulo isóceles, nada aparece! - se é um triângulo escaleno, aparece as mensagens tanto do isóceles como do escaleno. E ai meus caros, o que acham? Pra mim o algoritmo está ok!