Switch em JavaScript - O que é, Como Usar e Para que serve

Neste artigo de nosso Curso de JavaScript, vamos para nosso último tutorial sobre Testes e Estruturas Condicionais, com o comando switch. Além desta nova palavrinha, vamos falar de três outras: case, break e default.

Comando SWITCH - O que é ? Para que serve?

Nos tutoriais passados sobre IF e ELSE em JavaScript, vimos como fazer testes, ou seja, fazer perguntas:
  • Ei, JavaScript, esse número é par ou ímpar?
  • JS, o cliente escolheu que opção?
  • Cliente, você é homem, mulher ou outro?

E testes são essenciais, em todo e qualquer projeto, de toda e qualquer linguagem de programação. É algo essencial no mundo da computação.

Porém, dependendo do projeto que você vai fazer, pode ser necessário fazer muitos e muitos testes, e aí teremos códigos do tipo:
if (teste1)
   código;
else
   if(teste2)
      código;
   else
      código;
if (teste3)
   código;
if (teste4)
   código
   else
      código;
if (teste5)
   código ...

Deu pra notar o drama?
Vários if's e elses'...depois mais if dentre de else, e dentro desse novo else outro if, e outro if e outro if...

É aí onde vai atuar o comando switch, pra botar ordem nessa bagunça.
Ele é, na verdade, uma sequência de comparações, mas de maneira muito mais bonitinha e organizada.

Como usar o switch em JavaScript: case

A declaração e uso do switch é assim:

switch(variavel){
       case valor1:
                   codigo1;
       case valor2:
                   codigo2;
       case valor3:
                   codigo3;
...
}

Vamos lá explicar.
Primeiro, escrevemos o comando switch, em seguida, temos fornecer algum valor, como uma variável que armazena um número ou uma string.

Depois, o JS vai comparar variavel com valor1, se for igual, executa o código que vem no primeiro case.

Depois, o JS testa variavel com valor2, se for igual, executa o segundo case.
E assim, sucessivamente.

Ou seja, cada case desse é como se fosse um teste condicional IF.
Vamos comparar o que tem lá dentro do parêntesis do switch, com o que o valor que tem em cada case.

Exemplo de uso do comando SWITCH em JavaScript

Ok, chega de teoria! Vamos aprender a usar esse danado do switch.

Exercício de JavaScript

Escreva uma página que pede ao usuário um número de 1 até 12, e mostra o mês correspondente a este número. Por exemplo, 1 é Janeiro, 2 é Fevereiro etc.

Exibimos um formulário, de id=numero, do tipo numérico e pedimos o número para o usuário.
Em seguida, um botão chama a função exibir() do JavaScript, ao ser acionado (clicado).

Vamos para o JS.
Pegamos o que foi digitado no campo numero pelo usuário, passamos para inteiro (parseInt) e armazenamos na variável mes, dentro de nosso código JavaScript.

Depois, jogamos essa variável no switch.
E fazemos:
case 1: alert("Janeiro")
case 2: alert("Fevereiro")
etc

Ou seja, se o mes digitado for 1, vai aparecer uma janela dizendo que o mês é Janeiro.
Se o usuário tiver digitado 2, a janela vai mostrar Fevereiro, e assim sucessivamente.

O código fica:
<!DOCTYPE html>
<html>
 <head>
   <title>Curso JavaScript Progressivo</title>
   Digite um mês de 1 até 12:<input id="numero" type="number"> <br />
   <button onclick="exibir()">Exibir mês</button>

   <script type="text/javascript">

    function exibir(){
     var mes = parseInt(document.getElementById("numero").value);
     
     switch(mes){
      case 1:  alert("Janeiro");
      case 2:  alert("Fevereiro");
      case 3:  alert("Março");
      case 4:  alert("Abril");
      case 5:  alert("Maio");
      case 6:  alert("Junho");
      case 7:  alert("Julho");
      case 8:  alert("Agosto");
      case 9:  alert("Setembro");
      case 10: alert("Outubro");
      case 11: alert("Novembro");
      case 12: alert("Dezembro");
     }
    }
 </script>

 </head>
</html>

Sério, testem o código JS acima e vejam o resultado.

A instrução break no JavaScript

