Fácil JavaScript

Classificador de idade

Enunciado

Escreva um programa que, dada a variável idade (número), use if/else if/else para imprimir:

  • 'Criança' se idade < 12
  • 'Adolescente' se 12 <= idade < 18
  • 'Adulto' se idade >= 18

Use console.log para exibir o resultado.

Requisitos

  • Declare uma constante idade com valor 15.
  • Use if, else if e else para classificar.
  • Imprima exatamente uma das três mensagens.

Código inicial

// Declare a idade e classifique

Saída esperada

Adolescente
Ver dica

A condição do else if deve verificar se a idade é maior ou igual a 12 e menor que 18.

Mostrar solução
// Classificador de idade
const idade = 15;

if (idade < 12) {
  console.log('Criança');
} else if (idade < 18) {
  console.log('Adolescente');
} else {
  console.log('Adulto');
}

Passo a passo

  1. Declaramos const idade = 15; para representar a idade a ser classificada.
  2. O primeiro if verifica se idade < 12. Se verdadeiro, imprime 'Criança'.
  3. O else if (idade < 18) só é avaliado se o primeiro if for falso. Como 15 < 18, imprime 'Adolescente'.
  4. O else final cobre todos os outros casos (idade >= 18), imprimindo 'Adulto'.
  5. A estrutura garante que apenas uma mensagem seja impressa.

Por que funciona

O encadeamento if / else if / else avalia as condições em ordem e executa apenas o primeiro bloco verdadeiro. Isso implementa uma decisão exclusiva, adequada para faixas contíguas de valores.

Erros comuns

  • Esquecer o else final: se a idade for 20, nada seria impresso. Corrija adicionando else { console.log('Adulto'); }.
  • Usar if separados em vez de else if: todas as condições seriam testadas, podendo imprimir múltiplas mensagens. Exemplo errado:
    if (idade < 12) { ... }
    if (idade < 18) { ... } // também verdadeiro para 15
    
  • Comparar com = em vez de == ou ===: if (idade = 12) atribui e sempre é verdadeiro. Use === para comparação estrita.

Outra forma de resolver

Usar operador ternário aninhado, mas fica menos legível para muitas faixas:

const classificacao = idade < 12 ? 'Criança' : idade < 18 ? 'Adolescente' : 'Adulto';
console.log(classificacao);

Saída esperada

Adolescente