Раздел A • Категория A4 (демонстрационный вариант-2012)
Условие задачи
Дано:
для групповых операций с файлами используются маски имен файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которой также могут встречаться следующие символы.
символ «?» (вопросительный знак) означает ровно один произвольный символ.
символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность.
В каталоге находятся пять файлов:
fort.docx
ford.docx
lord.doc
orsk.dat
port.doc
Вопрос:
определите, по какой из масок из них будет отобрана указанная группа файлов:
fort.docx
ford.docx
lord.doc
port.doc
Варианты ответа:
1) *o?*.d?* 2) ?o*?.d* 3) *or*.doc? 4) ?or?.doc?
Решение
Сравним каждый из файлов указанной группы с маской из 1 варианта.
Сравнение:
Шаблон: | * | o | ? | * | . | d | ? | * |
Файлы: | f | o | r | t | . | d | o | cx |
f | o | r | d | . | d | o | cx | |
l | o | r | d | . | d | o | c | |
o | r | sk | . | d | a | t | ||
p | o | r | t | . | d | o | c |
Как видно из приведенной таблицы, под шаблон *o?*.d?* попадаются абсолютно все файлы (в количестве 5 штук). По условию задачи, после наложения файловой маски, должны отобраться только следующие файлы:
fort.docx
ford.docx
lord.doc
port.doc
Очевидно, что количество отобранных файлов равно 4.
Вывод: рассматриваемая маска *o?*.d?* не является корректной.
Сравним каждый из файлов указанной группы с маской из 2 варианта.
Сравнение:
Шаблон: | ? | o | * | ? | . | d | * |
Файлы: | f | o | r | t | . | d | ocx |
f | o | r | d | . | d | ocx | |
l | o | r | d | . | d | oc | |
o | rs | sk | . | d | at | ||
p | o | r | t | . | d | oc |
Как видно из приведенной таблицы, под шаблон ?o*?.d* попадают только 4 файла. Файл orsk.dat не удовлетворяет проверяемой маске, так как символ "?" требует строго наличия одного символа, а в файле orsk.dat соответствующего символа нет.
По условию задачи, после наложения файловой маски, должны отобраться только следующие файлы:
fort.docx
ford.docx
lord.doc
port.doc
Не трудно заметить, что отобранные файлы (не отобрался только файл под названием orsk.dat) после наложения маски ?o*?.d* полностью конгруэнтны (то есть совпадают при наложении) с файлами, которые должны получиться после наложения маски по условию задачи.
Вывод: рассматриваемая маска ?o*?.d* является корректной.
Вывод: |
используя маску ?o*?.d* будет отобрана указанная группа файлов:
|
Резюме
Шаблон: | * | o | ? | * | . | d | ? | * |
Файлы: | f | o | r | t | . | d | o | cx |
f | o | r | d | . | d | o | cx | |
l | o | r | d | . | d | o | c | |
o | r | sk | . | d | a | t | ||
p | o | r | t | . | d | o | c |
Маска *o?*.d?* является некорректной, так как после ее наложения отбираются все 5 файлов (а должно отбираться ровно 4 файла).
Шаблон: | ? | o | * | ? | . | d | * |
Файлы: | f | o | r | t | . | d | ocx |
f | o | r | d | . | d | ocx | |
l | o | r | d | . | d | oc | |
o | rs | sk | . | d | at | ||
p | o | r | t | . | d | oc |
Маска ?o*?.d* является корректной, так как после ее наложения отбираются именно те 4 файла, которые указаны в условии задания.
Ответ: |
2 |
Комментарии