Se você digitar 1, vai aparecer "Janeiro". Ok, perfeito.
Mas depois aparece Fevereiro, Março....

Se digitar 2, aparece "Fevereiro", tudo correto.
Mas depois aparece Março, Abril...

Obviamente, tem algum problema aí!
É a falta do break,

Propositalmente, deixamos de te falar uma coisa no funcionamento da instrução switch.
Quando ela encontra algum case correto, ela executa o código dele...e de tudo que está abaixo!

Por isso que aparece inicialmente o mês correto...e depois todos os meses em seguida.
Para solucionar isso, basta escrever break dentro dos case, fica assim agora:
<!DOCTYPE html>
<html>
 <head>
   <title>Curso JavaScript Progressivo</title>
   Digite um mês de 1 até 12:<input id="numero" type="number"> <br />
   <button onclick="exibir()">Exibir mês</button>

   <script type="text/javascript">

    function exibir(){
     var mes = parseInt(document.getElementById("numero").value);
     
     switch(mes){
      case 1:  alert("Janeiro"); break;
      case 2:  alert("Fevereiro"); break;
      case 3:  alert("Mar�o"); break;
      case 4:  alert("Abril"); break;
      case 5:  alert("Maio"); break;
      case 6:  alert("Junho"); break;
      case 7:  alert("Julho"); break;
      case 8:  alert("Agosto"); break;
      case 9:  alert("Setembro"); break;
      case 10: alert("Outubro"); break;
      case 11: alert("Novembro"); break;
      case 12: alert("Dezembro");
     }
    }
 </script>

 </head>
</html>

Agora sim, tudo perfeito!A propósito, meu mês de nascimento é 5:
Instrução switch, break, case e default em JS
Qual o mês de vocês?

Agora uma dúvida: por que não colocamos break no último case?
Respondam nos comentários.

A instrução default em JavaScript
Digite 0 e clique no botão pra ver o que acontece.
Nada. Por que? Porque não tem um case 0 pra tratar esse caso.

Digite -1...13...não vai aparecer nunca nada.
Imagina que o cliente ia digitar 11 e sem querer digitou 112, não percebeu que digitou um número a mais.

Vai apertar milhões de vezes o botão e não vai aparecer nada, o site não faz nada.
Obviamente, vai ligar na sua empresa reclamando, xingando seu sistema e tudo mais.

Conselho de amigo: nunca duvide de um usuário. Fazem muuuuuita m.... coisas erradas.

Então, como resolvemos isso?
Para tratarmos todos os outros casos que não estão nos cases, usamos a instrução default.
Tudo que não cair em algum case, vai de imediato pro default.

Nosso código fica assim:

<!DOCTYPE html>
<html>
 <head>
   <title>Curso JavaScript Progressivo</title>
   Digite um mês de 1 até 12:<input id="numero" type="number"> <br />
   <button onclick="exibir()">Exibir mês</button>

   <script type="text/javascript">

    function exibir(){
     var mes = parseInt(document.getElementById("numero").value);
     
     switch(mes){
      case 1:  alert("Janeiro"); break;
      case 2:  alert("Fevereiro"); break;
      case 3:  alert("Março"); break;
      case 4:  alert("Abril"); break;
      case 5:  alert("Maio"); break;
      case 6:  alert("Junho"); break;
      case 7:  alert("Julho"); break;
      case 8:  alert("Agosto"); break;
      case 9:  alert("Setembro"); break;
      case 10: alert("Outubro"); break;
      case 11: alert("Novembro"); break;
      case 12: alert("Dezembro"); break;
      default: alert("Voce nao digitou um mes valido");
     }
    }
 </script>

 </head>
</html>

E por fim, nosso código bonitinho, certinho, bem tratado, anti-usuário-de-dedo-gordo:

Digite um mês de 1 até 12:

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>

Variáveis Trocando de Valor - Variável auxiliar

Neste tutorial de nosso Curso de JavaScript online e grátis, vamos aprender como inverter os valores armazenados entre duas variáveis. Ou seja, trocar entre si o valor, de uma com outra.

Este simples exercício é de suma importância no restante de nossa apostila de JavaScript. Aliás, se lógica é bem usada na computação, de um modo geral, em qualquer linguagem.

