Este é um exercício de nossa Lista de Questões de IF e ELSE em JS. Vamos te mostrar o enunciado, a solução e o código, todo comentado, passo a passo, para te ajudar e entender e se tornar um excelente programador JavaScript.
Enunciado da Questão
Uso os conceitos de IF e ELSE e variável auxiliar para trocar o valor de duas variáveis.
Exercício Resolvido em JavaScript
Bom, vamos lá.Primeiro, vamos criar 3 formulários de input do tipo number.
Em seguida, um botão que ao ser clicado chama a função exibir() do JavaScript (onclick="exibior()").
A parte do HTML é só essa. Agora vamos programar.
A primeira coisa que fazemos em nosso script é pegar os dados do formulário, e armazenar nas variáveis num1, num2 e num3.
Com os dados recebidos são do tipo string, usamos a função parseInt() para transformar eles em inteiros.
Inicialmente, num1 pega o valor do primeiro formulário, num2 do segundo e num3 do terceiro.
Nosso objetivo é bem simples: fazer com o que o valor armazenado em num1 seja o maior, num2 o valor do meio e num3 o menor. Assim, no final exibimos: num1 - num2 - num3
Os números em ordem decrescente.
Primeiro vamos fazer com que num1 seja o maior.
Para isso, comparamos ele com num2. Se o valor de num2 for maior:
if(num2 > num1)
Fazemos com que num1 e num2 invertam seus valores. Para isso, usamos a variável auxiliar aux.
Agora, vamos comparar num1 com num3.
Se num3 for maior, invertemos o valor.
Pronto, agora num1 tem o maior valor de todos, pois comparamos com os outros dois números.
Por fim, comparamos o valor entre num2 e num3.
Se num3 for maior, invertemos o valor no IF, senão, já temos os números em ordem crescente.
E, prontinho. Já temos num1 - num2 - num3 em ordem decrescente.
Só exibir num alert.
Script funcionando
Primeira numero:
Segundo numero:
Terceiro numero:
Código HTML + JavaScript
Primeira numero:<input id="numero1" type="number"> <br /> Segundo numero:<input id="numero2" type="number"> <br /> Terceiro numero:<input id="numero3" type="number"> <br /> <button onclick="exibir()">Exibir ordem decrescente</button> <script type="text/javascript"> function exibir(){ var num1 = parseFloat(document.getElementById("numero1").value); var num2 = parseFloat(document.getElementById("numero2").value); var num3= parseFloat(document.getElementById("numero3").value); var aux = num1; if(num2 > num1){ aux=num2; num2=num1; num1=aux; } if(num3 > num1){ aux=num3; num3=num1; num1=aux; } if(num3 > num2){ aux=num3; num3=num2; num2=aux; } alert(num1+"-"+num2+"-"+num3); } </script>
Fazer esses IF sem o else é correto? Existe outra forma de fazer esse exercicio?
ResponderExcluirELSE não é obrigatório
Excluiro meu browser esta dando NaN, sendo q n tem erro de sintaxe ou no inspecionar do navegador. alguem pode me ajudar?
ResponderExcluirMeu caro ultilize o Number pois o próprio javascript irá converter
Excluirvar num1 = Number(document.getElementById("numero1").value)
var num2 = Number(document.getElementById("numero2").value)
var num3 = Number(document.getElementById("numero3").value)