Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Desafio: Classificando desempenho acadêmico

Contexto:

Você está trabalhando no desenvolvimento de um sistema educacional que precisa exibir mensagens personalizadas para estudantes com base em sua média final. A regra de negócio definida pela equipe pedagógica é a seguinte:

Média menor que 5,0: mensagem “Você está reprovado.”
Média entre 5,0 e 6,9: mensagem “Você está de recuperação.”
Média 7,0 ou mais: mensagem “Parabéns! Você foi aprovado.”

Problema:
Sua tarefa é criar um algoritmo em linguagem natural que represente esse processo de verificação e decisão de forma clara, usando estruturas condicionais.

Sugestão de Resolução:

  1. O programa deve coletar as médias dos alunos, portanto deve existir um cadastro com o nome de cada aluno e matrícula (nomes podem ser iguais, porém matrículas são chaves únicas). A entrada de dados deve calcular a média simples com base nas notas incluídas no programa pelos professores.
  2. A incluir a nota dos alunos, a equipe de professores deve sempre incluir a matrícula e nota atribuída. Dessa forma, o programa irá efetuar o cálculo da média (de forma simples, basta obter a média entre as notas, ou seja, somar todas as notas e dividir pela quantidade de provas realizadas).
  3. O programa irá armazenar essas médias e irá atribuir a mensagem conforme a nota média obtida pelo aluno.
  4. A condição a ser informada por mensagem ao aluno deve seguir a seguinte regra de negócio:
    *Média menor que 5,0: mensagem “Você está reprovado.”
    Média entre 5,0 e 6,9: mensagem “Você está de recuperação.”
    Média 7,0 ou mais: mensagem “Parabéns! Você foi aprovado.”
  5. Deve ser criada uma tela de acesso, na qual o aluno consulta sua nota. A mensagem será retornada para o aluno com base na média calculada e a regra de negócio estabelecida.
2 respostas
solução!

Olá, Anelise. Como vai?

Sua sugestão de resolução está excelente e muito completa! Você não se limitou apenas à lógica da condição, mas pensou em todo o sistema ao redor do problema, o que demonstra uma visão de arquitetura de software muito apurada.

O que mais se destaca na sua proposta é o cuidado com a integridade dos dados e a experiência do usuário:

  • Identificação Única: Ao sugerir o uso da matrícula como "chave única", você resolve um problema clássico de banco de dados (homônimos), garantindo que a nota certa chegue ao aluno certo.
  • Automação do Cálculo: Você descreveu perfeitamente a etapa de processamento ao explicar como a média simples deve ser obtida (soma das notas dividida pela quantidade), transformando dados brutos em informação útil.
  • Estrutura de Consulta: Pensar na criação de uma tela de acesso específica para o aluno demonstra foco em UX (User Experience) e segurança da informação.

Se fôssemos traduzir sua lógica para um algoritmo em linguagem natural (pseudocódigo) seguindo sua regra de negócio, ele ficaria assim:


Algoritmo: Consulta de Desempenho Acadêmico

  1. Início
  2. Entrada: Receber a matrícula do aluno.
  3. Processamento:
    • Buscar notas vinculadas àquela matrícula.
    • Calcular media = (nota1 + nota2 + ... + notaN) / N.
  4. Decisão (Regra de Negócio):
    • Se media < 5.0: Exibir "Você está reprovado."
    • Senão, se media >= 5.0 E media <= 6.9: Exibir "Você está de recuperação."
    • Senão (media >= 7.0): Exibir "Parabéns! Você foi aprovado."
  5. Fim

Sua abordagem está muito bem estruturada e alinhada com as melhores práticas de resolução de problemas e pensamento computacional. Parabéns pelo detalhamento do desafio!

Espero que possa ter lhe ajudado!

Como você imagina que o sistema deveria reagir caso o professor digitasse acidentalmente uma nota maior que 10 ou menor que 0?

Olá Evandro,

No caso do professor digitar acidentalmente uma nota maior que 10 ou menor que 0, o programa deveria rejeitar, pois isso distorceria a média do aluno.
Sendo assim, obrigada pela observação, essa regra deve ser considerada no programa no momento da entrada de dados.