Olá, pessoal!
Pensando como processo de negócio, antes de escrever qualquer código, entendo que se trata de um processo decisório com uma instância por estudante, um evento de início bem definido (recebimento da média) e três caminhos mutuamente exclusivos de saída.
segue meu algoritmo:
Início
Receber a média final do estudante enviada pelo sistema. Validar a entrada: Se o valor não for numérico ou estiver fora do intervalo 0–10: Registrar erro de entrada no log do sistema. Retornar mensagem de erro à interface e encerrar. Se a média for menor que 5,0: Registrar resultado como "Reprovado" no banco de dados. Exibir mensagem personalizada: "Você está reprovado." Encerrar processo. Senão, se a média for menor que 7,0: Registrar resultado como "Em recuperação" no banco de dados. Exibir mensagem personalizada: "Você está de recuperação." Encerrar processo. Senão: Registrar resultado como "Aprovado" no banco de dados. Exibir mensagem personalizada: "Parabéns! Você foi aprovado." Encerrar processo.
Fim