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!
Pergunta
Ankur Prem
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:
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!
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.