Olá, Pedro Henrique. Como vai?
Parabéns por concluir mais esse desafio! Sua lógica está muito bem estruturada. O uso do comando ir para fim demonstra que você já compreendeu um conceito fundamental da computação: o fluxo de execução. Ao encontrar a condição verdadeira, você evita que o computador gaste processamento testando as próximas regras, o que torna o algoritmo mais eficiente.
Gostaria de destacar alguns pontos técnicos positivos e dar uma dica para deixar seu pseudocódigo ainda mais "limpo":
- Precisão dos Intervalos: Você foi muito cuidadoso ao definir
menor que 5, menor ou igual a 6,9 e maior ou igual a 7. Essa precisão é o que evita os famosos "erros de borda", onde um aluno com nota 6,95, por exemplo, poderia ficar sem classificação. - Abstração do Fluxo: O uso do
ir para fim simula o comportamento que muitas linguagens de programação (como Python ou C#) já fazem automaticamente quando usamos a estrutura if / else if / else.
Dica de Refinamento: O uso do "Senão"
Embora o seu ir para fim funcione perfeitamente, na programação moderna costumamos usar a estrutura de encadeamento lógico. Isso elimina a necessidade de dizer ao computador para onde ele deve ir, pois a própria estrutura já garante que apenas um bloco será executado.
Veja como ficaria essa mesma lógica usando Se / Senão Se:
Início
obter(media)
se media < 5 então:
mensagem("Você foi reprovado!")
senão se media < 7 então:
mensagem("Você está de recuperação.")
senão:
mensagem("Parabéns, você está aprovado!")
Fim
Por que isso é legal?
Note que na segunda condição (media < 7), eu não precisei dizer que ela deve ser maior que 5. O "Senão Se" já implica que a condição anterior foi falsa. Isso deixa o algoritmo mais elegante e fácil de ler!
Você já pensou em qual linguagem de programação pretende aplicar essa lógica primeiro? Se precisar de ajuda para traduzir esse pseudocódigo para Python ou JavaScript, conte comigo!
Espero que possa ter lhe ajudado!