Задание 27 ЕГЭ по информатике · 6FF647

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

Развёрнутый ответ: проверяется по критериям ФИПИ.

Подсказки (3)
  1. Можно ли сравнивать средние баллы без вычисления вещественных чисел?
  2. У всех учеников одинаковое число экзаменов, поэтому сравнивайте суммы трёх оценок. Найдите сумму, соответствующую третьему месту.
  3. Сохраните записи учеников вместе с суммами оценок, отсортируйте их по убыванию суммы и выведите всех учеников, чья сумма не меньше суммы ученика на третьей позиции.
Решение
1. Для каждого ученика считываем фамилию, имя и три оценки. Средние баллы можно не вычислять: число экзаменов у всех одинаково, поэтому сравнение средних баллов эквивалентно сравнению сумм оценок.
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 подберёт репетитора и свяжется с вами.

Готовьтесь к ЕГЭ по информатике в Precettore

Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.