Oii João,
Ficou muito boa a sua solução. Você aplicou corretamente os métodos de objeto e sua lógica de decisão tá funcionando perfeitamente.
Gostei bastante de você ter encapsulado a lógica dentro de uma função (exibirRelatorio). Isso é uma ótima prática de organização, pois permite que você reuse esse código pra diferentes relatórios no futuro, sem precisar reescrever o loop.
Tenho apenas uma sugestão de legibilidade sobre o uso do operador ternário dentro do laço for...in.
No seu código, você usou o ternário para executar duas ações diferentes (dois console.log distintos):
obj[resultado] > 50 ? console.log(...) : console.log(...)
Embora funcione, uma prática mais comum e limpa é usar o ternário apenas para definir o valor que muda (o status "alerta" ou "ok") e manter um único comando de saída. Isso evita a repetição de código.
Veja como ficaria essa pequena refatoração:
for (let resultado in obj) {
// o ternário decide apenas o texto do status
let status = obj[resultado] > 50 ? "(alerta)" : "(ok)";
// o console.log é chamado uma única vez
console.log(`${resultado}: ${obj[resultado]} ${status}`);
}
Isso torna a manutenção mais fácil: se um dia você quiser mudar a formatação da mensagem, muda em um lugar só.
Parabéns por praticar.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!