Exercício de JavaScript

O enunciado abaixo é de nossa lista de Exercícios de IF e ELSE.
Tente resolver, muito, sem pressa, antes de ver a solução comentada logo abaixo e o código do script:

"4. Faça um script que pede dois inteiros e armazene eles em duas variáveis. Em seguida, troque o valor das variáveis e exiba num alert."

Código comentado

Bem, vamos lá.

Primeiro, definimos dois formulário de input, via HTML, para o usuário digitar os números.
Depois, um botão chamado Inverter. Ao ser clicado (onclick), ele vai acionar a função inverte(), do JS.

Vamos armazenar os valores digitados nos campos de input em duas variáveis chamadas de num1 e num2. Como vem no formato de string, passamos para float usando a função parseFloat.

Agora vamos lá, inverter os valores.
Queremos que o que está dentro de num1 vá para num2, e vice-versa.

Vamos lá, fazer num1 receber o valor de num2:
  • num1 = num2;

Prontinho, bem simples. Agora o contrário:
  • num2 = num1;

Ok? Não!
Quando num1 recebeu num2, o valor antigo que tava em num1 sumiu!


E agora, quem poderá nos defender?
A solução é usando uma outra variável, chamada de auxiliar.
Vamos declarar ela como aux.

Essa variável armazena o valor de num1 antes dele mudar:
  • var aux = num1;

Aí sim fazemos:
  • num1 = num2;

E agora, para colocar o valor antigo de num1 em num2? Usamos a variável auxiliar!
  • num2 = aux;

Prontinho. Os valores foram invertidos dentro da variável!

Script em funcionamento


Primeira numero:
Segundo numero:



Código HTML + JavaScript

<!DOCTYPE html>
<html>
 <head>
   <title>Curso JavaScript Progressivo</title>
   Primeira numero:<input id="numero1" type="number"> <br />
   Segundo  numero:<input id="numero2" type="number"> <br />
   <button onclick="inverte()">Inverter</button>

   <script type="text/javascript">

    function inverte(){
     var num1 = parseFloat(document.getElementById("numero1").value);
     var num2 = parseFloat(document.getElementById("numero2").value);

     var aux = num1;

     num1=num2;
     num2=aux;

     alert("Antes:\n"+
        "numero1="+document.getElementById("numero1").value+"\n"+
        "numero2="+document.getElementById("numero2").value+"\n\n"+
        "Invertido:\n"+
        "numero1="+num1+"\n"+
        "numero2="+num2+"\n\n");
    }
 </script>

 </head>
</html>

Script que lê três números e mostra o Maior

Neste tutorial de JavaScript, vamos criar um script em JS que recebe o valor de três números e diz qual deles é o maior.

É um exercício de nossa seção de Testes Condicionais IF e ELSE.

Questão de JavaScript

"Faça um script que leia três números inteiros e mostre o maior deles."

Pessoal, tente resolver. Se esforce, tente novamente, quebra a cabeça, insista, é assim mesmo.
Só depois, sugiro dar uma olhada na solução comentada abaixo.

Exercício Resolvido de JS

Inicialmente, no HTML, criamos três formulários de input, do tipo number.
Depois um botão, que chama a função maior(), ao ser clicado (onclick="maior()").

Agora vamos pro nosso código JavaScript, que tem apenas a função maior() dentro.

Iniciamos o código JavaScript declarando três variáveis: num1, num2 e num3.
Elas vão armazenar os três números que o usuário digitou. Como o que é digitado no input vem na forma de string, usamos a função parseFloat para transformar no tipo numérico Float.

Agora vamos para a lógica da coisa. Basicamente precisamos fazer uns testes e comparações, para saber o maior número digitado.

Vamos declarar uma variável chama maior.
Inicialmente, ela recebe o valor do primeiro número:
  • maior = num1;

Pronto, inicialmente, o num1 é o maior.
Agora, vamos comparar esse valor com o num2.

Se num2 for maior que num1, fazemos a variável maior receber num2 (afinal, ele é maior que num1):
  • if(num2 > num1)
       maior = num2;
Se num2 não for maior, não acontece nada, e a variável maior continua com o valor de num1.

