1
resposta

[Projeto] Classificação de nota

Console.Write("Informe a nota final do aluno: ");
float nota = float.Parse(Console.ReadLine()!);

if (nota >= 9)
{
Console.WriteLine("O aluno recebeu nota A");
}
else if (nota >= 7 && nota < 9)
{
Console.WriteLine("O aluno recebeu nota B");
}
else if (nota >=5 && nota < 7)
{
Console.WriteLine("O aluno recebeu nota C");
}
else
{
Console.WriteLine("O aluno recebeu nota D");
}

1 resposta

Olá, Izabelly. Como vai?

Parabéns pela resolução! O seu código estruturado em C# está perfeito, e o uso do float.Parse foi uma escolha excelente para permitir que o sistema leia notas quebradas, como 7.5 ou 8.2.

Para agregar um pouco mais de conhecimento aos seus estudos, quero compartilhar uma dica muito utilizada no mercado sobre como a estrutura else if funciona por baixo dos panos.

Como o computador lê o código de cima para baixo, quando ele chega no seu primeiro else if, ele já tem a certeza absoluta de que a nota não é maior ou igual a 9 (pois se fosse, ele teria entrado no primeiro bloco e ignorado o resto). Sendo assim, não é estritamente necessário testar se a nota é menor que 9 novamente usando o operador &&.

Você pode simplificar a sua lógica testando apenas o limite mínimo necessário de cada faixa, deixando o seu código mais direto e enxuto:

  • if (nota >= 9) { Console.WriteLine("O aluno recebeu nota A"); }
  • else if (nota >= 7) { Console.WriteLine("O aluno recebeu nota B"); }
  • else if (nota >= 5) { Console.WriteLine("O aluno recebeu nota C"); }
  • else { Console.WriteLine("O aluno recebeu nota D"); }

A sua versão original está corretíssima e é excelente para o aprendizado e leitura humana! Mas essa pequena simplificação é uma ótima prática de desenvolvimento, pois ajuda o computador a processar menos comparações lógicas na hora de rodar o programa. Continue com esse ótimo desempenho!

Espero que possa ter lhe ajudado!