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

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.
Maior ou menor número

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 os testes necessários.
Encontrar raízes de uma equação do segundo grau


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.
Ano bissexto em JavaScript


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

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): %
Par ou Ímpar em JS


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.

23 comentários:

  1. Respostas
    1. const tabela=function(preçodahora,quantidadedehoras){
      let salario=preçodahora*quantidadedehoras
      let inss=salario*0.10
      let fgts=salario*0.11

      if(salario<=900){
      ir=0 //IMPOSTO DE RENDA
      totaldescontos=ir+inss
      salarioliquido=salario-totaldescontos
      /////////////////////////////////////
      }else if(salario>900&&salario<=1500){
      ir=salario*0.05
      totaldescontos=ir+inss
      salarioliquido=salario-totaldescontos
      /////////////////////////////////////
      }else if(salario>1500&&salario<=2500){
      ir=salario*0.10
      totaldescontos=ir+inss
      salarioliquido=salario-totaldescontos
      ////////////////////////////////////
      }else if (salario>2500){
      ir=salario*0.20
      totaldescontos=ir+inss
      salarioliquido=salario-totaldescontos}

      let objeto={salario:salario,IR:ir,INSS:inss,fgts:fgts,descontos:totaldescontos,final:salarioliquido}
      return objeto
      }

      console.log(tabela(6,300))

      Excluir
    2. no enunciado da questao ta escrito errado, falando que é 3 porcento o desconto para o sindicato(inss), mas na verdade quando voce olha a tabela fala que é 10 porcento, entao siga os 10 porcento e nao o 3 porcento

      Excluir
  2. preciso da resolução do exercício 7

    ResponderExcluir
    Respostas
    1. function horario(){
      var horarioo = document.getElementById("char").value;
      horarioo = horarioo.toUpperCase();

      if(horarioo == 'M'){
      alert("Bom Dia!!");

      }else if(horarioo==='V'){
      alert("Boa tarde!!");


      }else if(horarioo=='N'){
      alert("Boa noite");

      }else{
      alert("Valor inválido!")
      }
      }

      Excluir
    2. alert("Faça a sua escolha de turno: ")
      alert("M-Matutino, V-Vespertino ou N-Noturno: ")
      var turno = prompt("Digite seu turno: ")
      turno.toUpperCase()
      switch (turno.toUpperCase()) {
      case 'M':
      alert("Seu turno é " + turno.toUpperCase() + " de Matutino")
      break
      case 'V':
      alert("Seu turno é " + turno.toUpperCase() + " de Vespertino")
      break
      case 'N':
      alert("Seu turno é " + turno.toUpperCase() + " de Noturno")
      break
      default:
      alert("Esse turno " + turno + " não existe")
      }

      Excluir
    3. function turno() {
      var horario = document.getElementById('turno').value

      horario = horario.toLowerCase()

      switch (horario) {
      case 'matutino': alert('Bom Dia!');
      break;
      case 'vespertino': alert('Boa Tarde!')
      break;
      case 'noturno': alert('Boa Noite!')
      break;
      default: alert('Valor Inválido!')
      }
      }

      Excluir
  3. Respostas
    1. var salario = prompt("Digite seu salário: ")
      salario = parseFloat(salario)
      if (salario <= 280) {
      ajuste = salario + (salario * (20 / 100))
      alert("Seu salario de " + salario + " foi alterado para " + ajuste)
      } else if (salario >= 280 && salario <= 700) {
      ajuste = salario + (salario * (15 / 100))
      alert("Seu salario de " + salario + " foi alterado para " + ajuste)
      } else if (salario >= 700 && salario <= 1500) {
      ajuste = salario + (salario * (10 / 100))
      alert("Seu salario de " + salario + " foi alterado para " + ajuste)
      } else {
      ajuste = salario + (salario * (5 / 100))
      alert("Seu salario de " + salario + " foi alterado para " + ajuste)
      }

      Excluir
  4. https://github.com/davimm96/js-exercises/tree/master/aumento-de-salario

    ResponderExcluir
  5. Alguém ai tem a resposta em javascript da questão 9.

    ResponderExcluir
    Respostas
    1. var valor_hora = prompt("Qual o valor da sua hora? ")
      valor_hora = parseInt(valor_hora)
      var qtde_trabalhada = prompt("Quantas horas você trabalhou esse mês ?")
      qtde_trabalhada = parseInt(qtde_trabalhada)
      salario_bruto = (valor_hora * qtde_trabalhada)
      alert("Seu salario bruto sem descontos é de " + salario_bruto)
      if (salario_bruto > 0 && salario_bruto <= 900) {
      salario_liq = salario_bruto - (salario_bruto * (3 / 100))
      salario_liq = salario_liq + (salario_bruto * (11 / 100))
      alert("O seu salário atual é maior que R$ 0 e menor que R$ 900 " + salario_liq)
      } else if (salario_bruto >= 900 && salario_bruto <= 1500) {
      salario_liq = salario_bruto - (salario_bruto * (3 / 100))
      salario_liq = salario_bruto - (salario_bruto * (5 / 100))
      salario_liq = salario_liq + (salario_bruto * (11 / 100))
      alert("O seu salário atual é de " + salario_liq)
      } else if (salario_bruto > 1500 && salario_bruto <= 2500) {
      salario_liq = salario_bruto - (salario_bruto * (3 / 100))
      salario_liq = salario_bruto - (salario_bruto * (10 / 100))
      salario_liq = salario_liq + (salario_bruto * (11 / 100))
      alert("O seu salário atual é maior que R$ 1500 e menor que R$ 2500 " + salario_liq)
      } else {
      salario_liq = salario_bruto - (salario_bruto * (3 / 100))
      salario_liq = salario_bruto - (salario_bruto * (20 / 100))
      salario_liq = salario_liq + (salario_bruto * (11 / 100))
      alert("O seu salário atual está acima de R$ 2500 " + salario_liq)
      }

      Excluir
  6. Preciso da resposta da questão 22

    ResponderExcluir
    Respostas
    1. gaso = 2.50
      alco = 1.90
      var alcool = prompt("Quantos litros de Alcool você deseja? ")
      alcool = parseFloat(alcool)
      preço_alcool = alcool * alco
      var gasolina = prompt("Quantos litros de Gasolina você deseja? ")
      gasolina = parseFloat(gasolina)
      preço_gasolina = gasolina * gaso
      if (alcool <= 20 && gasolina <= 20) {
      ajust_alcool = preço_alcool - (preço_alcool * (3 / 100))
      ajust_gasolina = preço_gasolina - (preço_gasolina * (4 / 100))
      alert("O valor do alcool com o desconto de 3% por litro ficou em R$ " + Math.trunc(ajust_alcool) + " e o preço da gasolina com o desconto de 4% ficou R$ " + Math.trunc(ajust_gasolina))
      } else {
      ajust_alcool = preço_alcool - (preço_alcool * (5 / 100))
      ajust_gasolina = preço_gasolina - (preço_gasolina * (6 / 100))
      alert("O valor do alcool com o desconto de 5% por litro ficou em R$ " + Math.trunc(ajust_alcool) + " e o preço da gasolina com o desconto de 6% ficou R$ " + Math.trunc(ajust_gasolina))
      }

      Excluir
  7. alguem tem a resposta da 21 pelo amor de deus??

    ResponderExcluir
    Respostas
    1. function enviar(){
      var telefonou = document.getElementById("telefonou").value.toUpperCase()
      var local = document.getElementById("local").value.toUpperCase()
      var moraPerto = document.getElementById("moraPerto").value.toUpperCase()
      var devia = document.getElementById("devia").value.toUpperCase()
      var trabalhou = document.getElementById("trabalhou").value.toUpperCase()

      switch (telefonou){
      case "S": var telefonou = 1;
      break
      }

      switch (local){
      case "S": var local = 1;
      break
      }

      switch (moraPerto){
      case "S": var moraPerto = 1;
      break
      }

      switch (devia){
      case "S": var devia = 1;
      break
      }

      switch (trabalhou){
      case "S": var trabalhou = 1;
      break
      }

      var resultadoCrime = telefonou + local + moraPerto + devia + trabalhou

      if (resultadoCrime == 2){
      alert("Suspeita")
      }else if (resultadoCrime == 3 || resultadoCrime == 4){
      alert("Cúmplice")
      }else if(resultadoCrime == 5){
      alert("Assassino")
      }else{
      alert("Inocente")
      }

      }

      Excluir
  8. Preciso da resolucção da questão 12, please

    ResponderExcluir
    Respostas
    1. https://github.com/NiedsonBarros/javascriptExercises

      Excluir
    2. https://github.com/NiedsonBarros/javascriptExercises

      Excluir
  9. Exercício 09

    let horaV = 5;
    let tempoT = 220;
    let salario = horaV * tempoT;

    let ir = salario * 5 / 100;
    let ir02 = salario * 10 / 100;
    let ir03 = salario * 20 / 100;

    let inss = salario * 10 / 100;
    let fgts = salario * 11 / 100;

    let desconto = inss - ir;
    let desconto02 = inss - ir02;
    let desconto03 = inss - ir03;

    let salarioLiquido = salario - desconto;
    let salarioLiquido02 = salario - desconto02;
    let salarioLiquido03 = salario - desconto03;

    if(salario <= 900){
    console.log(`
    Sálario Bruto: (${horaV} x ${tempoT} ): R$ ${salario.toFixed(2)}
    (-) IR (isento) : R$ 00.00
    (-) INSS (10%) : R$ ${inss.toFixed(2)}
    FGTS (11%) : R$ ${fgts.toFixed(2)}
    Total de descontos : R$ ${desconto.toFixed(2).replace('-',' ')}
    Sálario Liquido : R$ ${salarioLiquido.toFixed(2)}
    `);
    } else if (salario > 900 && salario <= 1500) {
    console.log(`
    Sálario Bruto: (${horaV} x ${tempoT}) : R$ ${salario.toFixed(2)}
    (-) IR (5%) : R$ ${ir.toFixed(2)}
    (-) INSS (10%) : R$ ${inss.toFixed(2)}
    FGTS (11%) : R$ ${fgts.toFixed(2)}
    Total de descontos : R$ ${desconto.toFixed(2).replace('-',' ')}
    Sálario Liquido : R$ ${salarioLiquido.toFixed(2)}
    `);
    } else if (salario > 1500 && salario <= 2500) {
    console.log(`
    Sálario Bruto: (${horaV} x ${tempoT}) : R$ ${salario.toFixed(2)}
    (-) IR (10%) : R$ ${ir02.toFixed(2)}
    (-) INSS (10%) : R$ ${inss.toFixed(2)}
    FGTS (11%) : R$ ${fgts.toFixed(2)}
    Total de descontos : R$ ${desconto02.toFixed(2).replace('-',' ')}
    Sálario Liquido : R$ ${salarioLiquido02.toFixed(2)}
    `);
    } else if (salario > 2500) {
    console.log(`
    Sálario Bruto: (${horaV} x ${tempoT}) : R$ ${salario.toFixed(2)}
    (-) IR (20%) : R$ ${ir03.toFixed(2)}
    (-) INSS (10%) : R$ ${inss.toFixed(2)}
    FGTS (11%) : R$ ${fgts.toFixed(2)}
    Total de descontos : R$ ${desconto03.toFixed(2).replace('-',' ')}
    Sálario Liquido : R$ ${salarioLiquido03.toFixed(2)}
    `);
    }

    ResponderExcluir
  10. script
    let count = 0;

    const P1 = prompt("O suspeito telefonou para a vítima? (sim ou não)"); if (P1 === "sim") {count++;}
    const P2 = prompt("O suspeito esteve no local do crime? (sim ou não)"); if (P2 === "sim") {count++;}
    const P3 = prompt("O suspeito mora perto da vítima (sim ou não)"); if (P3 === "sim") {count++;}
    const P4 = prompt("O suspeito devia para a vítima (sim ou não)"); if (P4 === "sim") {count++;}
    const P5 = prompt("O suspeito já trabalhou com a vítima (sim ou não)"); if (P5 === "sim") {count++;}

    if(count === 5) {
    console.log("Assasino");
    alert("Assasino");
    }

    end script

    ResponderExcluir
  11. Olá, gostaria de retificar meu comentário anterior, acrescentando as demais condições. A resposta foi elaborada em conjunto com a minha turma de desnvolvimento web frontend Turma BC FE - Noite 1T23 do Instituto Infnet. Um agradecimento especial ao monitor Luiz e a co-produtora do código colega Claudia.

    Segue o código:


    let count = 0;

    const P1 = prompt("O suspeito telefonou para a vítima? (sim ou não)"); if (P1 === "sim") {count++;}
    const P2 = prompt("O suspeito esteve no local do crime? (sim ou não)"); if (P2 === "sim") {count++;}
    const P3 = prompt("O suspeito mora perto da vítima (sim ou não)"); if (P3 === "sim") {count++;}
    const P4 = prompt("O suspeito devia para a vítima (sim ou não)"); if (P4 === "sim") {count++;}
    const P5 = prompt("O suspeito já trabalhou com a vítima (sim ou não)"); if (P5 === "sim") {count++;}

    if(count === 5) {
    console.log("Assasino");
    alert("Assasino");}

    else if (count >= 3) {
    console.log("Cúmplice");
    alert("cúmplice");}


    else if(count === 2) {
    console.log("suspeito");
    alert("suspeito");
    }

    else{
    console.log("inocente");
    alert("inocente");}

    ResponderExcluir
  12. Conseguir fazer dessa maneira, para ser impresso no node.

    Declrando array dentro das constantes e usando o metodo "includes " para validar se é verdade ou false.

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

    const Letra1 = ["a", "e", "i", "o", "u"];
    const Letra2 = ["b", "c", " d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "w", "x", "z"];
    const LetraSelcionada = 3;


    if (Letra1.includes(LetraSelcionada)) {
    console.log("Vogais");
    } else if (Letra2.includes(LetraSelcionada)) {
    console.log("Consoante");
    } else {
    console.log("Não é consoante e nem volga");
    };

    ResponderExcluir