Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы:
– символ «?» (вопросительный знак) означает ровно один произвольный символ;
– символ «*» (звёздочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность.
В каталоге находится 6 файлов:
izoferen.doc
kifera.dat
kifera.doc
la-fer-atos.doc
merfer.docx
oferta.doc
Определите, по какой из масок из каталога будет отобрана указанная группа файлов:
izoferen.doc
kifera.doc
la-fer-atos.doc
oferta.doc
1) ?fer*.doc
2) *?fer*?.do*
3) *fer?*.d*
4) *fer?.doc*
Решение, пожалуйста.
Ответы на вопрос
Правильный ответ: 2) *?fer*?.do*
Разберём каждую маску и проверим, почему именно вторая отбирает нужные четыре файла.
Даны файлы:
-
izoferen.doc -
kifera.dat -
kifera.doc -
la-fer-atos.doc -
merfer.docx -
oferta.doc
Нужно, чтобы были выбраны только:
-
izoferen.doc -
kifera.doc -
la-fer-atos.doc -
oferta.doc
Напомним:
-
?— ровно один любой символ; -
*— любое количество символов, в том числе ноль.
Проверим маску 1: ?fer*.doc
Перед fer должен находиться ровно один символ.
Например, izoferen.doc имеет перед сочетанием fer несколько символов:
izo + fer + en.doc
Поэтому под эту маску файл не подходит.
Значит, вариант 1 неверен.
Проверим маску 2: *?fer*?.do*
Разберём её:
-
*— любое количество символов; -
?— один символ; -
fer— обязательно сочетаниеfer; -
*— любое количество символов; -
?— ещё один обязательный символ; -
.do— начало расширения; -
*— любое продолжение расширения.
Проверяем нужные файлы.
izoferen.doc:
iz + o + fer + e + n + .do + c
Подходит.
kifera.doc:
k + i + fer + `` + a + .do + c
Подходит.
la-fer-atos.doc:
la + - + fer + -ato + s + .do + c
Подходит.
oferta.doc:
`` + o + fer + t + a + .do + c
Подходит.
Теперь проверим два файла, которые не должны попасть в результат.
kifera.dat не подходит, потому что расширение .dat не соответствует части маски .do*.
merfer.docx тоже не подходит. Сочетание fer находится непосредственно перед точкой:
merfer.docx
А после fer в маске обязательно должен встретиться хотя бы один символ, заданный вторым знаком ?. Здесь после fer сразу идёт точка, поэтому соответствия нет.
Таким образом, вторая маска выбирает ровно четыре требуемых файла.
Для проверки остальных вариантов
Маска 3:
*fer?*.d*
Под неё действительно подходят требуемые файлы, но подходит также:
kifera.dat
Потому что .d* допускает расширение .dat. Следовательно, появляется лишний файл.
Маска 4:
*fer?.doc*
Здесь после fer до точки должен находиться ровно один символ.
Например:
kifera.doc → после fer стоит только a — подходит.
Но:
izoferen.doc → после fer стоят en, то есть два символа — не подходит;
oferta.doc → после fer стоят ta — тоже не подходит;
la-fer-atos.doc → после fer стоит несколько символов — не подходит.
Следовательно, вариант 4 неверен.
Ответ: 2) *?fer*?.do*.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

