Демоверсия ЕГЭ 2011
задание С4
задание С4
Уровень сложности задания: высокий
Максимальный балл за задание: 3.
Примерное время выполнения: 30 мин.
Вариант 1
На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат: ‹Фамилия› ‹Имя› ‹оценки›, где ‹Фамилия› — строка, состоящая не более чем из 20 символов, ‹Имя› — строка, состоящая не более чем из 15 символов, ‹оценки› — через пробел три целых числа, соответствующие оценкам по пятибалльной системе. ‹Фамилия› и ‹Имя›, а также ‹Имя› и ‹оценки› разделены одним пробелом. Пример входной строки:
Иванов Петр 4 5 4
Требуется написать программу, которая будет выводить на экран фамилии и имена учащихся, сдавших экзамены только на 4 и 5. Требуемые имена и фамилии можно выводить в произвольном порядке. В случае, если таких учащихся нет, сообщите об этом.
Вариант 2
На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат: ‹Фамилия› ‹Инициалы› ‹номер школы›, где ‹Фамилия› — строка, состоящая не более чем из 20 символов, ‹Инициалы› — строка, состоящая из 4-х символов (буква, точка, буква, точка), ‹номер школы› — не более чем двузначный номер. ‹Фамилия› и ‹Инициалы›, а также ‹Ини-циалы› и ‹номер школы› разделены одним пробелом. Пример входной строки:
Иванов П.С. 57
Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию, из какой школы было больше всего участников (таких школ может быть несколько). Также программа должна подсчитать общее количество школ, приславших больше всего участников.
Следует учитывать, что N ≥ 1000.
Вариант 3
На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат: ‹Фамилия› ‹Инициалы› ‹номер школы› где ‹Фамилия› — строка, состоящая не более чем из 20 символов, ‹Инициалы› — строка, состоящая из 4-х символов (буква, точка, буква, точка), ‹номер школы› — не более чем двузначный номер. ‹Фамилия› и ‹Ини-диалы›, а также ‹Инкциалы› и ‹номер шко-лы› разделены одним пробелом. Пример входной строки:
Иванов П.С. 57
Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая определяет среднее количество участников олимпиады из одной школы.
Следует учитывать, что N ≥ 1000.
Вариант 4
Во входном файле xneteo.dat 365 строк, которые содержат информацию о среднесуточной температуре всех дней 2003 года, Формат каждой из строк следующий: сначала записана дата з виде dd.mm (на запись номера дня и номера месяца в числовом формате отводится строго два символа, день от месяца отделен точкой), затем через пробел записано значение температуры — число со знаком плюс или минус, с точностью до 1 цифры после десятичной точки. Данная информация отсортирована по значению температуры, то есть хронологический порядок нарушен. Требуется написать программу на языке Паскаль или Бейсик, которая будет выводить на экран информацию о месяце (месяцах) с максимальной среднемесячной температурой. В первой строке вывести количество месяцев с максимальной среднемесячной температурой, во второй строке — номера месяцев через запятую, в третьей строке — значение максимальной среднемесячной температуры.
Вариант 5
На вход программе подаются 365 строк, которые содержат информацию о среднесуточной температуре всех дней 2007 года. Формат каждой из строк следующий: сначала записана дата в виде dd.mm (на запись номера дня и номера месяца в числовом формате отводится строго два символа, день от месяца отделен точкой), затем через пробел (для Бейсика — через запятую) записано значение температуры — число со знаком плюс или минус, с точностью до 1 цифры после десятичной точки. Данная информация отсортирована по значению температуры, то есть хронологический порядок нарушен. Требуется написать эффективную программу на языке Паскаль или Бейсик, которая будет выводить на экран информацию о месяцах с максимальной среднемесячной температурой. Найденные максимальные значения следует выводить в отдельной строке для каждого месяца в виде: номер месяца, значение среднемесячной температуры, округленное до одной цифры после десятичной точки.
Вариант 6
На вход программе подается текст заклинания, состоящего не более чем из 200 символов, заканчивающийся точкой (символ «точка» во входных данных единственный). Оно было зашифровано юным волшебником следующим образом. Сначала волшебник определил количество букв в самом коротком слове, обозначив полученное число К (слозом называется непрерывная последовательность латинских букв, слова друг от друга отделяются любыми другими символами, длина слова не превышает 20 символов). Затем он заменил каждую латинскую букву в заклинании на букву, стоящую в алфавите на К букв ранее (алфавит считается циклическим, то есть перед буквой А стоит буква Z), оставив другие символы неизменными. Строчные буквы при этом остались строчными, а прописные - прописными. Требуется написать программу на языке Паскаль или Бейсик, которая будет выводить на экран текст расшифрованного заклинания. Например, если зашифрованный текст был таким:
Zb Ra Ca Dab Ra,
то результат расшифровки должен быть следующим:
Bd Тс Еc Fcd Тс.
Вариант 7
На вход программе подается текст заклинания, состоящего не более чем из 200 символов, заканчивающийся точкой (символ «точка» во входных данных единственный). Оно было зашифровано юным волшебником следующим образом. Сначала волшебник определил количество букв в самом коротком слове, обозначив полученное число К (словом называется непрерывная последовательность латинских букв, слова друг от друга отделяются любыми другими символами, длина слова не превышает 20 символов). Затем он заменил каждую латинскую букву в заклинании на следующую за ней К-й по счету в алфавите (алфавит считается циклическим, то есть за буквой Z следует буква А), оставив другие символы неизменными. Строчные буквы при этом остались строчными, а прописные - прописными. Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран текст расшифрованного заклинания. Например, если зашифрованный текст был таким:
Bd Тс Еc Fcd Тс.
то результат расшифровки должен быть следующим:
Zb Ra Ca Dab Ra.
Вариант 8
На вход программе подаются сведения об учениках некоторой средней школы. В первой строке сообщается количество учеников N, каждая из следующих N строк имеет следующий формат: ‹Фамилия› ‹Имя› ‹класс›, где ‹Фамилия› — строка, состоящая не более чем из 20 символов, ‹Имя› — строка, состоящая не более чем из 15 символов, ‹класс› — год обучения (от 1 до 12) и заглавная буква (от «А» до «Я») без пробела. ‹Фамилия› и ‹Имя›, а также ‹Имя› ‹класс› разделены одним пробелом. Пример входной строки:
Иванов Петр 10Б
Требуется написать программу на языке Паскаль или Бейсик, которая будет выводить на экран информацию о параллелях (годе обучения) с наибольшим числом учеников. Программа должна выводить на экран в первой строке количество учеников в искомых параллелях, а во второй строке — в порядке возрастания номера этих параллелей через пробел. Например:
100
1 7 11
Вариант 9
На вход программе подаются строчные английские буквы. Ввод этих символов заканчивается точкой (другие символы, отличные от «.» и букв « а »..« z », во входных данных отсутствуют; в программе на языке Бейсик символы можно вводить по одному в строке, пока не будет введена точка). Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет печатать буквы, встречающиеся во входной последовательности, в порядке увеличения частоты их встречаемости. Каждая буква должна быть распечатана один раз. Точка при этом не учитывается.
Если какие-то буквы встречаются одинаковое число раз, то они выводятся в алфавитном порядке. Например, пусть на вход подаются следующие символы:
baobaba.
В данном случае программа должна вывести
oab
Вариант 10
На автозаправочных станциях (АЗС) продается бензин с маркировкой 92, 95 и 98. В городе N был проведен мониторинг цены бензина на различных АЗС.
личных АЗС.
Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет определять для бензина с маркировкой 92, на какой АЗС его продают по второй по минимальности цене (считается, что самой низкой цене потребители не доверяют), а если таких АЗС несколько, то выдается только количество таких АЗС. Если все АЗС, у которых 92-й бензин есть, продают его по одной и той же цене, то эта цена считается искомой и выдается либо число таких АЗС, когда их несколько, либо конкретная АЗС, если она одна. Гарантируется, что хотя бы одна АЗС 92-й бензин продает. На вход программе сначала подается число данных о стоимости бензина N. В каждой из следующих N строк находится информация в следующем формате: ‹Компания› ‹Улица› ‹Марка› ‹Це-на›, где ‹Компания› - строка, состоящая не более чем из 20 символов без пробелов, ‹Ули-ца› - строка, состоящая не более чем из 20 символов без пробелов, ‹Марка› - одно из чисел - 92, 95 или 98, ‹Цена› - целое число в диапазоне от 1000 до 3000, обозначающее стоимость одного литра бензина в копейках. ‹Компания› и ‹Улица›, ‹Улица› и ‹Марка›, а также ‹Марка› и ‹цена› разделены ровно одним пробелом. Пример входной строки:
СуперБенз Цветочная 92 1950
Программа должна выводить через пробел Компанию и Улицу искомой АЗС или их количество, если искомых вариантов несколько. Пример выходных данных:
Бензинчик Перспективная
Второй вариант выходных данных: 4