1
resposta

[Projeto] Resolução

List<double> notas= new List<double>
        {
    8.5,
    6.2,
    9.1,
    5.8,
    7.4
        };

foreach (double nota in notas)
{
    if (nota < 7)
    {
        Console.WriteLine($"O aluno com a nota {nota} está abaixo da média!");
    }
    else
    {
        Console.WriteLine($"O aluno com a nota {nota} está indo muito bem!");
    }
}
1 resposta

Olá, Bianca. Como vai?

O seu código está excelente e resolve perfeitamente o problema de percorrer a lista de notas para validar quem está acima ou abaixo da média. O uso do foreach foi a escolha ideal aqui, pois você precisava apenas ler cada elemento da lista sequencialmente, sem a necessidade de manipular os índices.

Para complementar os seus estudos e agregar ainda mais valor ao seu projeto em C#, podemos aplicar algumas boas práticas de refatoração para deixar o código mais limpo e profissional:

  • Isolar a média em uma constante: Em vez de deixar o número 7 solto no código (o que chamamos de "número mágico"), é uma boa prática criar uma variável ou constante com um nome descritivo. Isso facilita a manutenção caso a média do curso mude no futuro.
  • Simplificar a formatação da lista: Embora a indentação atual funcione, alinhar a abertura e o fechamento das chaves torna a leitura do bloco de código mais agradável.

Veja como o seu código ficaria aplicando essas melhorias:

List<double> notas = new List<double> { 8.5, 6.2, 9.1, 5.8, 7.4 };
const double MediaAprovacao = 7.0;

foreach (double nota in notas)
{
    if (nota < MediaAprovacao)
    {
        Console.WriteLine($"O aluno com a nota {nota} está abaixo da média!");
    }
    else
    {
        Console.WriteLine($"O aluno com a nota {nota} está indo muito bem!");
    }
}

Curiosidade técnica: Se em algum momento você precisasse alterar o valor da nota diretamente dentro da lista (por exemplo, dar meio ponto de bônus para cada aluno), o foreach não permitiria essa modificação direta na variável de iteração nota. Nesses casos de alteração de dados, o laço for tradicional seria o mais indicado. Como o seu objetivo era apenas leitura e exibição, sua escolha foi cirúrgica.

Parabéns pela resolução da atividade!

Espero que possa ter lhe ajudado!