Перейти к содержанию

🗒 Задача

Задача на среднее арифметическое. В классе с углубленным изучением английского языка учится 4 человека. У них следующие баллы по профильному предмету 3, 4, 3, 5. Пишем часть школьного софта, который посчитает средний балл по английскому для этого класса.

  • Написать выражение, которое высчитывает средний балл;

  • Распечатать результат в консоль;

  • В консоли должно быть выведено дробное с 2 знаками после запятой.

❌ Ошибки

✏️ Комментарии

Напоминаю, все арифметические знаки обосабливаются пробелами.

В IDEA есть автоформатирование кода: Находясь в файле Ctrl+Alt+L (для windows) или ⌥+⌘+L (для osx). Рекомендую взять в привычку прожимать автоформат всегда перед коммитом, чтобы все отступы и пробелы расставить по своим местам. 
Все таки не совсем корректно с точки зрения логики, количество студентов не может быть вещественным числом (дробным).
Однако, баллы могли бы быть дробными, или же можно применить .toFloat() для суммы оценок в момент подсчета
а давай немного сократим код. если применить приведение типа toDouble() к количеству участников, результат должен быть таким же)
а для чего тогда объявлять переменные выше, если тут ты используешь их значения?
Используй переменные. И еще, обрати внимание на форматирование, в idea в Меню Code -> Reformat Code
нужно инициализировать переменные с более осмысленными названиями. человек, который впервые увидит код - не поймет для чего он нужен и что тут происходит
Все арифметические знаки следует обосабливать пробелами
А чем обусловлена изменяемая переменная? Мы ее никак не перезаписываем после инициализации
да, все верно. Единственное - тут пробелов не хватает после запятых.
Неплохо, можно еще применить экстеншн `sum()` для нахождения суммы.
Обращаю внимание, что изменяемая переменная тут не нужна. В коде она инициализируется только один раз и больше никак не перезаписывается
Предлагаю еще вынести количество учеников в переменную. Кроме того это [магическое число](https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)#%D0%9F%D0%BB%D0%BE%D1%85%D0%B0%D1%8F_%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F), что тоже не является хорошей практикой.

🧾 Решение

fun main() {
    val numberOfStudents = 4
    val mark1 = 3.0
    val mark2 = 6.0
    val mark3 = 3.0
    val mark4 = 5.0
    val markAverage = (mark1 + mark2 + mark3 + mark4) / numberOfStudents

    println(markAverage)
}
// продвинутый вариант
fun main() {
        val grades = listOf<Int>(3, 4, 3, 5)
    val sumOfGrades = grades.sum().toFloat()

    print(String.format("Средний балл: %.2f", sumOfGrades / grades.size))
}