Agora vamos comprar maior com num3. Se num3 for maior que o número armazenado em maior, ele é o maior de todos os números, daí fazemos:
  • if(num3 > maior)
       maior = num3;
Ao fim do script, simplesmente exibimos o valor que está armazenado em maior em um alert.

Resultado do Script


Primeira numero:
Segundo numero:
Terceiro numero:



Código HTML + JavaScript


<!DOCTYPE html>
<html>
 <head>
   <title>Curso JavaScript Progressivo</title>
   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="maior()">Calcular Maior</button>

   <script type="text/javascript">

    function maior(){
     var num1 = parseFloat(document.getElementById("numero1").value);
     var num2 = parseFloat(document.getElementById("numero2").value);
     var num3 = parseFloat(document.getElementById("numero3").value);

     var maior = num1;

     if(num2 > maior)
      maior = num2;
     if(num3 > maior)
      maior = num3;

     alert("Maior: "+maior);
    }
 </script>

 </head>
</html>

Calcular média e dizer se foi Aprovado ou Reprovado

Neste tutorial de nosso Curso de JavaScript, vamos resolver um exercício e comentar seu código.
Faremos uso dos tutoriais da seção de Testes Condicionais IF e ELSE.

Exercícios de IF e ELSE

Exercício de JavaScript

Faça um script que pede duas notas de um aluno. Em seguida ele deve calcular a média do aluno e dar o seguinte resultado:
  •     A mensagem "Aprovado", se a média alcançada for maior ou igual a sete;
  •     A mensagem "Reprovado", se a média for menor do que sete;
  •     A mensagem "Aprovado com Distinção", se a média for igual a dez.

Questão resolvida e Código Comentado

Inicialmente, criamos dois campos de input em HTML, do tipo number, para receber as notas dos alunos e um botão 'Calcular média', que quando acionado chama a função media(), que vai dentro do código JS.

Vamos lá, inicialmente, declaramos duas variáveis nota1 e a nota2, que vão receber os dados digitados nos formulários de input.

Como esses dados vem no formato string, precisamos transformar eles em dados números do tipo decimal, por isso usamos a função parseFloat().

Com os dois números em mãos, declaramos a variável media, que recebe o valor da média das duas notas (somamos elas e dividimos por 2).

Agora pegamos esse valor, e vamos usar nos testes condicionais.
Se este valor for maior ou igual a 7, é porque foi aprovado.

Mas temos dois tipos de aprovações.
Então, dentro do IF, testamos se essa nota é igual a 10. Se for, dizemos que foi aprovado com distinção. Se não for, é porque a nota é maior ou igual a 7 e é menor que 10, logo dizemos apenas que foi aprovado.

Se o primeiro IF for falso, é porque a nota é menor que 7, cai no ELSE com a mensagem de provação.

Script funcionando


Primeira nota
Segunda nota



Código HTML + JavaScript

<!DOCTYPE html>
<html>
 <head>
   <title>Curso JavaScript Progressivo</title>
   Primeira nota <input id="nota1" type="number"> <br />
   Segunda  nota <input id="nota2" type="number"> <br />
   <button onclick="media()">Calcular M�dia</button>

   <script type="text/javascript">

    function media(){
     var nota1 = parseFloat(document.getElementById("nota1").value);
     var nota2 = parseFloat(document.getElementById("nota2").value);

     var media = (nota1 + nota2)/2 ;

     if(media >= 7)
      if(media==10)
       alert("Uau! Aprovado com distin��o");
      else
       alert("Parabens, aprovado! Media "+media);
     else
      alert("Reprovado!")

    }
 </script>

 </head>
</html>

Vogal ou Consoante em JavaScript - Exercício Resolvido

Neste tutorial de JavaScript, vamos resolver o seguinte exercício:
"Faça um script que verifique se uma letra digitada num campo de input é vogal ou consoante."

De nossa lista de exercícios de IF e ELSE.

Vogal ou Consoante em JS

Nosso alfabeto possui 26 letras:
A – B – C – D – E – F – G – H – I – J – K – L – M – N – O – P – Q – R – S – T – U – V – W – X – Y – Z

Onde temos 5 vogais: A E I O U
E 21 consoantes.

O que vamos fazer é, basicamente, pegar o que o usuário digitou e comparar com tais letras.

