Olá, Marco. Como vai?
Seu algoritmo está muito bem estruturado! Você utilizou corretamente a lógica de condicionais aninhadas para cobrir todas as faixas de notas propostas no desafio. O uso do tipo de variável Real também é o mais adequado, já que notas frequentemente possuem casas decimais.
Um detalhe importante na sua lógica é que ela demonstra um bom entendimento de fluxo de controle. Ao verificar primeiro se a nota é menor que 5, e depois se é menor que 6,9, você cria um funil que organiza os dados de forma eficiente.
Para deixar o seu código ainda mais preciso e evitar pequenos erros de execução, deixo duas sugestões:
- Intervalo de Recuperação: Na sua segunda condição, se a média for exatamente 6,9, o sistema cairá no Senão (Aprovado). Se a intenção for incluir o 6,9 na recuperação, o ideal seria usar o operador menor ou igual (<=).
- Estrutura dos Fim Se: No seu pseudocódigo, você fechou dois Fim Se. Isso está correto se você abrir dois blocos separados, mas em algumas linguagens, o Senão Se (ou else if) conta como uma única estrutura encadeada.
Veja como esse algoritmo ficaria representado de forma bem clara:
Início Algoritmo
Variável média: Real;
Ler (média);
Se média < 5.0 Então
Imprima (“Você está reprovado.”);
Senão Se média <= 6.9 Então
Imprima (“Você está de recuperação.”);
Senão
Imprima (“Parabéns! Você foi aprovado.”);
Fim Se;
Fim Algoritmo.
Essa organização garante que cada nota caia exatamente na categoria desejada, sem ambiguidades. Parabéns pelo empenho no curso de Pensamento Computacional!
Espero que possa ter lhe ajudado!