Это похоже на написание формального письма, которое начинается с фирменного бланка.
Первая часть программы здесь является определением или объявлением переменных.
И я вернусь к этой теме позже.
То, что вы здесь найдете, достаточно хорошо соответствует спецификациям входных и выходных данных и другой информации, которую мы придумали на этапе анализа задачи.
Порядок определения здесь не имеет значения.
Так как мы решили, что веса должны быть предопределены, мы также определяем эти имена в первую очередь.
Имена examScore, labScore и hwScore соответствуют входным данным, в то время как finalgrade представляет желаемый результат.
И обратите внимание, что эта часть программы предусматривает некоторые пояснения, что каждое из этих имен означает.
Я должен отметить, что существует также краткое описание цели программы в самом начале.
Это комментарии, которые следуют определенному формату.
Я вернусь к комментариям программ позже.
Для основной части программы, вы можете увидеть, что каждый основной раздел программы, который описывается комментарием, соответствует шагу алгоритма, как это было предусмотрено в алгоритме.
Вы должны также заметить, что различные участки кода идут с отступом. Это поможет улучшить читаемость программы.
И обратите внимание, что блок операторов в шаге «Ask student to input scores for exam, lab and homework» будет предлагать пользователю ввести оценки экзамена, лабораторной и домашних заданий с помощью объявления IO – IO.output и IO.inputDouble.
И существует еще одно объявление IO.outputln на шаге «Output the final grade».
Я вернусь к этим объявлениям IO, когда мы будем обсуждать простой ввод-вывод IO позже.
Следующим шагом после реализации решения, это придумать план тестирования для этой реализации.
Подумайте о том, что будет считаться хорошим набором входных чисел для оценок экзаменов, лабораторных и домашних работ для тестирования программы.
Задача
Как уже говорилось, важно придумать план тестирования, чтобы проверить, работает ли программа как ожидалось. В примере CourseGrade, вы можете протестировать программу на разных входных значениях для examScore, labScore и hwScore.
Учитывая только examScore, попробуйте придумать план тестирования из 5 осмысленно различных тестов, при условии, что диапазон фактических баллов составляет от 0 до 100.