"Aff...fazer 26 comparações vai ser bem cansativo!"
Claro que não, paladino das artes JavaScriptianas.

Não precisamos comparar tudo, vamos comparar só com as 5 vogais.
Se der certo, ok é vogal. Senão (else), é consoante!

Formulário de input e o botão:

Quando clicar no botão, será chamada a função checar().
Nesta função do JavaScript, vamos armazenar o caractere digitado pelo usuário na variável letra.

Agora, vem um 'pulo do gato'.
O caractere 'a' é diferente do 'A'.
O caractere 'e' é diferente do 'E', e o mesmo pras outras vogais.

Ou seja, em vez de fazermos 5 comparações (com cada vogal), temos que fazer 10, ok?
Não!

Vamos usar uma função chamada toLowerCase() que passa tudo pra minúsculo, usamos ela assim:
letra = letra.toLowerCase();

Prontinho, tudo em minúsculo agora!

Em seguida testamos a variável letra com 'a', 'e', 'i', 'o' e com 'u':
if(letra=='a' || letra=='e' || letra=='i' || letra=='o' || letra=='u')
Se for verdade, cai no IF e dizemos que é vogal.
Se for falso, cai no ELSE e dizemos que é consoante.

Resultado

Digite apenas UM caractere:

Código HTML + JavaScript

<!DOCTYPE html>
<html>
 <head>
   <title>Curso JavaScript Progressivo</title>
   Digite apenas UM caractere:

   <input id="char" type="text"> <br />
   <button onclick="check()">Checar</button>

   <script type="text/javascript">

    function check(){
     var letra = document.getElementById("char").value;
     letra = letra.toLowerCase();

     if(letra=='a' || letra=='e' || letra=='i' || letra=='o' || letra=='u')
   alert("Vogal");
  else     
      alert("Consoante");
    }
 </script>

 </head>
</html>

Exercício hacker

Existem, de cara, duas maneiras de 'quebrar' esse script, ou seja, de hackear  ele.
Você consegui descobrir?

A resposta está aqui embaixo, escrita em branco, para ler basta selecionar.
Porém, só veja depois de pensar bastante como burlar esse script, ok?

1. Digitar um número
2. Digitar mais de um caractere

Exercícios de IF e ELSE em JavaScript

Agora que você concluiu a seção de Testes Condicionais IF e ELSE em JavaScript, está na hora de testar seus conhecimentos, fazendo exercícios.

Tente resolver o máximo de questões que puder. Tente uma vez, duas vezes, três vezes...tente muito, até chorar em posição fetal. É de suma importância tentar muito, muito mesmo.

No começo vai ser horrível, difícil, quase impossível. Mas é assim mesmo, é assim que você vai se tornar um excelente programador JavaScript!

Poste suas soluções nos comentários!


Exercícios de Teste Condicional IF ELSE em JavaScript

1. Faça um script que verifique se uma letra digitada num campo de input é vogal ou consoante.
Código comentado

2. Faça um script que pede duas notas de um aluno. Em seguida ele deve calcular a média do aluno e dar o seguinte resultado:

    A mensagem "Aprovado", se a média alcançada for maior ou igual a sete;
    A mensagem "Reprovado", se a média for menor do que sete;
    A mensagem "Aprovado com Distinção", se a média for igual a dez.
Calcular média de dois números

3. Faça um script que leia três números inteiros e mostre o maior deles.
Recebe três números e mostra o maior

4. Faça um script que pede dois inteiros e armazene eles em duas variáveis. Em seguida, troque o valor das variáveis, invertendo e exibindo o antes e o depois em uma janela de alert.
Fazer duas variáveis trocarem de valores entre si - Variável Auxiliar

5. Faça um script que leia três números inteiros, em seguida mostre o maior e o menor deles.

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

7. Faça um script que pergunte em que turno você estuda. Peça para digitar M-matutino ou V-Vespertino ou N- Noturno. Imprima a mensagem "Bom Dia!", "Boa Tarde!" ou "Boa Noite!" ou "Valor Inválido!", conforme o caso.

8. As Organizações Tabajara resolveram dar um aumento de salário aos seus colaboradores e lhe contrataram para desenvolver um script que calculará os reajustes.

