7 мин чтения

Как решать задание 10 ЕГЭ по информатике — поиск в тексте

Разбор задания 10 ЕГЭ по информатике 2026: подсчёт слов и сочетаний в .odt через LibreOffice Writer и regex, альтернатива на Python re.findall, типичные ошибки.

О чём задание

В задании 10 тебе дают файл в формате .odt — это один длинный текст (обычно отрывок художественного или публицистического произведения, 30-100 страниц, тысячи слов). Нужно ответить на вопрос: сколько раз в тексте встречается заданное слово или сочетание символов.

Ответ — целое число. Задание оценивается в 1 первичный балл и входит в блок относительно простых — но при этом на нём массово теряют баллы из-за невнимательности к формулировке. Основная среда — LibreOffice Writer. Об общем наборе изменений 2026 года — в статье про изменения ЕГЭ 2026.

Формулировка — читай в три раза

В задании 10 формулировка важнее формул. Обрати внимание на три ключевых параметра:

  1. Регистр. «Слово море» — включая «Море», «МОРЕ»? Или только в нижнем регистре?
  2. Граница слова. Считать «море» в составе «моря», «моря́к», «приморский»? Или только как отдельное слово?
  3. Пунктуация и пробелы. «Море.» (с точкой) — это вхождение «море» или нет? Обычно да — но если условие про отдельное слово без знаков препинания, то нет.

В 90% задач требуется: точное слово (с учётом границы), без различения регистра, с учётом знаков препинания по обе стороны. Но всегда читай формулировку буквально.

LibreOffice Writer: пять приёмов, которые решают всё

Приём 1. Ctrl+F — простой поиск

Ctrl+F открывает маленькую панель поиска сверху. Вводишь слово, нажимаешь Enter — Writer перескакивает на первое совпадение и показывает общее количество. Быстрый способ, но работает не во всех версиях одинаково — в некоторых сборках счётчик виден не сразу.

Приём 2. Ctrl+H — найти и заменить

Это основной приём задания 10. Логика:

  1. Ctrl+H открывает диалог «Найти и заменить».
  2. В поле «Найти» пишешь искомое слово.
  3. В поле «Заменить на» пишешь то же самое слово (или любое, пусть будет x).
  4. Нажимаешь «Заменить все».
  5. 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 — только «море» или «моря».

Пошаговый алгоритм

  1. Открой файл. Дабл-клик по .odt на рабочем столе.
  2. Перечитай условие. Запиши на черновик: какое слово/сочетание, считаем ли регистр, нужно ли точное слово.
  3. Открой Ctrl+H. Разверни «Другие параметры».
  4. Настрой галочки. Регистр — обычно не учитывать. Целое слово — обычно да, если ищем слово; нет, если ищем сочетание символов.
  5. Введи искомое слово в поле «Найти», то же самое — в поле «Заменить на».
  6. Нажми «Заменить все».
  7. Прочитай сообщение о числе замен — это ответ.
  8. Отмени замену через Ctrl+Z, если делал замену на другое слово (не критично, файл не сохраняется на экзамене — но аккуратность не повредит).

Полный разбор примера

Условие. Дан файл text.odt с отрывком из книги. Определи, сколько раз в тексте встречается слово «берег» (в любой форме — берег, берега, берегу, берегом, берегом и т.д.) как часть слова с корнем «берег».

Это задача на сочетание символов, а не на отдельное слово, — формулировка говорит «в любой форме», то есть включая словоформы.

Способ 1. Через Writer

  1. Открываем text.odt.
  2. Ctrl+H → «Другие параметры».
  3. Снимаем галочку «Только слова целиком» — ищем сочетание.
  4. Снимаем галочку «Учитывать регистр» — ловим «Берег», «БЕРЕГ».
  5. В поле «Найти»: берег
  6. В поле «Заменить на»: берег
  7. «Заменить все» → сообщение «Произведено 47 замен».
  8. Ответ: 47.

Но тут есть нюанс: берег найдётся и в «оберегать», «сберегая», «прибережный». Если задача про корень «берег» в смысле «берег реки/моря», а не в смысле «беречь» — это ошибка.

