Задание 24. Программирование. Обработка строк. ЕГЭ 2026 по информатике

За это задание ты можешь получить 1 балл. На решение дается около 30 минут. Уровень сложности: повышенный.
Средний процент выполнения: 52.2%
Ответом к заданию 24 по информатике может быть развернутый ответ (полная запись решения с обоснованием выполненных действий).

Задачи для практики

Задача 1

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

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

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

Решение
f = open('new_24.txt', 'r')
s = f.readline().strip()
for x in 'MISHA':
    s = s.replace(x, '1')
while '11' in s:
    s = s.replace('11', '1 1')
lines = s.split()
print(len(max(lines, key=len)))
Ответ: 294
Показать решение
Бесплатный интенсив

Задача 2

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

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

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

Решение
f = open('1_24.txt', 'r')
s = f.readline().strip()
for x in 'EFGH':
    s = s.replace(x, '1')
while '11' in s:
    s = s.replace('11', '1 1')
lines = s.split()
print(len(max(lines, key=len)))
Ответ: 1419
Показать решение
Бесплатный интенсив

Задача 3

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

Определите максимальное количество символов последовательности, среди которых нет пар символов BD и BA в прилагаемом файле.

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

Решение

Для решения этого номера нужно написать программу, приведём пример решения на языке Python

f = open('24.txt', 'r')
s = f.readline().strip()
s = s.replace('BD', 'B D')
s = s.replace('BA', 'B A')
x = s.split()
print(len(max(x, key=len)))

Другой способ решения

f = open('24_ABD.txt', 'r')
s = f.readline().strip()
max_len = 0
cur_len = 1
for i in range(len(s) - 1):
    if s[i] == 'B' and (s[i + 1] == 'A' or s[i + 1] == 'D'):
        cur_len = 1
    else:
        cur_len += 1
        max_len = max(max_len, cur_len)
print(max_len)

Ответ: 37

Ответ: 37
Показать решение
Бесплатный интенсив

Задача 4

РЕШЕНИЕ БЕЗ ОТВЕТА НЕ ПРИНИМАЕТСЯ, В ПРОТИВНОМ СЛУЧАЕ РАБОТА БУДЕТ АННУЛИРОВАНА

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

Определите максимальное количество идущих подряд троек символов BDA или BAD в прилагаемом файле.

Искомая подпоследовательность должна состоять только из троек BDA, или только из троек BAD, или только из троек BDA и BAD в произвольном порядке следования этих троек.

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

Решение

Для решения этого номера нужно написать программу, приведём пример решения на языке Python

f = open('24_ABD.txt', 'r')
s = f.readline().strip()
s = s.replace('BAD', '1')
s = s.replace('BDA', '2')
s = s.replace('A', ' ')
s = s.replace('B', ' ')
s = s.replace('D', ' ')
x = s.split()
print(len(max(x, key=len)))

Другой способ решения:

f = open('24_ABD.txt', 'r')
s = f.readline().strip()
max_s = 0
i = 0
k = 0
while i < len(s) - 2:
    s1 = s[i]
    s2 = s[i + 1]
    s3 = s[i + 2]
    if s1 + s2 + s3 == 'BDA' or s1 + s2 + s3 == 'BAD':
        k += 1
        i += 3
        max_s = max(max_s, k)
    else:
        i += 1
        k = 0
print(max_s)

Ответ: 5

Ответ:
Показать решение
Бесплатный интенсив

Задача 5

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

Определите самую длинную последовательность символов в которой нет символа B. В ответе запишите количество символов в такой последовательности.

Искомая подпоследовательность должна состоять только из символов А или D.

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

Решение

Для решения этого номера нужно написать программу, приведём пример решения на языке Python

f = open('24_ABD.txt', 'r')
s = f.readline().strip()
max_s = 0
k = 0
for i in range(len(s)):
    if s[i] != 'B':
        k += 1
        max_s = max(k, max_s)
    else:
        k = 0
print(max_s)

Другой способ решения:

f = open('24_ABD.txt', 'r')
s = f.readline().strip()
s = s.replace('B', ' ')
x = s.split()
print(len(max(x, key=len)))

Ответ: 12

Ответ:
Показать решение
Бесплатный интенсив

Задача 6

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

Определите каких пар символов BD или BA больше в прилагаемом файле.

В ответе укажите количество таких пар и саму пару, без пробелов. Например: 143BD

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

Решение

Для решения этого номера нужно написать программу, приведём пример решения на языке Python

f = open('24_4.txt', 'r')
s = f.readline().strip()
bd = s.count('BD')
ba = s.count('BA')
if bd > ba:
    print(f'{bd}BD')
else:
    print(f'{ba}BA')

Ответ: 1025593BD

Ответ:
Показать решение
Бесплатный интенсив

Задача 7

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

