
Раздел 9
678.C4. На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат: <Фами- лия> <Инициалы> <номер школы>, где <Фамилия> — строка, со- стоящая не более чем из 20 символов, <Инициалы> — строка, со- стоящая из 4-х символов (буква, точка, буква, точка), <номер школы> — не более чем двузначный номер. <Фамилия> и <Ини- циалы>, а также <Инициалы> и <номер школы> разделены одним пробелом. Пример входной строки: Иванов П.С. 57
Требуется написать как можно более эффективную программу (ука- жите используемую версию языка программирования, например, Borland Pascal 7.0), которая определяет среднее количество участни- ков олимпиады из одной школы. Следует учитывать, что N > 1000.
679.C4. Во входном файле meteo.dat 365 строк, которые содержат информа- цию о среднесуточной температуре всех дней 2003 года. Формат ка- ждой из строк следующий: сначала записана дата в виде dd.mm (на запись номера дня и номера месяца в числовом формате отводится строго два символа, день от месяца отделен точкой), затем через пробел записано значение температуры — число со знаком плюс или минус, с точностью до 1 цифры после десятичной точки. Данная информация отсортирована по значению температуры, то есть хро- нологический порядок нарушен. Требуется написать программу на языке Паскаль или Бейсик, которая будет выводить на экран ин- формацию о месяце (месяцах) с максимальной среднемесячной тем- пературой. В первой строке вывести количество месяцев с макси- мальной среднемесячной температурой, во второй строке — номера месяцев через запятую, в третьей строке — значение максимальной среднемесячной температуры.
680.C4. На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат: <Фамилия> <Имя> <оценки>, где <Фамилия> — строка, состоя- щая не более чем из 20 символов, <Имя> — строка, состоящая не более чем из 15 символов, <оценки> — через пробел три целых чис- ла, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом. Пример входной строки: Иванов Петр 4 5 4
Требуется написать программу, которая будет выводить на экран фамилии и имена учащихся, сдавших экзамены только на 4 и 5. Требуемые имена и фамилии можно выводить в произвольном по- рядке. В случае, если таких учащихся нет, сообщите об этом.
681.C4. На вход программе подаются 365 строк, которые содержат инфор- мацию о среднесуточной температуре всех дней 2007 года. Формат каждой из строк следующий: сначала записана дата в виде dd.mm (на запись номера дня и номера месяца в числовом формате отводит- ся строго два символа, день от месяца отделен точкой), затем через пробел (для Бейсика — через запятую) записано значение темпера- туры — число со знаком плюс или минус, с точностью до 1 цифры после десятичной точки. Данная информация отсортирована по зна- чению температуры, то есть хронологический порядок нарушен. Требуется написать эффективную программу на языке Паскаль или Бейсик, которая будет выводить на экран информацию о месяцах с максимальной среднемесячной температурой. Найденные макси- мальные значения следует выводить в отдельной строке для каждого месяца в виде: номер месяца, значение среднемесячной температу- ры, округленное до одной цифры после десятичной точки.
682.C4. На вход программе подается текст заклинания, состоящего не бо- лее чем из 200 символов, заканчивающийся точкой (символ «точ- ка» во входных данных единственный). Оно было зашифровано юным волшебником следующим образом. Сначала волшебник опре- делил количество букв в самом коротком слове, обозначив полу- ченное число К (словом называется непрерывная последователь- ность латинских букв, слова друг от друга отделяются любыми другими символами, длина слова не превышает 20 символов). За- тем он. заменил каждую латинскую букву в заклинании на букву,
стоящую в алфавите на К букв ранее (алфавит считается цикличе- ским, то есть перед буквой А стоит буква Z), оставив другие симво- лы неизменными. Строчные буквы при этом остались строчными, а прописные - прописными. Требуется написать программу на языке Паскаль или Бейсик, которая будет выводить на экран текст рас- шифрованного заклинания. Например, если зашифрованный текст был таким: Zb Ra Са Dab Ra/
то результат расшифровки должен быть следующим:
Bd Тс Ее Fed Тс.
683.C4. На вход программе подаются сведения об учениках некоторой сред- ней школы. В первой строке сообщается количество учеников N, ка- ждая из следующих N строк имеет следующий формат: <Фамилия> <Имя> <класс>, где <Фамилия> — строка, состоящая не более чем из 20 символов, <Имя> — строка, состоящая не более чем из 15 сим- волов, <класс> — год обучения (от 1 до 12) и заглавная буква (от «А» до «Я») без пробела. <Фамилия> и <Имя>, а также <Имя> <класс> разделены одним пробелом. Пример входной строки: Иванов Петр 10Б
Требуется написать программу на языке Паскаль или Бейсик, кото- рая будет выводить на экран информацию о параллелях (годе обуче- ния) с наибольшим числом учеников. Программа должна выводить на экран в первой строке количество учеников в искомых паралле- лях, а во второй строке — в порядке возрастания номера этих па- раллелей через пробел. Например: 100 1 7 11
684.C4. На вход программе подаются строчные английские буквы. Ввод этих символов заканчивается точкой (другие символы, отличные от «.» и букв «а»..«г», во входных данных отсутствуют; в программе на языке Бейсик символы можно вводить по одному в строке, пока не будет введена точка). Требуется написать как можно более эффек- тивную программу (укажите используемую версию языка програм- мирования, например, Borland Pascal 7.0), которая будет печатать буквы, встречающиеся во входной последовательности, в порядке увеличения частоты их встречаемости. Каждая буква должна быть распечатана один раз. Точка при этом не учитывается. Если какие-то буквы встречаются одинаковое число раз, то они вы- водятся в алфавитном порядке. Например, пусть на вход подаются следующие символы: baobaba.
В данном случае программа должна вывести oab
685.C4.На вход программе подается текст заклинания, состоящего не бо- лее чем из 200 символов, заканчивающийся точкой (символ «точ- ка» во входных данных единственный). Оно было зашифровано юным волшебником следующим образом. Сначала волшебник опре- делил количество букв в самом коротком слове, обозначив полу- ченное число К (словом называется непрерывная последователь- ность латинских букв, слова друг от друга отделяются любыми другими символами, длина слова не превышает 20 символов). За- тем он заменил каждую латинскую букву в заклинании на сле- дующую за ней К-й по счету в алфавите (алфавит считается цик- лическим, то есть за буквой Z следует буква А), оставив другие символы неизменными. Строчные буквы при этом остались строч- ными, а прописные - прописными. Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран текст расшифрованного заклинания. На- пример, если зашифрованный текст был таким:
Bd Тс Ее Fed Тс.
то результат расшифровки должен быть следующим:
Zb Ra Са Dab Ra.
686.C4. На автозаправочных станциях (АЗС) продается бензин с маркиров- кой 92, 95 и 98. В городе N был проведен мониторинг цены бензина на различных АЗС.
Напишите эффективную, в том числе и по используемой памяти, про- грамму (укажите используемую версию языка программирования, на- пример, Borland Pascal 7.0), которая будет определять для бензина с маркировкой 92, на какой АЗС его продают по второй по минимально- сти цене (считается, что самой низкой цене потребители не доверяют),
687.C4. В некотором вузе абитуриенты проходят предварительное тестирование, по результатам которого могут быть допущены к сдаче вступительных экзаменов в первом потоке. Тести- рование проводится по трем предметам, по каждому предмету абитуриент может набрать от 0 до 100 баллов. При этом к сдаче экзаменов в первом потоке допускаются абитуриенты, набравшие по результатам тестирования не менее 30 баллов по каждому из трех предметов. На вход программы подаются сведения о результатах предварительного тестирования. Из- вестно, что обшее количество участников тестирования не превосходил 300. В первой строке вводится количество абитуриентов, принимавших участие в тестировании, N. Далее следуют N строк, имеющих следующий формат: < Фамилия > < Имя > < Баллы>.
Здесь < Фамилия > - строка, состоящая не более чем из 20 символов;
< Имя > - строка, состоящая не более чем из 15 символов;
< Баллы > - строка, содержащая три целых числа, разделенных пробелом, соответствующих баллам, полученным на тестировании по каждому из трех предметов. При этом < Фамилия > и < Имя >, < Имя > и < Баллы> разделены одним пробелом. Примеры входных строк:
Петренко Наталья 58 66 38
Антипов Сергей 99 50 72 Напишите программу, которая будет выводить на экран фамилии и имена абитуриентов, допущенных к сдаче экзаменов в первом потоке. При этом имена и фамилии можно выводить в произвольном порядке.
688.C4.На вход программы подаются сведения о результатах первенства по спортивным танцам на льду. Первенство состоит из соревнований по двум программам: обязательной и произ- вольной, участие в каждой из которых оценивается баллами от 0 до 6 (0 баллов получает пара, не принимавшая участие в соревнованиях по данному виду программы). Известно, что общее количество участников соревнований не превосходит 40. В первой строке вводится количество пар, принимавших участие в соревнованиях N. Далее следуют N строк, имеющих следующий формат: < Фамилия партнера> < Фамилия партнерши > < Баллы>.
Здесь < Фамилия партнера > — строка, состоящая не более чем из 20 символов;
< Фамилия партнерши > — строка, состоящая не более чем из 20 символов;
< Баллы > - строка, содержащая два вещественных числа, разделенных пробелом, соответствующих баллам, полученным на соревнованиях по каждой из программ.
При этом < Фамилия партнера > и < Фамилия партнерши >, < Фамилия партнерши > и < Баллы > разделены одним пробелом. Примеры входных строк: Иванов Петрова 5,8 6,0
Касьянов Сергееико 4,9 5,1 Напишите протрамму, которая будет выводить на экран фамилии спортивной пары, которая по итогам обоих соревнований имеет наименьшую сумму баллов. При этом предполагается, что такая пара одна.
689.C4. На городской олимпиаде по информатике участникам было предложено выполнить 3 зада- ния, каждое из которых оценивалось по 25-баллыюй шкале. Известно, что общее количе- ство участников первого тура олимпиады не превосходит 250 человек. На вход программы подаются сведения о результатах олимпиады.
В первой строке вводится количество участников N. Далее следуют N строк, имеющих
следующий формат: < Фамилия > < Имя > < Баллы>.
Здесь < Фамилия > - строка, состоящая не более чем из 20 символов;
< Имя > - строка, состоящая не более чем из 15 символов;
< Баллы > - строка, содержащая три целых числа, разделенных пробелом, соответствующих баллам, полученным участником за каждое задание первого тура. При этом < Фамилия > и < Имя >, < Имя > и < Баллы > разделены одним пробелом.
Примеры входных строк: Петрова Ольга 25 18 16
Калиниченко Иван 14 19 15 Напишите программу, которая будет выводить на экран фамилию и имя участника, набравшего максимальное количество баллов. Если среди остальных участников есть ученики, набравшие такое же количество баллов, то их фамилии и имена также следует вывести. При этом имена и фамилии можно выводить в произвольном порядке.
690.C4. На вход программы подаются сведения о результатах сдачи экзаменов учащимися 9-х классов некоторой школы. Известно, что общее количество учеников не превосходит 60. В первой строке вводится количество учеников, сдававших экзамены N. Далее следуют N строк, имеющих следующий формат: < Фамилия > < Имя > < Баллы>. Здесь < Фамилия > - строка, состоящая не более чем из 15 символов;
< Имя > - строка, состоящая не более чем из 10 символов;
< Баллы > - строка, содержащая четыре целых числа, разделенных пробелом, соответствующих баллам, полученным учениками на экзаменах по каждой предмету. При этом < Фамилия > и < Имя >, < Имя > и < Баллы > разделены одним пробелом. Примеры входных строк: Соловьева Марина 5 3 3 4
Яковлев Максим 4 5 5 4 Напишите программу, которая будет выводить фамилии и имена учеников, набравших максимальную сумму баллов, а также количество таких учеников.
691.C4. На вход программы подаются сведения о результатах соревнований по школьному много борью. Многоборье состоит из соревнований по четырем видам спорта, участие в каждом из которых оценивается баллами от 0 до 10 (0 баллов получает ученик, не принимавший участия в соревнованиях по данному виду спорта). Победители определяются по наиболь- шей сумме набранных баллов. Известно, что общее количество участников соревнований не превосходит 100.
В первой строке вводится количество учеников, принимавших участие в соревнованиях N. Далее следуют N строк, имеющих следующий формат; < Фамилия > < Имя > < Баллы>. Здесь < Фамилия > - строка, состоящая не более чем из 20 символов;
< Имя > - строка, состоящая не более чем из 15 символов;
< Баллы > - строка, содержащая четыре целых числа, разделенных пробелом, соответствующих баллам; полученным на соревнованиях по каждому из четырех видов спорта. При этом < Фамилия > и < Имя >, < Имя > и < Баллы> разделены одним пробелом. Примеры входных строк: Иванова Мария 5 8 6 3
Петров Сергей 9 9 5 7
Напишите программу, которая будет выводить на экран фамилии и имена трех лучших участников многоборья. Если среди остальных участников есть ученики, набравшие то же количество баллов, что и один из трех лучших, то их фамилии и имена также следует вывести. При этом имена и фамилии можно выводить в произвольном порядке.
692.C4. В некотором вузе абитуриенты проходят предварительное тестирование, по результатам которого могут быть допущены к сдаче вступительных экзаменов в первом потоке. Тестиро- вание проводится по двум предметам, по каждому предмету абитуриент может набрать от О до 100 баллов. При этом к сдаче экзаменов в первом потоке допускаются абитуриенты, на- бравшие по результатам тестирования не менее 30 баллов по каждому из двух предметов. На вход программы подаются сведения о результатах предварительного тестирования. Известно, что общее количество участников тестирования не превосходит 500 В первой строке вводится количество абитуриентов, принимавших участие в тестировании N. Далее следуют N строк, имеющих следующий формат: < Фамилия > < Имя > < Баллы>.
Здесь < Фамилия > - строка, состоящая не более чем из 20 символов;
< Имя > - строка, состоящая не более чем из 15 символов;
< Баллы > - строка, содержащая три целых числа, разделенных пробелом, соответствующих баллам, полученным на тестировании по каждому из трех предметов. При этом < Фамилия > и < Имя >, < Имя > и < Баллы> разделены одним пробелом. Примеры входных строк: Ветров Роман 68 59
Анисимова Екатерина 64 88 Напишите программу, которая будет выводить на экран фамилии и имена абитуриентов, потерпевших неудачу, то есть не допущенных к сдаче экзаменов в первом потоке. При этом имена и фамилии можно выводить в произвольном порядке.
693.C4. На вход программы подаются произвольные алфавитно-цифровые символы. Ввод этих символов заканчивается точкой.
Требуется написать программу, которая будет печатать последовательность строчных английских букв ("a" "b"... "z") из входной последовательности и частот их повторения. Печать должна происходить в алфавитном порядке. Например, пусть на вход подаются следующие символы: flib5kbfbishfra.
В этом случае программа должна вывести
Ь2
13
h2
kl
ml
si.
694.С4. Региональный этап олимпиады по экономике проводился для учени- ков 9—11-х классов, участвующих в общем конкурсе. Каждый участник олимпиады мог набрать от 0 до 50 баллов. Для определения призёров сна- чала отбираются 45% (с округлением в меньшую сторону) участников, по- казавших лучшие результаты.
По положению, в случае, когда у последнего участника, входящего в 45%, оказывается количество баллов такое же, как и у следующих за ним в итоговой таблице, решение по данному участнику и всем участни- кам, имеющим с ним равное количество баллов, определяется следующим образом:
— все участники признаются призёрами, если набранные ими баллы больше половины максимально возможных;
— все участники не признаются призёрами, если набранные ими баллы не превышают половины максимально возможных.
Напишите эффективную по времени работы и по используемой памя- ти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая по результатам олимпиады будет определять, какой минимальный балл нужно было набрать, чтобы стать призёром олимпиады. На вход программе сначала подаётся число участ- ников олимпиады N. В каждой из следующих N строк находится результат
одного из участников олимпиады в следующем формате:
< Фамилиях Имя > <Класс > <Баллы>,
где < Фамилия > — строка, состоящая не более чем из 20 символов; <Имя> — строка, состоящая не более чем из 15 символов; <Класс> — число от 9 до 11;
< Баллы > — целое число от 0 до 60 набранных участником баллов.
<Фамилия> и <Имя>, <Имя> и <класс>, а также <класс> и <бал- лы > разделены одним пробелом. Пример входной строки: Иванов Пётр 1017
Программа должна выводить минимальный балл призёра. Гаранти- руется, что хотя бы одного призёра по указанным правилам определить можно.
695.С4. У Димы есть много книг, которые он ещё не прочитал. Дима обожает толстые старые книги. Кроме того, он не любит произведения с длинными названиями. В очередной раз, когда ему надо было выбрать себе книгу, он решил воспользоваться помощью компьютера. Мальчик составил список непрочитанных книг и определил критерии, по которым необходимо вы- брать книгу: год издания должен быть ргшее 1980, количество страниц — не менее 300, а название должно быть, по возможности, самым коротким из названий книг, удовлетворяющих первым двум условиям. Гарантирует- ся, что хотя бы одна книга удовлетворяет перечисленным критериям.
Напишите эффективную по времени работы и по используемой памя- ти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая по имеющемуся каталогу непрочи- танных книг определяет количество толстых старых книг, а из них выби- рает обладающую самым коротким названием.
На вход программе сначала подаётся число имеющихся у Димы книг N. В каждой из следующих N строк находится описание какой-либо кни- ги в следующем формате:
< Фамилия автора > < Год издания > < Кол-во страниц> < Название >, где < Год издания >, < Кол-во страниц> — целые числа;
< Фамилия автора > — строка без пробелов, состоящая не более, чем из 20 символов;
< Название > — строка, состоящая не более, чем из 40 символов.
< Фамилия автора >, < Год издания >, < Кол-во страниц>, < Название > разделены между собой одним пробелом. Пример входной строки:
Казанцев 1988 637 Клокочущая пустота
Программа должна выводить количество книг в списке, изданных ра- нее 1980 года и содержащих не менее 300 страниц, и название той книги, которая при этом обладает самым коротким названием.
696.С4. Одномерный массив содержит 10000 неотрицательных целых чисел, на хранение каждого из которых отводится один байт. Составьте наиболее эффективную программу вывода на экран упорядоченных по возрастанию элементов такого массива.
697.С4. Пусть F, G — логические функции от двух логических переменных, заданные своими столбцами таблицы истинности. Составьте программу, которая по введённым столбцам таблицы истинности функций F, G выво- дит столбец истинности функции (X, У, Z) = G(F(X, У), Z).
698.С4. В 82-квартирном доме проводится проверка долгов жильцов по опла- те коммунальных услуг. Для формирования сообщений о накопившемся долге выбираются номера квартир, долг которых больше среднего по все- му дому. Если долг квартиры равен среднему по дому, то номер кварти- ры включается в результирующий набор, если средний долг больше ми- нимального долга на 260%. Если долги у всех одинаковые, то выбирает- ся первая половина (начиная с 1-й) квартир-должников и округляется в большую сторону (например, при пяти должниках будут выбраны первые 3 квартиры).
Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, на- пример, Borland Pascal 7.0), которая выбирает номера необходимых квар- тир.
На вход программы сначала вводится число квартир-должников N. В каждой из следующих N строк находятся сведения о долге одной из квар- тир в формате:
< Фамилия > <Имя> < квартира > <долг>,
100 Учебно-тренировочные тесты
где < Фамилия > — строка, состоящая не более чем из 20 символов, < Имя > — строка, состоящая не более чем из 15 символов, < квартира > — целое положительное число от 1 до 82, <долг> — положительное веществен- ное число. <Фамилия> и <Имя>, <Имя> и <квартира>, <квартира> и <долг> разделены одним пробелом.
Пример входной строки: Иванов Иван 1107.39
Программа должна выводить номера квартир-должников, подходя- щих по условию. Гарантируется, что максимальный долг не превышает 3000 рублей и каждая квартира во входных данных присутствует ровно один раз.
699.С4. В 64-квартирном доме проводится проверка долгов жильцов по опла- те коммунальных услуг. Для формирования сообщений о накопившемся долге выбираются номера квартир, долг которых превышает максималь- ный долг по всем квартирам более чем на 80%. Если долги у всех одина- ковые, то выбираются первые 60% квартир-должников, начиная с мини- мального номера (округлять следует в меньшую сторону, например, при пяти должниках будут выбраны первые 3 квартиры-должника).
Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, на- пример, Borland Pascal 7.0), которая выбирает номера необходимых квар- тир.
На вход программы сначала подаётся число квартир-должников N. В каждой из следующих N строк находится сведения о долге одной из квартир в формате: <Фамилия> <Имя> <квартира> <долг> где < Фамилия > — строка, состоящая не более чем из 20 символов,
<Имя> — строка, состоящая не более чем из 15 символов,
<квартира> — целое положительное число от 1 до 64,
<долг> — положительное вещественное число.
<Фамилия> и <Имя>, <Имя> и <квартира>, <квартира> и <долг> разделены одним пробелом.
Пример входной строки: Иванов Иван 1107.39
Программа должна выводить номера квартир-должников, подходя- щих по условию. Гарантируется, что максимальный долг не превышает 3000 и каждая квартира во вводимых данных присутствует ровно один раз.
700.C4. На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количест- во учащихся N, каждая из следующих N строк имеет формат: <Фамилий> <Инициалы> <номер школы>, где <Фамилия> — строка, состоящая не более чем из 20 символов, <Инициалы> — строка, состоящая из 4-х символов (буква, точка, буква, точка), <номер школы> — не более чем двузначный номер. <Фамилия> и <Инициалы>, а также <Инициалы> и <номер школы> разделены одним пробелом. Пример входной строки: Иванов П.С. 57
Требуется написать как можно более эффективную программу (ука- жите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию, из какой школы было больше всего участников (таких школ может быть несколько). Также программа должна подсчитать общее коли- чество школ, приславших больше всего участников. Следует учитывать, что N > 1000.
701.С4. Сведения о товарах на складе хранятся в текстовом файле. Для каж- дого товара отводится одна строка (длина строки не превышает 255 сим- волов). В начале строки записано наименование товара, а затем через произвольное количество пробелов его цена и количество единиц. Со- ставьте программу, которая по запросу выдаёт сведения о товаре или со- общение о том, что товар не найден. Пример входной строки: мука 20.00 1000.
702.С4. Сведения о книгах библиотеки хранятся в текстовом файле. Для каж- дой книги отводится одна строка (длина строки не превышает 255 сим- волов). В начале строки записана фамилия автора, а затем через про- извольное количество пробелов наименование и год издания. Составьте программу, которая осуществляет поиск книг по фамилии автора, издан- ных не ранее указанного года.
Пример входной строки: Ахматова АЛ. Сероглазый король. 2006.
703.С4. Завод по огранке драгоценных камней приобрёл сейф повышенной надёжности. Для определения драгоценных камней, которые необходимо положить в сейф, сначала отбираются 5% самых дорогих камней.
Если у самого дешёвого камня из вошедших в группу 5% самых доро- гих оказывается ценовая категория такая же, как и у нескольких других, то эти камни тоже включаются в группу камней для размещения в сей- фе повышенной надёжности в том случае, если их ценовая категория не менее 15.
Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, на- пример, Borland Pascal 7.0), которая по результатам входных данных будет определять, какую минимальную цену должен иметь драгоценный камень, чтобы его поместили в сейф повышенной надёжности.
На вход программе сначала подаётся общее количество камней на складе N. В каждой из следующих N строк находится информация по каждому камню отдельно в следующем формате:
< Название драгоценного камня > < Код > < Ценовая категория >, где < На- звание драгоценного камня > — строка, состоящая не более чем из 20 сим- волов, <Код> — строка, состоящая не более чем из 15 символов, < Цено- вая категория > — целое число от 1 до 20.
< Название драгоценного камня >, < Код > и < Ценовая категория > раз- делены одним пробелом. Пример входной строки: Рубин Р1234 13.
Программа должна выводить минимальную Ценовую категорию дра-
гоценного камня, который неооходимо положить в сеиф повышенной на- дёжности.
704.С4. Завод по огранке драгоценных камней приобрёл сейф повышенной надёжности. Для определения драгоценных камней, которые необходимо положить в сейф, сначала отбираются 10% самых дорогих камней.
Если у самого дешёвого камня из вошедших в группу 10% самых доро- гих оказывается ценовая категория такая же, как и у нескольких других, то эти камни тоже включаются в группу камней для размещения в сей- фе повышенной надёжности в том случае, если их ценовая категория не менее 25.
Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, на- пример, Borland Pascal 7.0), которая по результатам входных данных будет определять, какую минимальную цену должен иметь драгоценный камень, чтобы его поместили в сейф повышенной надёжности.
На вход программе сначала подаётся общее количество N камней на складе. В каждой из следующих N строк находится информация по каж- дому камню отдельно в следующем формате:
< Название драгоценного камня > <Код> < Ценовая категория >, где
< Название драгоценного камня > — строка, состоящая не более чем из 20 символов, <Код> — строка, состоящая не более чем из 15 символов,
< Ценовая категория > — целое число от 1 до 30.
705.С4. На вход программы подаются сведения о набранных на ЕГЭ баллах учениками данной школы по трём предметам. В первой строке сообщает- ся количество учащихся N, каждая из следующих N строк имеет формат: <Фамилия> <Инициалы> <БаллыПоРусскомуЯзыку> <БаллыПоМа- тематико <БаллыПоИнформатике>, где < Фамилия > — строка, состо- ящая не более чем из 20 символов, < Инициалы > — строка, состоящая из 4-х символов (буква, точка, буква, точка), < БаллыПоРусскомуЯзы- ку>, <БаллыПоМатематике>, <БаллыПоИнформатике> — целые чис- ла в диапазоне от 0 до 100. Все элементы одной строки отделены друг от друга пробелом. Пример входной строки: Петров С.Н. 78 82 70
Требуется написать как можно более эффективную программу (ука- жите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран фамилии и инициалы уче- ников, набравших максимальную сумму баллов по трём предметам (таких учеников может быть несколько), а также набранную ими сумму баллов.
Следует учитывать, что N < 100.
706.С4. На вход программы подаются сведения о набранных на ЕГЭ баллах учениками данной школы по трём предметам. В первой строке сообщает- ся количество учащихся N, каждая из следующих N строк имеет формат: <Фамилия > < Инициалы> <БаллыПоРусскомуЯзыку> <БаллыПоМа- тематике> <БаллыПоИнформатике>, где <Фамилия> — строка, состо- ящая не более чем из 20 символов, < Инициалы> — строка, состоящая из 4-х символов (буква, точка, буква, точка), < БаллыПоРусскомуЯзы- ку>, <БаллыПоМатематике>, <БаллыПоИнформатике> — целые чис- ла в диапазоне от 0 до 100. Все элементы одной строки отделены друг от друга пробелом. Пример входной строки: Петров С.Н. 78 82 70
Требуется написать как можно более эффективную программу (ука- жите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран фамилии и инициалы уче- ников, набравших минимальное среднее арифметическое баллов по трём предметам, отличное от 0 (таких учеников может быть несколько), а также среднее арифметическое набранных ими баллов.
Следует учитывать, что N ^ 100.
707.С4. На вход программы подаются сведения о набранных на ЕГЭ баллах учениками данной школы по трём предметам. В первой строке сообщает- ся количество учащихся N, каждая из следующих N строк имеет формат: < Фамилия > < Инициалы > <БаллыПоРусскомуЯзыку> <БаллыПоМа- тематике> <БаллыПоИнформатике>, где <Фамилия> — строка, состо- ящая не более чем из 20 символов, <Инициалы> — строка, состоящая из 4-х символов (буква, точка, буква, точка), <БаллыПоРусскомуЯзы- ку>, <БаллыПоМатематике>, <БаллыПоИнформатике> — целые чис- ла в диапазоне от 0 до 100. Все элементы одной строки отделены друг от друга пробелом. Пример входной строки: Петров СИ. 78 82 70
Требуется написать как можно более эффективную программу (ука- жите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран фамилии, инициалы и сред- ний балл по трём предметам всех учеников в порядке убывания среднего балла. Следует учитывать, что N < 100.
708.С4. На вход программы подаются сведения о набранных на ЕГЭ баллах учениками данной школы по трём предметам. В первой строке сообщает- ся количество учащихся N9 каждая из следующих N строк имеет форрцрт: < Фамилия > < Инициалы > <БаллыПоРусскомуЯзыку> <БаллыПоМа- тематике> <БаллыПоИнформатике>, где < Фамилия> — строка, состо- ящая не более чем из 20 символов, < Инициалы > — строка, состоящая из 4-х символов (буква, точка, буква, точка), <БаллыПоРусскомуЯзы- ку>, <БаллыПоМатематике>, <БаллыПоИнформатике> — целые чис- ла в диапазоне от 0 до 100. Все элементы одной строки отделены друг от друга пробелом. Пример входной строки: Петров С.Н. 78 82 70
Требуется написать как можно более эффективную программу (ука- жите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран в порядке убывания среднего балла фамилии, инициалы и средний балл по математике и информатике таких учеников, которые по русскому языку получили не менее 30 баллов.
Следует учитывать, что N ^ 100.
709.С4. Требуется написать как можно более эффективную программу (ука- жите используемую версию языка программирования, например, Borland Pascal 7.0), на вход которой подаётся натуральное число N. Программа должна разложить это число на простые множители. На выходе долж- но быть распечатано разложение числа, в котором указано произведение простых сомножителей с указанием их степеней (без повторений самих сомножителей).
Например, для N = 2000 верным выводом является строка: 2А4 * 5А3 и неверным выводом — строка: 2*2*2*2*2*5*5*5 или 16 * 125.
710.С4. На вход программы подаются коэффициенты многочленов аnхn + an-1xn-1 +… + а1х + ао и btхt + bt-1хt-1 +... + b1х + bо (n, t < 100). Коэффициенты вводятся с клавиатуры в следующем поряд- ке:
1) число n,
2) коэффициенты первого многочлена,
3) число 771,
4) коэффициенты второго многочлена.
Требуется написать как можно более эффективную программу, вычис- ляющую произведение этих многочленов и выводящую на экран:
1) показатель при старшей степени в произведении многочленов,
2) коэффициенты в произведениях по порядку, начиная со старшего.
711.С4. На вход программе подаётся 31 строка. Они содержат информацию о дневных и ночных температурах декабря 2008 года. Формат каждой из строк следующий: сначала записана дата в виде dd (на запись номера дня
в числовом формате отводится строго два символа), затем через пробел записаны значения дневной и ночной температур — числа со знаком плюс или минус.
Требуется написать программу, которая будет выводить на экран ин- формацию о дне (днях), среднесуточная температура которого (которых) наименее отклоняется от среднемесячной. В первой строке вывести сред- немесячную температуру. Найденные значения для каждого из дней сле- дует выводить в отдельной строке в виде: номер дня, значение среднесу- точной температуры, отклонение от среднемесячной температуры.
712.С4. На вход программе подаётся 31 строка. Строки содержат информа- цию о дневных и ночных температурах декабря 2008 года. Формат каждой из строк следующий: сначала записана дата в виде dd (на запись номера дня в числовом формате отводится строго два символа), затем через про- бел записаны значения дневной и ночной температур — числа со знаком плюс или минус. Даты вводятся в порядке возрастания. Требуется напи- сать программу, которая будет выводить на экран информацию о периодах непрерывного повышения среднесуточной температуры. Найденные зна- чения для каждого из периодов следует выводить в отдельной строке в ви- де: номер первого дня периода, номер последнего дня периода, значение среднесуточной температуры за период.
Примечание. Оба игрока стремятся выиграть и поэтому не делают за- ведомо проигрышные ходы. Говорят, что у игрока есть выигрышная стра- тегия, если он может играть так, чтобы победить при любых действиях оп- понента.
713.С4. Даны 8 чисел. Известно, что они являются частью арифметической прогрессии из 10 чисел. Напишите программу или опишите алгоритм, ко- торый восстанавливает два недостающих члена прогрессии. В случае, ее-
ли однозначно восстановить элементы прогрессии не удаётся, необходимо предложить все различные варианты восстановления двух недостающих членов последовательности.
Входные данные: вещественные числа ах, а2,..., а8.
Выходные данные: по два вещественных числа, удовлетворяющих усло- вию задачи, для каждого варианта решения. Каждая пара в отдельной строке и числа в ней разделены пробелом.
714.С4. Напишите программу или опишите алгоритм решения уравнения ах2 + bх + с = 0. На входе программы (алгоритма) числа а, b и с. Резуль- татом работы программы (алгоритма) являются значения переменной х, являющиеся решениями указанного выше уравнения.
Примечание. Решением уравнения называется любое число, при под- становке которого вместо переменной ж, уравнение превращается в вер- ное числовое равенство.
Входные данные: вещественные числа а, b, с.
Выходные данные: решения уравнения или сообщение о том, что их
нет.