Saudação por horário
Em sistemas reais, como aplicativos de mensagens ou painéis administrativos, é comum exibir mensagens personalizadas de acordo com o horário do usuário. Dominar condições com intervalos e validação de entrada evita comportamentos inesperados e melhora a experiência do usuário, como garantir que um valor inválido não quebre a aplicação.
O PROBLEMA
Declare hora (0-23) e exiba: Bom dia (0-11), Boa tarde (12-17), Boa noite (18-23). Se inválida, erro.
EXEMPLO
hora=14 → Boa tarde hora=25 → Hora inválida
SOBRE O CONCEITO
Aqui usamos if, else if e else para testar intervalos consecutivos e sem sobreposição. O erro mais comum é não cobrir valores inválidos (ex.: hora=25) — sem uma validação inicial, o código cairia em um intervalo incorreto ou simplesmente não exibiria nada. Outro erro é usar intervalos sobrepostos (ex.: hora < 12 e hora <= 12 juntos), o que pode fazer o segundo bloco nunca executar. A solução é verificar primeiro se hora está entre 0 e 23 usando >= e <=, e depois dividir em intervalos sem interseção: hora >= 0 && hora <= 11, hora >= 12 && hora <= 17, hora >= 18 && hora <= 23.
RESOLUÇÃO