Search buenodc

Variáveis, Tipos e Condicionais em JS

Todos os exercícios abaixo pedem os dados com prompt() e mostram o resultado com alert(). Lembre-se: prompt() sempre devolve uma string, então valores numéricos precisam ser convertidos com Number(...) antes de qualquer cálculo ou comparação.

Exercício 1: Calculadora de IMC

Arquivo: imc.html

Crie um programa que pergunte ao usuário o peso (kg) e a altura (m), calcule o Índice de Massa Corporal (peso / altura²) e informe a classificação correspondente: abaixo do peso (IMC menor que 18.5), peso normal (18.5 a 24.9), sobrepeso (25 a 29.9) ou obesidade (30 ou mais).

Resultado esperado (peso 70, altura 1.75):

IMC: 22.857142857142858 - Peso normal

Exercício 2: Verificador de Triângulo

Arquivo: triangulo.html

Crie um programa que pergunte três medidas de lados de um triângulo. O programa deve avisar se as medidas não formam um triângulo válido (quando algum lado é maior ou igual à soma dos outros dois) e, caso formem, dizer se o triângulo é equilátero (os três lados iguais), isósceles (dois lados iguais) ou escaleno (todos diferentes).

Resultado esperado (lados 4, 5, 6):

Escaleno

Teste também com: 2, 2, 10 (deve dar “Não forma um triângulo”) e 5, 5, 5 (deve dar “Equilátero”).

Exercício 3: Desconto Progressivo

Arquivo: desconto.html

Crie um programa de uma loja online que pergunte o valor da compra e calcule o valor final já com desconto, seguindo a tabela: compras de R$500 ou mais têm 20% de desconto, de R$200 a R$499,99 têm 10%, de R$100 a R$199,99 têm 5%, e abaixo disso não há desconto. O programa deve exibir o percentual aplicado e o valor final.

Resultado esperado (valor da compra 300):

Desconto: 10% - Valor final: R$ 270

Exercício 4: Ano Bissexto

Arquivo: bissexto.html

Crie um programa que pergunte um ano e diga se ele é bissexto, seguindo a regra oficial do calendário: um ano é bissexto se for divisível por 4, exceto se também for divisível por 100 — a menos que seja divisível por 400 também.

Resultado esperado (ano 2000):

2000 é bissexto

Teste também com: 1900 (não é bissexto, mesmo divisível por 4) e 2024 (é bissexto).

Exercício 5: Sistema de Login

Arquivo: login.html

Crie um programa que tenha um usuário e uma senha corretos fixados no código (defina os valores você mesmo, ex: "admin" e "1234"). O programa deve perguntar o usuário e a senha digitados e informar exatamente qual foi o problema, quando houver: se o usuário estiver errado, diga que o usuário não foi encontrado; se o usuário estiver certo mas a senha errada, diga que a senha está incorreta; se os dois estiverem certos, libere o acesso.

Resultado esperado (usuário admin, senha 1234, sendo esses os valores corretos):

Acesso permitido

Teste também com: um usuário errado (deve dar “Usuário não encontrado”) e o usuário certo com senha errada (deve dar “Senha incorreta”).

Exercício 6: Adivinhe o Número

Arquivo: adivinhe-numero.html

Até aqui, cada prompt() foi feito uma única vez. Para repetir uma pergunta até que uma condição pare de ser verdadeira, o JavaScript tem o laço while:

let contador = 0;
while (contador < 3) {
  console.log(contador);
  contador++;
}
// imprime 0, 1 e 2, parando quando contador deixa de ser menor que 3

Pense num número secreto de 1 a 10 e deixe-o fixo no código. Usando um while, crie um programa que repita a pergunta do palpite até o usuário acertar: a cada tentativa errada, avise com alert() se o palpite foi maior ou menor que o número secreto. Quando o usuário acertar, mostre uma mensagem de vitória informando quantas tentativas foram usadas.

Resultado esperado (número secreto 7, palpites digitados em sequência: 3, 9, 7):

Muito baixo! Tente um número maior.
Muito alto! Tente um número menor.
Você acertou em 3 tentativas!