Решение: Зачёт по результатам работы
Напишите программу для решения следующей задачи.
На зачётной работе по физике ученикам 9 класса было предложено 12 задач. Зачёт можно получить, если правильно решить не менее 8 задач. Сколько учеников получило зачёт? Вычислите среднее количество правильно решённых задач учащимися, получившими зачёт. Гарантируется, что хотя бы один ученик сдал зачёт.
Программа получает на вход количество учеников в классе N (1 ≤ N ≤ 30), затем для каждого ученика вводится количество правильно решённых задач.
Пример входных данных: 4, 3, 9, 10, 6. Пример выходных данных: 2, 9.5.
Решение по шагам
4 шагаСчитываем количество учеников и создаём переменные для количества сдавших зачёт и суммы решённых ими задач.
$$count = 0, total = 0$$Для каждого ученика считываем количество правильно решённых задач. Если ученик решил не менее 8 задач, увеличиваем счётчик и добавляем результат к сумме.
$$x \geq 8 \Rightarrow count = count + 1,\ total = total + x$$Среднее количество правильно решённых задач вычисляется делением суммы на количество сдавших зачёт.
$$average = \dfrac{total}{count}$$Выводим количество сдавших и найденное среднее значение.
Пример программы на Python:
n = int(input())
count = 0
total = 0
for _ in range(n):
solved = int(input())
if solved >= 8:
count += 1
total += solved
print(count)
print(total / count)
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Учитывают только учеников, решивших более 8 задач, хотя зачёт получают решившие не менее 8 задач.
Вычисляют среднее по всем ученикам, а не только по получившим зачёт.
Делят сумму на общее количество учеников вместо количества сдавших зачёт.
Забывают преобразовать результат деления в вещественное число.