No description
Find a file
2026-07-09 15:07:48 -03:00
go.mod fix: remove sufixo .git incorreto no go mod 2026-07-09 15:07:48 -03:00
main.go refactor: remove loop redundante do melhor aluno 2026-07-09 14:46:36 -03:00
README.md Initial commit 2026-07-09 14:31:32 -03:00

🎯 Desafio: Sistema de Notas de Alunos

Parte base (para os dois)

Escreva um programa que:

  1. Armazene uma lista de alunos, cada um com nome e 3 notas
  2. Calcule a média de cada aluno
  3. Classifique cada aluno como:
    • Aprovado (média ≥ 7)
    • Recuperação (média entre 5 e 6.9)
    • Reprovado (média < 5)
  4. Ao final, mostre:
    • A lista de todos os alunos com sua média e situação
    • O nome do aluno com a maior média
    • A média geral da turma

Exemplo de saída

Ana     - Média: 8.3 - Aprovado
Bruno   - Média: 5.5 - Recuperação
Carlos  - Média: 3.0 - Reprovado

Melhor aluno: Ana (8.3)
Média da turma: 5.6

🔵 Extra para quem já programa

Além do que já foi pedido, adicione:

  1. Tratamento de erros: se alguma nota for inválida (negativa, maior que 10, ou não numérica), a nota do aluno deve ser marcada como inválida sem quebrar o programa — capture isso com o mecanismo de erro idiomático da linguagem (try/catch, Result, exceptions, o que for)
  2. Ordenação: exiba a lista final ordenada da maior pra menor média, usando a forma idiomática de ordenar coleções na linguagem escolhida
  3. Imutabilidade (se a linguagem suportar): tente resolver usando estruturas imutáveis ou funções puras, evitando alterar o estado diretamente

Estrutura de dados sugerida (adapte pra sua linguagem)

alunos = [
    {"nome": "Ana", "notas": [8.5, 7.0, 9.5]},
    {"nome": "Bruno", "notas": [5.0, 6.0, 5.5]},
    {"nome": "Carlos", "notas": [2.0, 4.0, 3.0]},
]