Faça um script que recebe o salário de um colaborador e o reajuste segundo o seguinte critério, baseado no salário atual:

    salários até R$ 280,00 (incluindo) : aumento de 20%
    salários entre R$ 280,00 e R$ 700,00 : aumento de 15%
    salários entre R$ 700,00 e R$ 1500,00 : aumento de 10%
    salários de R$ 1500,00 em diante : aumento de 5% Após o aumento ser realizado, informe na tela:
    o salário antes do reajuste;
    o percentual de aumento aplicado;
    o valor do aumento;
    o novo salário, após o aumento.

9. Faça um script para o cálculo de uma folha de pagamento, sabendo que os descontos são do Imposto de Renda, que depende do salário bruto (conforme tabela abaixo) e 3% para o Sindicato e que o FGTS corresponde a 11% do Salário Bruto, mas não é descontado (é a empresa que deposita). O Salário Líquido corresponde ao Salário Bruto menos os descontos. O script deverá pedir ao usuário o valor da sua hora e a quantidade de horas trabalhadas no mês.

    Desconto do IR:
    Salário Bruto até 900 (inclusive) - isento
    Salário Bruto até 1500 (inclusive) - desconto de 5%
    Salário Bruto até 2500 (inclusive) - desconto de 10%
    Salário Bruto acima de 2500 - desconto de 20% Imprima na tela as informações, dispostas conforme o exemplo abaixo. No exemplo o valor da hora é 5 e a quantidade de hora é 220.

    Salário Bruto: (5 * 220)        : R$ 1100,00
    (-) IR (5%)                                : R$   55,00
    (-) INSS ( 10%)                       : R$  110,00
    FGTS (11%)                            : R$  121,00
    Total de descontos                : R$  165,00
    Salário Liquido                       : R$  935,00


10. Faça um script que leia um número e exiba o dia correspondente da semana. (1-Domingo, 2- Segunda, etc.), se digitar outro valor deve aparecer valor inválido.


11. Faça um script que lê as duas notas parciais obtidas por um aluno numa disciplina ao longo de um semestre, e calcule a sua média. A atribuição de conceitos obedece à tabela abaixo:

      Média de Aproveitamento  Conceito
      Entre 9.0 e 10.0                      A
      Entre 7.5 e 9.0                        B
      Entre 6.0 e 7.5                        C
      Entre 4.0 e 6.0                        D
      Entre 4.0 e zero                      E
    O algoritmo deve mostrar numa janela de alert as notas, a média, o conceito correspondente e a mensagem “APROVADO” se o conceito for A, B ou C ou “REPROVADO” se o conceito for D ou E.


12. Faça um script que peça os 3 lados de um triângulo. O script deverá informar se os valores podem ser um triângulo. Indique, caso os lados formem um triângulo, se o mesmo é: equilátero, isósceles ou escaleno.

    Dicas:
    Três lados formam um triângulo quando a soma de quaisquer dois lados for maior que o terceiro;
    Triângulo Equilátero: três lados iguais;
    Triângulo Isósceles: quaisquer dois lados iguais;
    Triângulo Escaleno: três lados diferentes;


13. Faça um script que calcule as raízes de uma equação do segundo grau, na forma ax² + bx + c. O script deverá pedir os valores de a, b e c e fazer as consistências, informando ao usuário nas seguintes situações:

    Se o usuário informar o valor de A igual a zero, a equação não é do segundo grau e o script não deve fazer pedir os demais valores, sendo encerrado;
    Se o delta calculado for negativo, a equação não possui raizes reais. Informe ao usuário e encerre o script;
    Se o delta calculado for igual a zero a equação possui apenas uma raiz real; informe-a ao usuário;
    Se o delta for positivo, a equação possui duas raiz reais; informe-as ao usuário;


14. Faça um script que peça um número correspondente a um determinado ano e em seguida informe se este ano é ou não bissexto.


15. Faça um script que peça uma data no formato dd/mm/aaaa e determine se a mesma é uma data válida.


16. Faça um script que peça um número inteiro e determine se ele é par ou ímpar.
Dica: utilize o operador módulo (resto da divisão): %


