Olá, Diego, como vai?
Sua lógica está coerente com as regras de negócio propostas no enunciado e contempla corretamente os três intervalos de média. As condições numéricas foram bem definidas e cobrem todos os casos possíveis.
Apenas sugiro um pequeno ajuste estrutural na versão em pseudocódigo. Como as condições são excludentes entre si, pode ser interessante utilizar uma estrutura encadeada (se / senão se / senão) para representar melhor a ideia de decisão única.
Por exemplo:
Inicio
Leia(media)
se (media < 5)
exibe("Você está reprovado")
senão se (media <= 6.9)
exibe("Você está de recuperação")
senão
exibe("Parabéns! Você foi aprovado")
Fim
Note que, após eliminar o primeiro caso (media < 5), não é mais necessário testar novamente se a média é maior ou igual a 5, pois isso já está implícito. Isso deixa o algoritmo mais limpo e mais próximo da lógica de decisão utilizada em programação.
Continue compartilhando suas soluções no fórum. Estamos à disposição para apoiar sua evolução.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!