Определите максимальное количество идущих подряд троек символов ABD или ADB в прилагаемом файле.

Искомая подпоследовательность должна состоять только из троек ABD, или только из троек ADB, или только из троек ABD и ADB в произвольном порядке следования этих троек.

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

Решение

Для решения этого номера нужно написать программу, приведём пример решения на языке Python

f = open('24_ABD.txt', 'r')
s = f.readline().strip()
s = s.replace('ABD', '1')
s = s.replace('ADB', '2')
s = s.replace('A', ' ')
s = s.replace('B', ' ')
s = s.replace('D', ' ')
x = s.split()
print(len(max(x, key=len)))

Другой способ решения:

f = open('24_ABD.txt', 'r')
s = f.readline().strip()
max_s = 0
i = 0
k = 0
while i < len(s) - 2:
    s1 = s[i]
    s2 = s[i + 1]
    s3 = s[i + 2]
    if s1 + s2 + s3 == 'ABD' or s1 + s2 + s3 == 'ADB':
        k += 1
        i += 3
        max_s = max(max_s, k)
    else:
        i += 1
        k = 0
print(max_s)

Ответ: 5

Ответ:
Показать решение
Бесплатный интенсив

Задача 8

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

Определите максимальное количество идущих подряд пар символов или BD или BA в прилагаемом файле.

Искомая подпоследовательность должна состоять только из пар BA, или только из пар BD.

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

Решение

Для решения этого номера нужно написать программу, приведём пример решения на языке Python

f = open('24.txt', 'r')
s = f.readline().strip()
s = s.replace('BD', '1')
s = s.replace('BA', '2')
x1 = s.replace('A', '2')
x1 = x1.replace('B', '2')
x1 = x1.replace('D', '2')
x2 = s.replace('A', '1')
x2 = x2.replace('B', '1')
x2 = x2.replace('D', '1')
x = x1.split('2')
max_s = len(max(x, key=len))
x = x2.split('1')
max_s = max(max_s, len(max(x, key=len)))
print(max_s)

Ответ: 16

Ответ:
Показать решение
Бесплатный интенсив

Задача 9

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

Определите самую длинную последовательность символов в которой нет символа D. В ответе запишите количество символов в такой последовательности.

Искомая подпоследовательность должна состоять только из символов А или B.

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

Решение

Для решения этого номера нужно написать программу, приведём пример решения на языке Python

f = open('24_ABD.txt', 'r')
s = f.readline().strip()
max_s = 0
k = 0
for i in range(len(s)):
    if s[i] != 'D':
        k += 1
        max_s = max(k, max_s)
    else:
        k = 0
print(max_s)

Другой способ решения:

f = open('24_ABD.txt', 'r')
s = f.readline().strip()
s = s.replace('D', ' ')
x = s.split()
print(len(max(x, key=len)))

Ответ: 42

Ответ:
Показать решение
Бесплатный интенсив

Задача 10

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

Определите максимальное количество символов последовательности в прилагаемом файле, среди которых нет пар символов BD или среди которых нет пар BA. только один вид из этих пар может присутствовать в подпоследовательности.

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

Решение

Для решения этого номера нужно написать программу, приведём пример решения на языке Python

f = open('24_ABD.txt', 'r')
s = f.readline().strip()
s1 = s.replace('BD', 'B D')
s2 = s.replace('BA', 'B A')
x = s1.split()
y = s1.split()
max_not_bd = len(max(x, key=len))
max_not_ba = len(max(y, key=len))
print(max(max_not_ba, max_not_bd))

Другой способ решения

f = open('24_ABD.txt', 'r')
s = f.readline().strip()
max_len = 0
cur_len_notBA = 1
cur_len_notBD = 1
for i in range(len(s) - 1):
    if s[i] == 'B' and s[i + 1] == 'A':
        cur_len_notBA = 1
        cur_len_notBD += 1
    elif s[i] == 'B' and s[i + 1] == 'D':
        cur_len_notBA += 1
        cur_len_notBD = 1
    else:
        cur_len_notBA += 1
        cur_len_notBD += 1
    max_len = max(max_len, cur_len_notBA, cur_len_notBD)
print(max_len)

Ответ: 96

Ответ: 96
Показать решение
Бесплатный интенсив
Показать еще
  • Без воды
  • Ламповая атмосфера
  • Крутые преподаватели

ЕГЭ 2026: бесплатный курс
по информатике

На бесплатном демо-курсе ты:
  • Узнаешь всё про кодирование: что это такое и как происходит
  • Познакомишься с Условием Фано: как оно примняется и почему важно
  • Научишься считать колиечтсво информации и сколько под неё нужно выделить памяти
Получи бесплатный демо-доступ
Оставь заявку и займи место
на бесплатном курсе Турбо ЕГЭ
Нажимая на кнопку «Отправить», вы принимаете положение об обработке персональных данных.