Fácil PHP
Classificação de idade
Enunciado
Escreva um programa que receba uma idade (inteiro) e imprima a categoria: Criança (0-12), Adolescente (13-17), Adulto (18-64) ou Idoso (65+). Use if, elseif e else.
Requisitos
- Usar
if,elseifeelsepara classificar. - Imprimir exatamente a categoria correspondente.
- Considerar os limites: 12, 17, 64.
Código inicial
<?php
$idade = 25;
// Complete com if/elseif/else
Saída esperada
Adulto
Ver dica
Comece verificando se a idade é menor ou igual a 12; depois, se é menor ou igual a 17, e assim por diante.
Mostrar solução
<?php
$idade = 25;
if ($idade <= 12) {
echo "Criança";
} elseif ($idade <= 17) {
echo "Adolescente";
} elseif ($idade <= 64) {
echo "Adulto";
} else {
echo "Idoso";
}
Passo a passo
- Definimos a variável
$idadecom valor 25. - A primeira condição
$idade <= 12é falsa, então o bloco não executa. - A condição
$idade <= 17também é falsa. - A condição
$idade <= 64é verdadeira, então o blocoecho "Adulto";é executado. - O
elsefinal só seria usado se nenhuma condição anterior fosse verdadeira.
Por que funciona
O if/elseif/else avalia as condições em ordem. Assim que uma é verdadeira, o bloco correspondente é executado e as demais são ignoradas. Isso garante que apenas uma categoria seja impressa.
Erros comuns
- Esquecer o
elsefinal: se a idade for 70, nenhuma condição seria verdadeira e nada seria impresso. Useelsepara cobrir o restante. - Usar
=em vez de==ou<=:if ($idade = 12)atribui 12 e sempre é verdadeiro. Use operadores de comparação. - Ordem errada das condições: se verificar
$idade <= 64antes de$idade <= 17, um adolescente seria classificado como adulto. Sempre do menor para o maior.
Outra forma de resolver
Poderia usar match(true) para avaliar condições:
$categoria = match(true) {
$idade <= 12 => "Criança",
$idade <= 17 => "Adolescente",
$idade <= 64 => "Adulto",
default => "Idoso",
};
echo $categoria;
Essa abordagem é mais concisa, mas requer PHP 8+.
Saída esperada
Adulto