Задание №16 — Алгоритмы и программирование
Напишите программу для решения следующей задачи.
На зачётной работе по физике ученикам 9 класса было предложено 12 задач. Зачёт можно получить, если правильно решить не менее 8 задач. Сколько учеников получило зачёт? Вычислите среднее количество правильно решённых задач учащимися, получившими зачёт. Гарантируется, что хотя бы один ученик сдал зачёт.
Программа получает на вход количество учеников в классе N (1 ≤ N ≤ 30), затем для каждого ученика вводится количество правильно решённых задач.
Пример работы программы:
Входные данные | Выходные данные |
4 3 9 10 6 | 2 9.5 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо последовательно обработать данные о каждом ученике, проверить выполнение условия зачёта и вычислить требуемые показатели.
Шаг 1: Анализ условий.
По условию задачи, зачёт ставится, если количество решённых задач . Нам нужно найти:
1. Количество таких учеников (счётчик).
2. Среднее арифметическое задач, решённых именно этими учениками. Среднее арифметическое вычисляется как сумма всех решённых задач, делённая на количество учеников.
Шаг 2: Описание алгоритма.
1. Сначала считываем общее количество учеников .
2. Создаём переменные-счётчики: count_pass (для количества сдавших) и sum_tasks (для суммы их задач). Изначально они равны .
3. В цикле от до считываем количество задач , решённых очередным учеником.
4. Внутри цикла проверяем условие: если , то увеличиваем count_pass на , а к sum_tasks прибавляем значение .
5. После завершения цикла выводим count_pass.
6. Вычисляем среднее значение как и выводим его на экран.
Шаг 3: Реализация на языке программирования (Python).
n = int(input())
count_pass = 0
sum_tasks = 0
for i in range(n):
k = int(input())
if k >= 8:
count_pass += 1
sum_tasks += k
print(count_pass)
print(sum_tasks / count_pass)
Шаг 4: Проверка на примере.
Ввод: ученика. Задачи: .
- Ученик 1: (не сдал).
- Ученик 2: (сдал). count_pass = 1, sum_tasks = 9.
- Ученик 3: (сдал). count_pass = 2, sum_tasks = 9 + 10 = 19.
- Ученик 4: (не сдал).
Итого: количество сдавших — . Среднее: .
Ответ: Программа выведет число 2 и число 9.5.
Источник: ФИПИ