Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Márcio Lordelo

So diz que é triângulo retângulo xD~

Recommended Posts

Bom, estou com algumas complicações aqui:

Tenho que fazer uma função que verifique se os valores informados por 3 prompts sao de um triângulo equilátero, isósceles ou escaleno, verificando também se ele é retângulo.

 

Tentei fazer aqui, e cheguei a essa função:

 

function triangulo ( ) {
var x = prompt('Informe o primeiro numero');
while (isNaN( x ) == true) { x = prompt('Informe um numero válido!'); }
var y = prompt('Informe o segundo numero');
while (isNaN( y ) == true) { x = prompt('Informe um numero válido!'); }
var z = prompt('Informe o terceiro numero');
while (isNaN( z ) == true) { x = prompt('Informe um numero válido!'); }
if ( x == y == z ) { alert('Triangulo Equilátero'); }
else if ( (x == y && z < x+y) || ( x == z && y < x + z) || ( y == z && x < y + z) ) { 
	if ( (x^2 == y^2 + z^2) || (y^2 == x^2 + z^2) || (z^2 == x^2 + y^2) ) { alert('Triangulo retângulo'); }
		else { alert('Triangulo isósceles'); }
}
else if ( ( (x != z != y) && ((x < z + y) || ( y < x + z) || ( z< x + y)) ) ) { 
	if ( (x^2 ==y^2 + z^2) || (y^2 == x^2 + z^2) || (z^2 == x^2 + y^2) ) { alert('Triangulo retângulo'); }
		else { alert('Triangulo escaleno'); }
	}
}

Bom de acordo com a apostila passada pelo professor ( xD ), O comprimento de um lado do triângulo é sempre menor do que a soma dos outros dois, e isso sendo verdade, através de pitágoras tem como verificar se o mesmo é também retângulo.

 

Só que quando eu rodo a página , ele pega os valores pelos prompts, so que sempre exibe que é retângulo..

 

Algúem poderia me ajudar? Acho que a lógica de verificação de triângulo retângulo está errada =\

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, a "sintaxe" dos testes é que está errada. você só compara de 2 em 2.

Então o correto para o Equilátero é:

if ( (x == y) && (y == z) ) { alert('Triangulo Equilátero'); }
Pois se x é igual à y, E y é igual z, temos que x é igual à z tb. E ai temos o nosso Equilátero.

 

Ainda não conferi as tuas outras regras, mas reveja elas tb... se não está entrando nas condições, mesmo você colocando valores válidos, é pq o teste está errado.Bom, refiz o algorítmo aqui.. apesar de fazer Matemática não lembro bem qual nome se refere à cada triângulo.. mas veja que o ultimo teste sai de graça:

<script>

function triangulo ( ) {
var x = prompt('Informe o primeiro numero');
	while (isNaN( x ) == true) { x = prompt('Informe um numero válido!'); }
var y = prompt('Informe o segundo numero');
	while (isNaN( y ) == true) { x = prompt('Informe um numero válido!'); }
var z = prompt('Informe o terceiro numero');
	while (isNaN( z ) == true) { x = prompt('Informe um numero válido!'); }

	if ( ((x == y) && (x != z)) || ((x == z) && (x != y)) || ((y == z) && (y != x)) ) 
	{
		alert('Dois lados iguais e um diferente'); 
	}
	else if ( (x == y) && (y == z) ) 
	{ 
		alert('Todos os lados iguais'); 
	}
	else if ( ((x*x+y*y)==z*z) || ((x*x+z*z)==y*y) || ((z*z+y*y)==x*x) ) 
	{
		alert('Triângulo Retângulo'); 
	}
	else 
		alert('Três lados diferentes');

}
</script>
<body onload="triangulo()">

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.