Exercício - Calcule a média das pontuações do trabalho do aluno
Neste exercício, você calculará e armazenará a média das pontuações das tarefas de cada aluno. Como você sabe o número de tarefas pontuadas para cada aluno, a média é calculada dividindo a soma das pontuações das tarefas pelo número de tarefas. Para armazenar as médias, você usará o tipo de dados Decimal.
Criar variáveis para armazenar a média
Nesta tarefa, você criará uma variável para cada aluno que pode ser usada para armazenar a pontuação média de seus trabalhos avaliados.
No Editor do .NET, localize as instruções que são usadas para exibir as
Console.WriteLine()
pontuações somadas de cada aluno.Crie uma linha de código em branco acima das
Console.WriteLine()
instruções.Na linha de código em branco que você criou, para declarar as variáveis decimais que serão usadas para as pontuações atuais dos alunos, insira o seguinte código:
decimal sophiaScore; decimal nicolasScore; decimal zahirahScore; decimal jeongScore;
Observe que você está apenas declarando as variáveis e não inicializando-as
decimal
. Você escolheu odecimal
tipo porque estava representando uma nota média e deseja incluir uma casa decimal que não estaria disponível se você usasse um inteiro. Desta forma, você pode ver se um aluno fez uma pontuação de 89,9 e subi-los de um B para um A.No exercício anterior, você inicializou as variáveis inteiras para que pudesse usá-las imediatamente na saída do console. Neste caso, essas
decimal
variáveis serão inicializadas na próxima etapa usando cálculos com seus dados existentes, começando com a pontuação de Sophia.Para atribuir a pontuação atual de Sophia na classe ao decimal
sophiaScore
, atualize a variável com o seguinte código:decimal sophiaScore = sophiaSum / currentAssignments;
Para calcular a pontuação atual de um aluno para a turma, divida a soma das pontuações das tarefas pelo número total de tarefas. Cada aluno da classe tem cinco tarefas, representadas pelas
currentAssignments
que você inicializou durante a configuração.Para atribuir as restantes pontuações dos alunos, introduza o seguinte código:
decimal nicolasScore = nicolasSum / currentAssignments; decimal zahirahScore = zahirahSum / currentAssignments; decimal jeongScore = jeongSum / currentAssignments;
Em última análise, você quer exibir as notas de cada aluno neste aplicativo. Na próxima etapa, você modificará o código para exibir a pontuação de cada aluno em vez da soma da tarefa.
Para exibir a pontuação atual de cada aluno, substitua as variáveis de soma nas instruções de exibição pelas variáveis de pontuação:
Console.WriteLine("Sophia: " + sophiaScore); Console.WriteLine("Nicolas: " + nicolasScore); Console.WriteLine("Zahirah: " + zahirahScore); Console.WriteLine("Jeong: " + jeongScore);
Reserve um minuto para considerar a abordagem incremental que você está usando para desenvolver este aplicativo.
Dividir um problema em partes menores é uma habilidade importante para os desenvolvedores. Criar seu código de forma incremental e verificar seu trabalho com frequência permite que você desenvolva rapidamente aplicativos confiáveis. Nesse caso, você pode redefinir o propósito
Console.WriteLine()
para verificar se seus cálculos estão corretos à medida que conclui cada etapa do processo.Para visualizar os valores da nota atual de cada aluno, selecione Executar.
Deverá ver o seguinte resultado:
Sophia: 94 Nicolas: 83 Zahirah: 83 Jeong: 95
Observe que as pontuações são exibidas como inteiros em vez de decimais.
Quando você deseja que o resultado de um cálculo de divisão seja um valor decimal, o dividendo ou divisor deve ser do tipo decimal (ou ambos). Ao usar variáveis inteiras no cálculo, você precisa aplicar uma técnica conhecida como casting para "converter" um inteiro em decimal.
Para o cálculo da pontuação, você pode obter um resultado decimal convertendo a variável soma ou
currentAssignments
como um tipo decimal. Nesse caso, você projetará a soma como decimal.Em suas operações de divisão, para converter uma variável inteira como decimal, atualize seu código da seguinte maneira:
decimal sophiaScore = (decimal) sophiaSum / currentAssignments; decimal nicolasScore = (decimal) nicolasSum / currentAssignments; decimal zahirahScore = (decimal) zahirahSum / currentAssignments; decimal jeongScore = (decimal) jeongSum / currentAssignments;
Você só precisa que o dividendo ou divisor seja um tipo decimal para que a divisão resulte em um valor decimal. Aqui, você lança apenas a variável soma que é usada como dividendo.
Analise a seguinte escala de classificação que o professor usa para atribuir notas de letra:
97 - 100 A+ 93 - 96 A 90 - 92 A- 87 - 89 B+ 83 - 86 B
O próximo passo é incluir uma nota de letra para cada aluno com base na sua pontuação total. Adicionar a nota da letra à saída exibida será um processo manual.
Para determinar o valor da nota atual de cada aluno, selecione Executar.
Use a nota atual de cada aluno para determinar a nota de letra apropriada, arredondando para cima ou para baixo, conforme necessário.
Para anexar a nota da letra após a pontuação numérica de cada aluno, atualize seu código da seguinte maneira:
Console.WriteLine("Sophia: " + sophiaScore + " A"); Console.WriteLine("Nicolas: " + nicolasScore + " B"); Console.WriteLine("Zahirah: " + zahirahScore + " B"); Console.WriteLine("Jeong: " + jeongScore + " A");
Verifique o seu trabalho
Nesta tarefa, você executará o código e verificará se a saída está correta.
Compare o seu código com o seguinte:
int currentAssignments = 5; int sophia1 = 93; int sophia2 = 87; int sophia3 = 98; int sophia4 = 95; int sophia5 = 100; int nicolas1 = 80; int nicolas2 = 83; int nicolas3 = 82; int nicolas4 = 88; int nicolas5 = 85; int zahirah1 = 84; int zahirah2 = 96; int zahirah3 = 73; int zahirah4 = 85; int zahirah5 = 79; int jeong1 = 90; int jeong2 = 92; int jeong3 = 98; int jeong4 = 100; int jeong5 = 97; int sophiaSum = sophia1 + sophia2 + sophia3 + sophia4 + sophia5; int nicolasSum = nicolas1 + nicolas2 + nicolas3 + nicolas4 + nicolas5; int zahirahSum = zahirah1 + zahirah2 + zahirah3 + zahirah4 + zahirah5; int jeongSum = jeong1 + jeong2 + jeong3 + jeong4 + jeong5; decimal sophiaScore = (decimal) sophiaSum / currentAssignments; decimal nicolasScore = (decimal) nicolasSum / currentAssignments; decimal zahirahScore = (decimal) zahirahSum / currentAssignments; decimal jeongScore = (decimal) jeongSum / currentAssignments; Console.WriteLine("Sophia: " + sophiaScore + " A"); Console.WriteLine("Nicolas: " + nicolasScore + " B"); Console.WriteLine("Zahirah: " + zahirahScore + " B"); Console.WriteLine("Jeong: " + jeongScore + " A");
Para executar seu código e exibir as pontuações dos alunos com notas de letra, selecione Executar.
Para verificar se o código está funcionando conforme o esperado, compare a saída do seu aplicativo com a seguinte saída:
Sophia: 94.6 A Nicolas: 83.6 B Zahirah: 83.4 B Jeong: 95.4 A
Seu código agora deve exibir as pontuações dos alunos como um valor decimal, e você deve ver a nota de letra que você atribuiu.
Se o código apresentar resultados diferentes, terá de rever o código para encontrar o erro e fazer atualizações. Execute o código novamente para ver se você corrigiu o problema. Continue atualizando e executando seu código até que seu código produza os resultados esperados.
Importante
Certifique-se de não excluir nenhum código que você escreveu até agora. Você desenvolverá esse código no próximo exercício.