Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задачи С4.doc
Скачиваний:
5
Добавлен:
08.08.2019
Размер:
145.41 Кб
Скачать

С4. Обработка символьных величин

1. Ввести имя, отчество и фамилию. Преобразовать их к формату «фамилия-инициалы».

Пример:

Введите имя, фамилию и отчество:

Василий Алибабаевич Хрюндиков

Результат:

Хрюндиков В.А.

2. Ввести имя файла (возможно, без расширения) и изменить его расширение на «.exe».

Пример:

Введите имя файла:

qqq

Результат:

qqq.exe

Введите имя файла:

qqq.com

Результат:

qqq.exe

3. Ввести путь к файлу и «разобрать» его, выводя каждую вложенную папку с новой строки

Пример:

Введите путь к файлу:

C:\Мои документы\10-Б\Вася\qq.exe

Результат:

C:

Мои документы

10-Б

Вася

qq.exe

4. С клавиатуры вводится число N, обозначающее количество футболистов команды «Шайба», а затем – N строк, в каждой из которых – информация об одном футболисте таком формате:

<Фамилия> <Имя> <год рождения> <голы>

Все данные разделяются одним пробелом. Нужно подсчитать, сколько футболистов, родившихся в период с 1988 по1990 год, не забили мячей вообще.

5. С клавиатуры вводится число N, обозначающее количество футболистов команды «Шайба», а затем – N строк, в каждой из которых – информация об одном футболисте таком формате:

<Фамилия> <Имя> <год рождения> <голы>

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

Пример:

Иванов Василий 25

6. С клавиатуры вводится число N, обозначающее количество футболистов команды «Шайба», а затем – N строк, в каждой из которых – информация об одном футболисте таком формате:

<Фамилия> <Имя> <год рождения> <голы>

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

Пример:

Васильев Иван

Иванов Василий

Кутузов Михаил

Пупкин Василий

7. На вход программе подается текст заклинания, состоящего не более, чем из 200 символов, заканчивающийся точкой (другие точки во входных данных отсутствуют). Гарри Поттеру нужно зашифровать его следующим образом. Сначала Гарри определяет количество букв в самом коротком слове, обозначив полученное число через K (словом называется непрерывная последовательность английских букв, слова друга от друга отделяются любыми другими символами, длина слова не превышает 20 символов). Затем он заменяет каждую английскую букву в заклинании на букву, стоящую в английском алфавите на K букв ранее (алфавит считается циклическим, то есть, перед буквой A стоит буква Z), оставив другие символы неизменными. Строчные буквы при этом остаются строчными, а прописные – прописными. Требуется написать программу для Гарри Поттера, которая будет выводить на экран текст зашифрованного заклинания. Например, если исходный текст был таким: Zb Ra Ca Dab Ra.

то результат шифровки должен быть следующий:

Xz Py Ay Byz Py.

8. На вход программы подаются 365 строк, которые содержат информацию о среднесуточной температуре всех дней 2007 года. Формат каждой из строк следующий: сначала записана дата в виде dd.mm (на запись номера дня и номера месяца в числовом формате отводится строго два символа, день от месяца отделен точкой), затем через пробел записано значение температуры — число со знаком плюс или минус, с точностью до 1 цифры после десятичной точки. Данная информация отсортирована по значению температуры, т.е. хронологический порядок нарушен. Требуется написать эффективную программу на языке Паскаль или Бейсик, которая будет выводить на экран информацию о месяцах с максимальной среднемесячной температурой. Найденные максимальные значения следует выводить в отдельной строке для каждого месяца в виде: номер месяца, значение среднемесячной температуры, округленное до одной цифры после десятичной точки.

9. Заключительный этап олимпиады по астрономии проводился для учеников 9-11-х классов, участвующих в общем конкурсе. Каждый ученик олимпиады мог набрать от 0 до 50 баллов. Для определения победителей и Призеров сначала отбирают 45%участников, показавших лучшие результаты.

По положению, в случае, когда у последнего участника, входящего в 45% оказывается количество баллов такое же, как и следующих за ним в итоговой таблице, решение по данному участнику и всем участникам имеющим с ним равное количество баллов, определяется следующим образом: все участники признаются призерами, если набранные ими баллы больше половины максимально возможных; Все участники не признаются призерами, если набрали ими баллы не превышают половины максимально возможных.

Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая по результатам олимпиады будет определять, какой минимальный балл нужно было набрать, чтобы стать победителем или призером олимпиады.