Gostou do nosso conteúdo? Te ajudou?
Nos ajude também! Faça um PIX, de qualquer valor:
programacao.progressiva@gmail.com

Script que Exibe Números em Ordem Decrescente

Neste tutorial de nosso Curso de JavaScript Online e Grátis, vamos resolver um exercício bem interessante e útil: receber três números e exibir eles em ordem decrescente, ou seja, do maior para o menor.

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


"6. Faça um script que leia três números e mostre-os em ordem decrescente."

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>

4 comentários:

  1. Fazer esses IF sem o else é correto? Existe outra forma de fazer esse exercicio?

    ResponderExcluir
  2. o meu browser esta dando NaN, sendo q n tem erro de sintaxe ou no inspecionar do navegador. alguem pode me ajudar?

    ResponderExcluir
    Respostas
    1. Meu caro ultilize o Number pois o próprio javascript irá converter
      var num1 = Number(document.getElementById("numero1").value)
      var num2 = Number(document.getElementById("numero2").value)
      var num3 = Number(document.getElementById("numero3").value)

      Excluir