27

Решение: Три лучших ученика

ЕГЭ · Информатика · Задание 27 · Системы счисления
ВысокаяФИПИ6FF647Короткий ответ≈ 15 минутРазбор в 4 шага
Условие

На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников $N$, которое не меньше 10, но не превосходит 100. Каждая из следующих $N$ строк имеет формат: <Фамилия> <Имя> <оценки>, где <Фамилия> — строка длиной не более 20 символов, <Имя> — строка длиной не более 15 символов, а <оценки> — три целых числа, соответствующие оценкам по пятибалльной системе. Все части строки разделены одним пробелом. Требуется написать программу, которая выводит фамилии и имена трёх лучших по среднему баллу учеников. Если среди остальных есть ученики, набравшие тот же средний балл, что и один из трёх лучших, следует вывести также их фамилии и имена. Требуемые имена и фамилии можно выводить в произвольном порядке.

Пример входной строки: Иванов Петр 4 5 4

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

4 шага
1

Для каждого ученика считываем фамилию, имя и три оценки. Средние баллы можно не вычислять: число экзаменов у всех одинаково, поэтому сравнение средних баллов эквивалентно сравнению сумм оценок.

$$a_1+a_2+a_3$$
2

Сохраняем для каждого ученика его фамилию, имя и сумму оценок, затем сортируем список по сумме в порядке убывания.

3

Сумма третьего элемента отсортированного списка задаёт минимальную сумму для требуемых учеников. Выводим всех учеников с суммой не меньше этой величины, включая тех, у кого такой же средний балл, как у третьего лучшего.

Один из вариантов реализации на Python:

$$students.sort(key=lambda x: x[2], reverse=True)$$
Ответ

Считать данные, отсортировать учеников по убыванию суммы трёх оценок и вывести всех, у кого сумма не меньше суммы ученика на третьем месте.

Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Использовать вещественное среднее и получить ошибки сравнения из-за округления.

Вывести ровно трёх учеников и не учесть дополнительные совпадения среднего балла.

Сравнивать только одну из трёх оценок вместо суммы всех оценок.

Забыть, что фамилия и имя должны выводиться через пробел.

Закрепить приёмВ теме «Системы счисления» ещё 126 задач — с ответом и таким же разбором.
Тренироваться

Как решать задание 27 ЕГЭ, информатика

Разбор этой задачи разложен на 4 шага: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Системы счисления»: в ней 127 задач, и у каждой есть такой же разбор. Регистрация не нужна.