Способ 1б. Точнее — через regex

Чтобы исключить «оберегать», «сберегать» (там тоже есть «берег»), можно использовать regex.

  1. Ctrl+H → включаем «Регулярные выражения».
  2. В поле «Найти»: \bберег\w*\b — все слова, начинающиеся с «берег».
  3. В поле «Заменить на»: $0 — возвращаем найденное без изменений.
  4. «Заменить все».

Теперь считаются только слова, у которых «берег» — в начале: берег, берега, берегу, береговой. Но не «оберегать» (там «берег» в середине).

Способ 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.

Попробовать бесплатно →

Частые вопросы

В каком формате выдают текст на ЕГЭ 2026?

Единственный формат в 2026 году — .odt (LibreOffice Writer). .docx на экзамене не используется. Файл уже лежит на рабочем столе компьютера. Открывается дабл-кликом в LibreOffice Writer, который предустановлен на всех экзаменационных ПК.

Нужно ли учитывать регистр?

По умолчанию — нет. Если в задаче ищется слово «море», то «Море» в начале предложения и «МОРЕ» в заголовке считаются. Если в условии явно сказано «только в нижнем регистре» или «как написано» — включай галочку «Учитывать регистр» в диалоге поиска (Ctrl+H → «Другие параметры»). Внимательно читай формулировку — от одной галочки ответ может отличаться в разы.

Считаются ли совпадения внутри других слов?

Зависит от формулировки. «Сколько раз встречается слово кот» — только отдельные слова, «кот» в составе «котёл» не считается. «Сколько раз встречается сочетание символов кот» — считаются все вхождения, включая «котёл», «скот», «котик». Для точного слова используй регулярное выражение \bкот\b или поиск с пробелами до и после.

Что такое Ctrl+H и зачем он нужен?

Ctrl+H — «Найти и заменить». В задании 10 его используют для подсчёта через замену: заменяешь искомое слово на само себя (или на что угодно) — Writer показывает число произведённых замен. Это и есть количество вхождений. Способ надёжнее, чем ручной перебор через Ctrl+F, потому что диалог замены всегда выводит точный счётчик.

Можно ли считать на Python?

Да, и это часто удобнее. .odt — это zip-архив, но проще открыть его не напрямую, а сохранить текст через LibreOffice Writer в .txt (Файл → Сохранить как → TXT) и потом обрабатывать в Python. Либо использовать odfpy, если библиотека доступна. Типовой приём — re.findall(pattern, text) с нужным шаблоном, ответ — len(...).

Что делать с перекрывающимися совпадениями?

re.findall в Python и «Найти и заменить» в Writer не ловят перекрывающиеся совпадения. Например, в строке aaaa шаблон aa даст 2 совпадения, а не 3. Для задания 10 это редко важно — ищут слова и сочетания, которые не пересекаются по смыслу. Но если в условии явно нужны перекрывающиеся вхождения, используй lookahead в regex: (?=aa) — или считай вручную сдвигом по одному символу.

Сколько времени отводить на задание 10?

Рекомендуемое время — 3-5 минут. Задание стоит 1 первичный балл. Если файл правильного формата и ты знаешь, как пользоваться «Найти и заменить» — решается за 2 минуты. Если возится больше 7 минут — значит, запутался с формулировкой; пропусти и вернись. Распределение времени по заданиям разобрано в гайде на 90+ баллов.

Работают ли регулярные выражения в LibreOffice Writer?

Да, и это важный инструмент. В диалоге Ctrl+H открой «Другие параметры» и поставь галочку «Регулярные выражения». Синтаксис — стандартный ICU regex: \b — граница слова, \w — буква, \d — цифра, . — любой символ, * и + — повторения. Это спасает, когда надо искать точное слово, игнорируя словоформы.

Готов применять на практике?

В тренажёре TuteMe — 2000+ заданий ЕГЭ по информатике с автоматической проверкой и подробным разбором. AI-помощник подсказывает, где ты ошибаешься, и подбирает задания под твой уровень.

Начать бесплатно →