Шрифт:
Далее идет выражение, которое определяет главную точку входа для программы.
Это выражение точно такое же, как то, которое мы использовали для HelloWorld.
Это похоже на написание формального письма, которое начинается с фирменного бланка.
Первая часть программы здесь является определением или объявлением переменных.
И я вернусь к этой теме позже.
То, что вы здесь найдете, достаточно хорошо соответствует спецификациям входных и выходных данных и другой информации, которую мы придумали на этапе анализа задачи.
Порядок определения здесь не имеет значения.
Так как мы решили, что веса должны быть предопределены, мы также определяем эти имена в первую очередь.
Имена 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.
Ответ:
1. Минимальное значение диапазона 0.
2. Максимальное значение диапазона 100.
3. За минимальной границей -1.
4. За максимальной границей 100.
5. В диапазоне 50.
Такой метод тестирования называется тестированием границ.
Идентификаторы
Как вы видели в предыдущих примерах, такие имена, как HelloWorld и CourseGrade были использованы в качестве имен для классов (или программ), а имена examWeight, examScore, labScroe и т.д. были определены в программе CourseGrade.
Эти имена называются идентификаторами.
Ранее мы говорили о абстракции, и в Java, как и в большинстве языков программирования высокого уровня, можно связать значения или атрибуты определенного типа с идентификатором.
Это очень важное понятие, потому что для человека, намного легче помнить имена, а не ряд чисел, таких как идентификационный номер страховки.
Хотя каждый из нас был связан с различными идентификационными номерами, например, номер паспорта, многие из вас, возможно, не помнят все эти цифры, но я уверен, что вы не забудете свое имя или ваших друзей и членов семьи.
Одним из больших преимуществ в языках программирования высокого уровня является то, что можно использовать значимые символы для представления объектов, в отличие от машинного языка, где все представляется в виде 0 и 1.
Именование идентификаторов должно следовать определенным правилам в Java.
В Java, правильный идентификатор, это последовательность символов, состоящая из букв от А до Я в нижнем регистре и верхнем регистре, символа подчеркивания и знака доллара, также могут быть использованы и цифры от нуля до девяти, за исключением того, что цифра не может быть использована в качестве первого символа идентификатора.