Задание 27 ЕГЭ по информатике · 6FF647
Программа и описание алгоритмаВысокаяКЭС 3.2КЭС 3.3
На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100. Каждая из следующих N строк имеет формат: <Фамилия> <Имя> <оценки>, где <Фамилия> — строка длиной не более 20 символов, <Имя> — строка длиной не более 15 символов, а <оценки> — три целых числа, соответствующие оценкам по пятибалльной системе. Все части строки разделены одним пробелом. Требуется написать программу, которая выводит фамилии и имена трёх лучших по среднему баллу учеников. Если среди остальных есть ученики, набравшие тот же средний балл, что и один из трёх лучших, следует вывести также их фамилии и имена. Требуемые имена и фамилии можно выводить в произвольном порядке.
Пример входной строки: Иванов Петр 4 5 4
Пример входной строки: Иванов Петр 4 5 4
Развёрнутый ответ: проверяется по критериям ФИПИ.
Подсказки (3)
- Можно ли сравнивать средние баллы без вычисления вещественных чисел?
- У всех учеников одинаковое число экзаменов, поэтому сравнивайте суммы трёх оценок. Найдите сумму, соответствующую третьему месту.
- Сохраните записи учеников вместе с суммами оценок, отсортируйте их по убыванию суммы и выведите всех учеников, чья сумма не меньше суммы ученика на третьей позиции.
Решение
1. Для каждого ученика считываем фамилию, имя и три оценки. Средние баллы можно не вычислять: число экзаменов у всех одинаково, поэтому сравнение средних баллов эквивалентно сравнению сумм оценок.
a1+a2+a3
2. Сохраняем для каждого ученика его фамилию, имя и сумму оценок, затем сортируем список по сумме в порядке убывания.
3. Сумма третьего элемента отсортированного списка задаёт минимальную сумму для требуемых учеников. Выводим всех учеников с суммой не меньше этой величины, включая тех, у кого такой же средний балл, как у третьего лучшего.
4. Один из вариантов реализации на Python:
students.sort(key=lambdax:x[2],reverse=True)
a1+a2+a3
2. Сохраняем для каждого ученика его фамилию, имя и сумму оценок, затем сортируем список по сумме в порядке убывания.
3. Сумма третьего элемента отсортированного списка задаёт минимальную сумму для требуемых учеников. Выводим всех учеников с суммой не меньше этой величины, включая тех, у кого такой же средний балл, как у третьего лучшего.
4. Один из вариантов реализации на Python:
students.sort(key=lambdax:x[2],reverse=True)
Частые ошибки
- Использовать вещественное среднее и получить ошибки сравнения из-за округления.
- Вывести ровно трёх учеников и не учесть дополнительные совпадения среднего балла.
- Сравнивать только одну из трёх оценок вместо суммы всех оценок.
- Забыть, что фамилия и имя должны выводиться через пробел.
Источник: Открытый банк ФИПИ
Похожие задания
27На спутнике «Восход» установлен прибор, предназначенный для измерения солнечной активности. В течение времени…Программа и описание алгоритма · 39143827Рассматриваются все пары различных элементов последовательности: элементы пары не обязаны стоять в…Программа и описание алгоритма · 559E6927Дана последовательность N целых положительных чисел. Рассматриваются все пары элементов последовательности…Программа и описание алгоритма · 5D03DA27Рассматриваются все пары различных элементов последовательности, находящихся на расстоянии не меньше чем 5…Программа и описание алгоритма · 6A655827Дана последовательность N целых положительных чисел. Рассматриваются все пары элементов последовательности…Программа и описание алгоритма · 7BD73827Рассматриваются все пары различных элементов последовательности: элементы пары не обязаны стоять рядом…Программа и описание алгоритма · 8180D727Дана последовательность N целых положительных чисел. Рассматриваются все пары элементов последовательности…Программа и описание алгоритма · 8F133027Рассматриваются все пары различных элементов последовательности: элементы пары не обязаны стоять в…Программа и описание алгоритма · 902B84
Нужен репетитор по информатике?
Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.
Готовьтесь к ЕГЭ по информатике в Precettore
Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.