Olá, Emerson, como vai?
Seu raciocínio geral está bem encaminhado e a sequência das etapas está clara, mas há um detalhe importante na lógica das condições que vale ajustar para que o algoritmo siga as regras definidas no enunciado.
A regra original indica que médias menores que 5 deveriam levar à reprovação. No seu texto, você colocou menor ou igual a 5, o que acaba incluindo o valor 5 em duas verificações diferentes. Além disso, quando organizamos estruturas condicionais, é comum deixar os intervalos sem sobreposição para evitar interpretações ambíguas.
Um exemplo seria considerar média < 5 para reprovação, entre 5 e 6.9 para recuperação e média ≥ 7 para aprovação. Algo como: se média < 5, reprovado; se média ≥ 5 e < 7, recuperação; se média ≥ 7, aprovado.
Seu exercício ficou bem estruturado e agradeço por ter compartilhado. Sempre que quiser trocar ideias sobre soluções, o fórum está à disposição.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!