Упражнение. Вычисление среднего показателя задания учащегося

Завершено

В этом упражнении вы вычислите и сохраните среднее значение оценки заданий от каждого учащегося. Так как вы знаете количество зачисленных заданий для каждого учащегося, среднее вычисляется путем деления суммы оценки заданий на число заданий. Для хранения средних значений вы будете использовать тип данных Decimal.

Создание переменных для хранения среднего

В этой задаче вы создадите переменную для каждого учащегося, которая может использоваться для хранения средней оценки для их классных заданий.

  1. В редакторе .NET найдите Console.WriteLine() инструкции, используемые для отображения суммированных показателей каждого учащегося.

  2. Создайте пустую строку кода над Console.WriteLine() операторами.

  3. В пустой строке кода, созданной, чтобы объявить десятичные переменные, которые будут использоваться для текущих показателей учащихся, введите следующий код:

    decimal sophiaScore;
    decimal nicolasScore;
    decimal zahirahScore;
    decimal jeongScore;
    
    

    Обратите внимание, что вы объявляете decimal только переменные и не инициализируете их. Вы выбрали decimal тип, так как представляли средний класс и хотите включить десятичное место, которое не будет доступно, если вы использовали целое число. Таким образом, вы можете увидеть, сделал ли студент оценку 89,9 и ударить их от B до A.

    В предыдущем упражнении вы инициализировали целые переменные, чтобы вы могли немедленно использовать их в выходных данных консоли. В этом случае эти decimal переменные будут инициализированы на следующем шаге с помощью вычислений с существующими данными, начиная с оценки Софии.

  4. Чтобы назначить текущую оценку Софии в классе десятичному sophiaScore, обновите переменную следующим кодом:

    decimal sophiaScore = sophiaSum / currentAssignments;
    
    

    Чтобы вычислить текущую оценку учащегося для класса, вы делите сумму показателей назначения на общее количество заданий. Каждый учащийся в классе имеет пять заданий, представленных currentAssignments при инициализации во время установки.

  5. Чтобы назначить остальные оценки учащихся, введите следующий код:

    decimal nicolasScore = nicolasSum / currentAssignments;
    decimal zahirahScore = zahirahSum / currentAssignments;
    decimal jeongScore = jeongSum / currentAssignments;
    
    

    В конечном счете, вы хотите отобразить оценки каждого учащегося в этом приложении. На следующем шаге вы измените код, чтобы отобразить оценку каждого учащегося, а не сумму их назначения.

  6. Чтобы отобразить текущую оценку каждого учащегося, замените переменные суммы в операторах отображения переменными оценки:

    Console.WriteLine("Sophia: " + sophiaScore);
    Console.WriteLine("Nicolas: " + nicolasScore);
    Console.WriteLine("Zahirah: " + zahirahScore);
    Console.WriteLine("Jeong: " + jeongScore);
    
    
  7. Обратите внимание на добавочный подход, который вы используете для разработки этого приложения.

    Разбиение проблемы на небольшие части является важным навыком для разработчиков. Постепенное создание кода и проверка работы позволяет быстро разрабатывать надежные приложения. В этом случае вы можете перепрофилировать Console.WriteLine() , чтобы убедиться, что расчеты верны по мере завершения каждого этапа процесса.

  8. Чтобы просмотреть значения текущего класса каждого учащегося, нажмите кнопку "Выполнить".

    Должен появиться следующий результат:

    Sophia: 94
    Nicolas: 83
    Zahirah: 83
    Jeong: 95
    
  9. Обратите внимание, что оценки отображаются как целые числа, а не десятичные.

    Если вы хотите, чтобы результат вычисления деления был десятичным значением, дивиденд или делитель должен иметь тип десятичного (или обоих). При использовании целых переменных в вычислении необходимо применить метод, известный как приведение для преобразования целочисленного числа в десятичное значение.

    Для вычисления оценки можно получить десятичный результат, приведя переменную суммы или currentAssignments как десятичный тип. В этом случае вы приведете сумму как десятичную.

  10. В операциях деления для приведения целочисленной переменной в десятичное значение обновите код следующим образом:

    decimal sophiaScore = (decimal) sophiaSum / currentAssignments;
    decimal nicolasScore = (decimal) nicolasSum / currentAssignments;
    decimal zahirahScore = (decimal) zahirahSum / currentAssignments;
    decimal jeongScore = (decimal) jeongSum / currentAssignments;
    

    Для деления требуется только дивиденд или делитель, чтобы деление привело к десятичному значению. Здесь вы приведете только переменную суммы, которая используется в качестве дивиденда.

  11. Просмотрите следующий масштаб оценки, который учитель использует для назначения букв.

    97 - 100    A+
    93 - 96     A
    90 - 92     A-
    87 - 89     B+
    83 - 86     B
    

    Следующий шаг состоит в том, чтобы включить оценку буквы для каждого учащегося на основе их общей оценки. Добавление класса букв в отображаемые выходные данные будет процессом вручную.

  12. Чтобы определить значение текущего класса каждого учащегося, выберите "Выполнить".

    Используйте текущий класс для каждого учащегося, чтобы определить соответствующий класс буквы, округление вверх или вниз по мере необходимости.

  13. Чтобы добавить оценку букв после числовой оценки каждого учащегося, обновите код следующим образом:

    Console.WriteLine("Sophia: " + sophiaScore + " A");
    Console.WriteLine("Nicolas: " + nicolasScore + " B");
    Console.WriteLine("Zahirah: " + zahirahScore + " B");
    Console.WriteLine("Jeong: " + jeongScore + " A");
    

Проверка работы

В этой задаче вы запустите код и убедитесь, что выходные данные верны.

  1. Сравните код со следующими параметрами:

    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");
    
  2. Чтобы запустить код и отобразить оценки учащихся с буквами, нажмите кнопку "Выполнить".

  3. Чтобы убедиться, что код работает должным образом, сравните выходные данные приложения со следующими выходными данными:

    Sophia: 94.6 A
    Nicolas: 83.6 B
    Zahirah: 83.4 B
    Jeong: 95.4 A
    

    Теперь код должен отображать оценки учащихся как десятичное значение, и вы увидите назначенный вами класс буквы.

    Если код отображает различные результаты, необходимо просмотреть код, чтобы найти ошибку и внести обновления. Запустите код еще раз, чтобы узнать, устранена ли проблема. Продолжайте обновлять и запускать код, пока код не выдает ожидаемые результаты.

Внимание

Не забудьте удалить любой код, который вы написали до сих пор. Этот код будет построен в следующем упражнении.