Назад к темам

Использование масок поиска (*, ?)

Тренироваться
1

Использование масок поиска (*, ?)

Зачем это в ЕГЭ.
Задание 10 в ЕГЭ по информатике проверяет умение работать с масками поиска (*, ?) при фильтрации файлов или строк. Даёт 1 первичный балл. Встречается в ~80% вариантов, часто в комбинации с подсчётом количества подходящих строк или файлов.

Главная идея.
Маски позволяют искать файлы или строки по шаблону: * заменяет любое количество любых символов, ? — ровно один любой символ. Ключ — правильно интерпретировать маску и перебрать все возможные варианты, удовлетворяющие условию.

Алгоритм (чеклист).
1. Разбери маску: определи, где * и ?, какие символы фиксированы.
2. Для каждой строки/файла проверь соответствие маске:
- Сравни фиксированные символы.
- Убедись, что * и ? заменяют корректное количество/тип символов.
3. Если маска сложная, разбей её на части и проверь каждую отдельно.
4. Подсчитай количество строк/файлов, удовлетворяющих маске.
5. Проверь, нет ли скрытых условий (например, регистр символов).

Опоры (кратко).
- * — любое количество любых символов (включая 0).
- ? — ровно один любой символ.
- Маска применяется ко всей строке/имени файла.

Пример 1 (подсчёт файлов)
Дана маска: *doc?.txt. Найти количество файлов, которые ей соответствуют:
1. doc1.txt
2. document.txt
3. doc_.txt
4. doc.txt

Шаг 1. Маска означает: любое начало (*), затем "doc", один любой символ (?), затем ".txt".
Шаг 2. Проверяем файлы:
- doc1.txt: "doc" + "1" (1 символ) + ".txt" — подходит.
- document.txt: "doc" + "u" (1 символ), но остаётся "ment.txt" — не подходит.
- doc_.txt: "doc" + "_" (1 символ) + ".txt" — подходит.
- doc.txt: после "doc" нет символа перед ".txt" — не подходит.
Шаг 3. Итого: 2 файла (doc1.txt, doc_.txt).

Пример 2 (поиск строк)
Дана маска: ?a*b. Найти строки, которые ей соответствуют:
1. "aab"
2. "cab"
3. "aabb"
4. "ab"

Шаг 1. Маска означает: один любой символ (?), затем "a", любое количество символов (*), затем "b".
Шаг 2. Проверяем строки:
- "aab": первый символ "a", затем "a", затем "b" — подходит.
- "cab": первый символ "c", затем "a", затем "b" — подходит.
- "aabb": первый символ "a", затем "a", затем "bb" (оканчивается на "b") — подходит.
- "ab": нет символа перед "a" — не подходит.
Шаг 3. Итого: 3 строки ("aab", "cab", "aabb").

Типичные ошибки.
1. Игнорирование * как 0 символов. Например, маска a может соответствовать строке "a".
2. Путаница между * и ?. Подмена * на ? или наоборот.
3. Неучёт регистра. Маска "A*" не подходит для "a1".
4. Пропуск проверки конца строки. Маска *b должна оканчиваться на "b".
5. Неправильный подсчёт символов для ?. Например, для маски ?? строка "a" не подходит.

Дальше.
Потренируйся на задачах с комбинацией масок и регулярных выражений.

Теория изучена?

Закрепи знания на практике — переходи к тренировке!

Тренироваться