Пример исходных данных Результат



Скачать 48.52 Kb.
Дата28.01.2017
Размер48.52 Kb.
Просмотров107
Скачиваний0

Вариант 1


Дана строка, содержащая текст со словами, разделенными пробелами, точками и запятыми, восклицательными и вопросительными знаками. Определите для этой строки:

  1. Сколько слов содержится в этой строке?

  2. Какое слово самое длинное/короткое? Если таких слов несколько, вывести то, которое встречается в тексте первым.

  3. Сколько предложений в этой строке?

  4. Сформируйте новую строку, которая содержит все символы, встречающиеся в исходной ровно по одному разу, в той последовательности, в которой они встречаются в тексте впервые. Игнорируйте регистр.

Каждый пункт оформить в виде отдельной функции

Пример исходных данных

Результат

Когда я ем, я глух и нем! Потому что почему оканчивается на у.

Количество слов: 13

Самое короткое слово: я

Самое длинное слово: оканчивается

Количество предложений: 2

Символы: когда яем,лухин!птчивс.




Вариант 2


1

Дана строка, содержащая текст со словами, разделенными пробелами, точками и запятыми, восклицательными и вопросительными знаками, двоеточиями, точками с запятой. Отформатировать строку по следующему правилу:



  • между словами должен стоять ровно один пробел, если их больше - убрать лишние

  • знаки препинания должны стоять сразу после слова, не должны отделяться от предыдущего слова пробелом

  • знаки препинания должны отделяться от следующего слова ровно одним пробелом.

  • первое слово в предложении должно начинаться с большой буквы

Написать процедуру formatString, которая изменяет переданную в нее строку по этим правилам.

Пример исходных данных

Результат

Первое слово ! Дороже. второго,

Первое слово! Дороже. Второго,

2

В Российской Федерации на разных видах транспортных средств устанавливаются разные по формату регистрационные знаки («автомобильные номера»).

Вот пример нескольких возможных форматов регистрационных знаков.

Тип транспортного средства


  1. Y019KM Буква, три цифры, две буквы. Частные транспортные средства

  2. AB179 Две буквы, три цифры. Общественный транспорт и такси

  3. OН2645 Две буквы, четыре цифры. Прицепы

  4. 3384CT Четыре цифры, две буквы. Мотоциклы

В этой задаче «буквой» может быть любая заглавная буква латинского алфавита.

Напишите программу, которая по регистрационному знаку определяет его тип или определяет, что регистрационный знак некорректен.

Программа получает на вход три строки текста, каждая строка содержит один образец регистрационного знака (возможно, некорректный).

Каждый образец содержит от 1 до 10 символов, являющихся цифрами и заглавными латинскими буквами (других символов во входных данных быть не может).

Программа должна вывести для каждого образца число, соответствующее типу транспортного средства, как в приведенной таблице, то есть 1 — для частных транспортных средств, 2 — для общественного транспорта, 3 — для прицепов, 4 — для мотоциклов.

Если номерной знак некорректен (не подходит ни к одному из указанных типов), то необходимо вывести число 0. Каждое число необходимо выводить в отдельной строке.



Пример исходных данных

Результат

Y019KM

A9999


OH264

1

0

3


Вариант 3


111857. Телефонные номера

Телефонные номера в адресной книге мобильного телефона имеют один из следующих форматов:

+7<код><номер>

8<код><номер>



<номер>

где <номер> — это семь цифр, а <код> — это три цифры или три цифры в круглых скобках. Если код не указан, то считается, что он равен 495. Кроме того, в записи телефонного номера может стоять знак “-” между любыми двумя цифрами (см. пример).

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

Два телефонных номера совпадают, если у них равны коды и равны номера. Например, +7(916)0123456 и 89160123456 — это один и тот же номер.



Входные данные

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

Гарантируется, что каждая из записей соответствует одному из трех приведенных в условии форматов.

Выходные данные

Для каждого телефонного номера в адресной книге выведите YES (заглавными буквами), если он совпадает с тем телефонным номером, который Вася хочет добавить в адресную книгу или NO (заглавными буквами) в противном случае.



Пример исходных данных

Результат

8(495)430-23-97
+7-4-9-5-43-023-97
4-3-0-2-3-9-7
8-495-430

YES
YES
NO

3819. Маска файла

Миша готовится к ЕГЭ по информатике. Сейчас он изучает задач, в которой описывается работа с масками файлов:

Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которой также могут встречаться следующие символы.



  • Символ «?» (вопросительный знак) означает ровно один произвольный символ.

  • Символ «*» (звёздочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность.

Мише приходится тренироваться самостоятельно. Напишите программу, которая для каждого имени файла определяет, подходит ли оно под заданную маску, чтобы Миша мог сверить свои ответы. Гарантируется, что в маске файла присутствует не более одного символа «*».

Входные данные

В первой строке содержится маска файла. В следующих 5 строках содержатся имена файлов по одному в строке. Имена файлов состоят из маленьких латинских букв, цифр и символа «.» (точка), в маске также могут содержаться символы «?» и «*» (символ «*» — не более одного раза). Длина каждой строки не превосходит 20 символов.



Выходные данные

Для каждого имени файла выведите слово «YES» если оно удовлетворяет маске и «NO» иначе. Выводить слова следует большими латинскими буквами без кавычек, каждое в новой строке.



Пример исходных данных

Результат

?or*.d??

fort.doc


ford.doc

lord2.doc

orsk.dat

port


YES

YES


YES

NO

NO






Вариант 4


1

Даны две строки, содержащие запись целых чисел (до 10200). В третьей строке записан символ + или -. Написать функцию, которая возвращает в результат арифметической операции: первое число + или - второе число.




Пример исходных данных

Результат

123

100


+

223

888888888888888888888888888

9999999988888888

-


888888888878888888900000000

2

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

Входные данные

На вход программы поступает строка, которая содержит только латинские буквы, длина строки не превышает 50000 символов.



Выходные данные

Требуется вывести одно число – ответ на вопрос задачи.




Пример исходных данных

Результат

abcabcabcabcabcabcabcabcabcabcabc

abc

abcab

abc


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал