Как решать задание 10 ЕГЭ по информатике — поиск в тексте
Разбор задания 10 ЕГЭ по информатике 2026: подсчёт слов и сочетаний в .odt через LibreOffice Writer и regex, альтернатива на Python re.findall, типичные ошибки.
О чём задание
В задании 10 тебе дают файл в формате .odt — это один длинный текст (обычно отрывок художественного или публицистического произведения, 30-100 страниц, тысячи слов). Нужно ответить на вопрос: сколько раз в тексте встречается заданное слово или сочетание символов.
Ответ — целое число. Задание оценивается в 1 первичный балл и входит в блок относительно простых — но при этом на нём массово теряют баллы из-за невнимательности к формулировке. Основная среда — LibreOffice Writer. Об общем наборе изменений 2026 года — в статье про изменения ЕГЭ 2026.
Формулировка — читай в три раза
В задании 10 формулировка важнее формул. Обрати внимание на три ключевых параметра:
- Регистр. «Слово
море» — включая «Море», «МОРЕ»? Или только в нижнем регистре? - Граница слова. Считать «море» в составе «моря», «моря́к», «приморский»? Или только как отдельное слово?
- Пунктуация и пробелы. «Море.» (с точкой) — это вхождение «море» или нет? Обычно да — но если условие про отдельное слово без знаков препинания, то нет.
В 90% задач требуется: точное слово (с учётом границы), без различения регистра, с учётом знаков препинания по обе стороны. Но всегда читай формулировку буквально.
LibreOffice Writer: пять приёмов, которые решают всё
Приём 1. Ctrl+F — простой поиск
Ctrl+F открывает маленькую панель поиска сверху. Вводишь слово, нажимаешь Enter — Writer перескакивает на первое совпадение и показывает общее количество. Быстрый способ, но работает не во всех версиях одинаково — в некоторых сборках счётчик виден не сразу.
Приём 2. Ctrl+H — найти и заменить
Это основной приём задания 10. Логика:
Ctrl+Hоткрывает диалог «Найти и заменить».- В поле «Найти» пишешь искомое слово.
- В поле «Заменить на» пишешь то же самое слово (или любое, пусть будет
x). - Нажимаешь «Заменить все».
- Writer показывает сообщение: «Произведено N замен». Это и есть ответ.
Если ты заменил на то же слово — в тексте ничего не изменилось, можно перейти к следующей задаче. Если заменил на что-то другое — нажми Ctrl+Z, чтобы вернуть текст к исходному виду.
Приём 3. Учёт регистра
В диалоге Ctrl+H нажми «Другие параметры» (или он развёрнут сразу). Галочка «Учитывать регистр» — включает точное сравнение заглавных и строчных.
По умолчанию галочка снята — поиск нечувствителен к регистру. Это то, что нужно в большинстве задач.
Приём 4. «Только слово целиком»
Галочка «Только слова целиком» ограничивает поиск границами слова. Если она включена, «море» найдётся как отдельное слово, но не в составе «моряк» или «приморский».
Внимание к пунктуации. Галочка «Только слова целиком» считает границей слова любой не-словесный символ: пробел, точка, запятая, тире, кавычки. Поэтому «море.» (с точкой) или «море,» (с запятой) тоже считаются — между «е» и знаком препинания проходит граница слова. Это обычно то, что нужно.
Приём 5. Регулярные выражения
Галочка «Регулярные выражения» включает полноценный regex. Ключевые конструкции:
| Шаблон | Что значит |
|---|---|
\b | Граница слова |
\w | Буква/цифра/подчёркивание |
\d | Цифра |
\s | Пробельный символ |
. | Любой символ, кроме перевода строки |
* | 0 или больше повторений |
+ | 1 или больше повторений |
? | 0 или 1 повторение |
[абв] | Один из символов в скобках |
a|б | a или б |
Например, шаблон \bморе\b найдёт «море» как отдельное слово (без учёта «морем», «морю»). Шаблон \bмор\w* — все слова, начинающиеся на «мор» (море, моря, морю, моряк, морской). Шаблон \bмор[ея]\b — только «море» или «моря».
Пошаговый алгоритм
- Открой файл. Дабл-клик по
.odtна рабочем столе. - Перечитай условие. Запиши на черновик: какое слово/сочетание, считаем ли регистр, нужно ли точное слово.
- Открой
Ctrl+H. Разверни «Другие параметры». - Настрой галочки. Регистр — обычно не учитывать. Целое слово — обычно да, если ищем слово; нет, если ищем сочетание символов.
- Введи искомое слово в поле «Найти», то же самое — в поле «Заменить на».
- Нажми «Заменить все».
- Прочитай сообщение о числе замен — это ответ.
- Отмени замену через
Ctrl+Z, если делал замену на другое слово (не критично, файл не сохраняется на экзамене — но аккуратность не повредит).
Полный разбор примера
Условие. Дан файл text.odt с отрывком из книги. Определи, сколько раз в тексте встречается слово «берег» (в любой форме — берег, берега, берегу, берегом, берегом и т.д.) как часть слова с корнем «берег».
Это задача на сочетание символов, а не на отдельное слово, — формулировка говорит «в любой форме», то есть включая словоформы.
Способ 1. Через Writer
- Открываем
text.odt. Ctrl+H→ «Другие параметры».- Снимаем галочку «Только слова целиком» — ищем сочетание.
- Снимаем галочку «Учитывать регистр» — ловим «Берег», «БЕРЕГ».
- В поле «Найти»:
берег - В поле «Заменить на»:
берег - «Заменить все» → сообщение «Произведено 47 замен».
- Ответ: 47.
Но тут есть нюанс: берег найдётся и в «оберегать», «сберегая», «прибережный». Если задача про корень «берег» в смысле «берег реки/моря», а не в смысле «беречь» — это ошибка.
Способ 1б. Точнее — через regex
Чтобы исключить «оберегать», «сберегать» (там тоже есть «берег»), можно использовать regex.
Ctrl+H→ включаем «Регулярные выражения».- В поле «Найти»:
\bберег\w*\b— все слова, начинающиеся с «берег». - В поле «Заменить на»:
$0— возвращаем найденное без изменений. - «Заменить все».
Теперь считаются только слова, у которых «берег» — в начале: берег, берега, берегу, береговой. Но не «оберегать» (там «берег» в середине).
Способ 2. Через Python
Для задачи нужно открыть .odt как текст. Самый простой способ на экзамене — сохранить файл как .txt через Writer (Файл → Сохранить как → выбрать «Текст (.txt)»), и работать уже с текстовым файлом.
import re
with open("text.txt", encoding="utf-8") as f:
text = f.read()
# Все слова, начинающиеся на "берег"
pattern = r"\bберег\w*"
matches = re.findall(pattern, text, flags=re.IGNORECASE)
print(len(matches))
\b— граница слова\w*— любое продолжение (возможно пустое)re.IGNORECASE— без учёта регистра
Если задача — ровно «слово берег» без словоформ:
pattern = r"\bберег\b"
matches = re.findall(pattern, text, flags=re.IGNORECASE)
print(len(matches))
Если задача — «сочетание символов берег в любом месте слова»:
matches = re.findall(r"берег", text, flags=re.IGNORECASE)
print(len(matches))
Поиск фразы из нескольких слов
Иногда в задании 10 ищут не слово, а фразу: «сколько раз в тексте встречается сочетание слов «на берегу моря»?».
Нюанс — переносы строк и кратные пробелы. В тексте может встретиться:
... на берегу
моря ...
Или два пробела подряд между словами. По умолчанию Writer ищет точное совпадение — два пробела вместо одного уже не найдутся.
Решение — regex:
на\s+берегу\s+моря
\s+ — один или больше любых пробельных символов (пробел, перевод строки, таб). На Python — аналогично:
re.findall(r"на\s+берегу\s+моря", text, flags=re.IGNORECASE)
Типичные ошибки
Ошибка 1. Не тот регистр. В задаче написано «слово начинается с заглавной буквы», а ты забыл включить «Учитывать регистр» — посчитал и строчные. Обратная ошибка — включил регистр там, где не надо, и пропустил «Море» в начале предложения.
Ошибка 2. Неверная трактовка «слова». В задаче «сочетание букв кот», а ты посчитал только отдельные слова с галочкой «Только слова целиком». Или наоборот: «слово кот» — а ты посчитал «котлеты», «скот», «приковал».
Ошибка 3. Пунктуация. «Море.» (с точкой на конце предложения) — считается или нет? В 99% задач — да, точка/запятая не ломают границу слова. Но убеждайся в этом именно для своей формулировки.
Ошибка 4. Перекрывающиеся совпадения. В aaaa шаблон aa даст 2, а не 3 совпадения — re.findall и Writer не ловят пересечения. В задаче это редко важно, но если вопрос про сочетание типа «оо» в слове «мороморо» — 1 совпадение, не 2. Для честного подсчёта с пересечениями используй (?=aa).
Ошибка 5. Лишние пробелы. Ты скопировал слово из задания и вставил в поиск — а туда добавился пробел в начале или конце. Writer ищет буквально, и ответ получается 0. Всегда перепечатывай искомое слово руками.
Ошибка 6. Скрытые символы. В .odt иногда попадаются неразрывные пробелы (U+00A0) вместо обычных — выглядят одинаково, но пробелом не считаются. Если подозреваешь — используй regex \s вместо обычного пробела.
Ошибка 7. Сохранил файл с изменениями. Если сделал замену на другое слово — у тебя в документе появятся чужеродные строки. Файл на экзамене не сохраняется автоматически, но всё равно лучше отменить замену через Ctrl+Z после того, как увидел счётчик — так безопаснее.
Разбор общих ловушек, на которых проваливают баллы по всем заданиям, — в статье топ-5 ошибок на ЕГЭ по информатике.
Короткая шпаргалка по regex
\b — граница слова
\w — буква/цифра/подчёркивание
\W — не буква и не цифра
\s — пробельный символ
\d — цифра
. — любой символ (кроме перевода строки)
* — 0 и более раз
+ — 1 и более раз
? — 0 или 1 раз
{3} — ровно 3 раза
{2,5} — от 2 до 5 раз
[абв] — один из символов
[^абв] — любой, кроме этих
(a|б) — a или б
(?=abc) — lookahead, не поглощает
$0 — найденная строка (в «Заменить на»)
Эти конструкции покрывают 100% задач задания 10. Большего знать не нужно.
Тайминг и стратегия
На задание 10 в среднем уходит 3-5 минут. Из 235 минут экзамена это 2%. Стратегия: сначала реши за 2 минуты самым простым способом (Ctrl+H с учётом или без учёта «целого слова») — если ответ разумный (не 0 и не какое-то безумное число), принимай его. Если подозрительный — перепроверь через regex.
Для сравнения цены и сложности всех заданий — загляни в статью про баллы и вузы: задание 10 — одно из самых дешёвых по соотношению «время/балл», его надо решать в первый проход.
Как тренироваться
Неделя 1 — Writer руками. Скачай 10 типовых файлов (банк ФИПИ, сайт Полякова). Реши каждый только через Ctrl+H, без regex. Цель — чувствовать галочки «регистр» и «целое слово». Проверяй ответ с эталонным.
Неделя 2 — regex. Те же задачи, но решай через регулярные выражения. Цель — свободно писать \b...\b, \bмор\w*, сочетания с \s+. После этого у тебя не будет задач, которые ты не решишь.
Неделя 3 — Python. Параллельно проверяй ответы через re.findall на Python. Это подстраховка: если Writer ведёт себя странно (например, не ищет через перенос строки), Python даст точный ответ.
Если готовишься с нуля и не знаешь, с какой стороны подойти к курсу целиком — почитай план подготовки к ЕГЭ с нуля.
Тренировка
Лучший способ натаскаться — решать реальные файлы. В TuteMe задачи на задание 10 генерируются из реальных литературных текстов с разной сложностью: одиночные слова, сочетания, фразы с разными пробелами. После каждого ответа показывается эталонный regex и эквивалент на Python.