Задание 24. Программирование. Обработка строк. ЕГЭ 2026 по информатике
Средний процент выполнения: 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)))
Задача 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)))
Задача 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
Задача 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
Рекомендуемые курсы подготовки
- Узнаешь всё про кодирование: что это такое и как происходит
- Познакомишься с Условием Фано: как оно примняется и почему важно
- Научишься считать колиечтсво информации и сколько под неё нужно выделить памяти
на бесплатном курсе Турбо ЕГЭ