ФИПИ · ЕГЭ · Информатика · Задание 24

Задание 24. Программа: символьная информация

46 заданий открытого банка ФИПИ: впишите ответ, при затруднении — подсказка; после ответа — разбор по шагам.

0
Решено
0
Правильно
0%
Точность

Задания открытого банка ФИПИ «Задание 24. Программа: символьная информация» (информатика). Ответ вписывается так же, как в бланк ЕГЭ: число, слово или цифры подряд, без пробелов; если в ответе два числа — через пробел, как в таблице ответа (по строкам).

Неофициальная копия. Условия заданий — из открытого банка заданий ФИПИ (fipi.ru); номер у каждого задания открывает его в банке ФИПИ. Ответы, подсказки, разборы и рисунки подготовлены reknow.ru. Нашли ошибку — нажмите «Сообщить об ошибке» у задания.

Серия: 0

О теме

Задание 24 ЕГЭ по информатике. Умение создавать собственные программы (10–20 строк) для обработки символьной информации. На странице — 46 заданий открытого банка ФИПИ: ответ проверяется сразу, есть подсказка и подробный разбор.

Примеры заданий

Это несколько заданий из тренажёра, остальные — в тренажёре в начале страницы.

ФИПИ № 0491B1 ↗

 Задание выполняется с использованием прилагаемых файлов.

 

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

Определите максимальное количество идущих подряд символов, в которых никакие две буквы из набора букв Q, R и S (с учетом повторений) не записаны подряд.

Для выполнения этого задания следует написать программу.

Файл к заданию (zip)
Показать ответ
Ответ: 35
Решение.
  1. Нужна самая длинная цепочка, в которой нет двух соседних символов, оба из набора {Q, R, S} (например, QR, SS, RQ запрещены).
  2. Идём по строке: если текущий символ и предыдущий оба из набора, подходящий участок обрывается — новый начинается с текущего символа (длина 1). Иначе длина текущего участка увеличивается на 1.
  3. s = open("24.txt").readline().strip()
    qrs = set("QRS")
    best = cur = 1
    for i in range(1, len(s)):
        if s[i] in qrs and s[i-1] in qrs:
            cur = 1
        else:
            cur += 1
        best = max(best, cur)
    print(best)
  4. Программа на прилагаемом файле выводит 35.
  5. Ответ: 35.
ФИПИ № 0CF4C0 ↗

 Задание выполняется с использованием прилагаемых файлов.

 

Текстовый файл состоит из символов A, B, C, D и E.

Определите максимальное количество идущих подряд пар символов вида

согласная + гласная

в прилагаемом файле.

Для выполнения этого задания следует написать программу.

Файл к заданию (zip)
Показать ответ
Ответ: 111
Решение.
  1. Из символов A, B, C, D, E гласные — A и E, согласные — B, C, D.
  2. Нужен самый длинный участок, составленный из подряд идущих пар «согласная + гласная». Удобно найти его регулярным выражением ([BCD][AE])+ — оно захватывает максимальные цепочки таких пар.
  3. import re
    s = open("24.txt").readline().strip()
    best = 0
    for m in re.findall(r"(?:[BCD][AE])+", s):
        best = max(best, len(m) // 2)
    print(best)
  4. Ответ — количество пар (длина цепочки, делённая на 2). Программа выводит 111.
  5. Ответ: 111.
ФИПИ № 2F6892 ↗

 Задание выполняется с использованием прилагаемых файлов.

 

Текстовый файл состоит из символов A, C, D, E и F.

Определите максимальное количество идущих подряд пар символов вида

гласная + согласная

в прилагаемом файле.

Для выполнения этого задания следует написать программу.

Файл к заданию (zip)
Показать ответ
Ответ: 98
Решение.
  1. Из символов A, C, D, E, F гласные — A и E, согласные — C, D, F.
  2. Подходящая цепочка имеет вид ([AE][CDF])+, например ACEF — 2 пары.
  3. import re
    s = open("24.txt").readline().strip()
    best = 0
    for m in re.findall(r"(?:[AE][CDF])+", s):
        best = max(best, len(m) // 2)
    print(best)
  4. Программа выводит 98.
  5. Ответ: 98.