17. Faça um script que leia um número inteiro menor que 1000 e imprima a quantidade de centenas, dezenas e unidades do mesmo.
Observando os termos no plural a colocação do "e", da vírgula entre outros. Exemplo:

326 = 3 centenas, 2 dezenas e 6 unidades
12 = 1 dezena e 2 unidades Testar com: 326, 300, 100, 320, 310,305, 301, 101, 311, 111, 25, 20, 10, 21, 11, 1, 7 e 16


18. Faça um script para um caixa eletrônico. O script deverá perguntar ao usuário a valor do saque e depois informar quantas notas de cada valor serão fornecidas. As notas disponíveis serão as de 1, 5, 10, 50 e 100 reais. O valor mínimo é de 10 reais e o máximo de 600 reais. O script não deve se preocupar com a quantidade de notas existentes na máquina.

  1.  Exemplo: Para sacar a quantia de 256 reais, o script fornece duas notas de 100, uma nota de 50, uma nota de 5 e uma nota de 1;
  2.  Exemplo: Para sacar a quantia de 399 reais, o script fornece três notas de 100, uma nota de 50, quatro notas de 10, uma nota de 5 e quatro notas de 1.



19.Faça um script que peça um número e informe se o número é inteiro ou decimal. Dica: utilize uma função de arredondamento.


20. Faça um script que leia 2 números e em seguida pergunte ao usuário qual operação ele deseja realizar. O resultado da operação deve ser acompanhado de uma frase que diga se o número é:

    par ou ímpar;
    positivo ou negativo;
    inteiro ou decimal.


21. Faça um script que faça 5 perguntas para uma pessoa sobre um crime. As perguntas são:
    "Telefonou para a vítima?"
    "Esteve no local do crime?"
    "Mora perto da vítima?"
    "Devia para a vítima?"
    "Já trabalhou com a vítima?" O script deve no final emitir uma classificação sobre a participação da pessoa no crime. Se a pessoa responder positivamente a 2 questões ela deve ser classificada como "Suspeita", entre 3 e 4 como "Cúmplice" e 5 como "Assassino". Caso contrário, ele será classificado como "Inocente".


22. Um posto está vendendo combustíveis com a seguinte tabela de descontos:
    Álcool: até 20 litros, desconto de 3% por litro
    acima de 20 litros, desconto de 5% por litro

    Gasolina:
    até 20 litros, desconto de 4% por litro
    acima de 20 litros, desconto de 6% por litro Escreva um algoritmo que leia o número de litros vendidos, o tipo de combustível (codificado da seguinte forma: A-álcool, G-gasolina), calcule e imprima o valor a ser pago pelo cliente sabendo-se que o preço do litro da gasolina é R$ 2,50 o preço do litro do álcool é R$ 1,90.


23. Uma fruteira está vendendo frutas com a seguinte tabela de preços:
                          Até 5 Kg                 Acima de 5 Kg
    Morango         R$ 2,50 por Kg          R$ 2,20 por Kg
    Maçã              R$ 1,80 por Kg          R$ 1,50 por Kg
    Se o cliente comprar mais de 8 Kg em frutas ou o valor total da compra ultrapassar R$ 25,00, receberá ainda um desconto de 10% sobre este total. Escreva um algoritmo para ler a quantidade (em Kg) de morangos e a quantidade (em Kg) de maças adquiridas e escreva o valor a ser pago pelo cliente.


24. O Hipermercado Tabajara está com uma promoção de carnes que é imperdível. Confira:
                          Até 5 Kg               Acima de 5 Kg
    File Duplo      R$ 4,90 por Kg          R$ 5,80 por Kg
    Alcatra           R$ 5,90 por Kg          R$ 6,80 por Kg
    Picanha          R$ 6,90 por Kg          R$ 7,80 por Kg
    Para atender a todos os clientes, cada cliente poderá levar apenas um dos tipos de carne da promoção, porém não há limites para a quantidade de carne por cliente. Se compra for feita no cartão Tabajara o cliente receberá ainda um desconto de 5% sobre o total a compra. Escreva um script que peça o tipo e a quantidade de carne comprada pelo usuário e gere um cupom fiscal, contendo as informações da compra: tipo e quantidade de carne, preço total, tipo de pagamento, valor do desconto e valor a pagar.