Ваш браузер устарел. Рекомендуем обновить его до последней версии.

Меню сайта


Счётчик посещений


 

счетчик посещений

Часы

Календарь

Обратная связь

Поля, помеченные символом *, обязательны для заполнения.

4. Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы:

Символ «?» (вопросительный знак) означает ровно один произвольный символ.

Символ «*» (звёздочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность.

В каталоге находится 6 файлов:

maveric.map

maveric.mp3

tavema.mp4

revolver.mp4

vera.mp3

zveri.mp3

Ниже представлено восемь масок. Сколько из них таких, которым соответствует ровно четыре файла из данного каталога?

*ver*.mp* *?ver?*.mp? ?*ver*.mp?* *v*r*?.m?p*
???*???.mp* ???*???.m* *a*.*a* *a*.*p*

 Ответ: 3

    Решение:

 

*ver*.mp*
  1. Под эту маску подходят все файлы, у которых в имени есть последовательность ver и у которых расширение начинается с mp.
  2. У первого файла расширение начинается с ma, его откидываем сразу, т. к. в маске расширение  с mp.
  3. Из оставшихся 5-ти файлов (maveric.mp3, taverna.mp4, revolver.mp4, vera.mp3, zveri.mp3) под маску *ver* подходят все (маска *ver* означает, что имя файла должно содержать ver, при этом не важно, есть ли что-то до или после).
  4. Таким образом, под маску 1 подойдут 5 файлов.
 ???*???.mp*  
  1. С расширением те же самые, что и в маске 1: остаются файлы maveric.mp3, taverna.mp4, revolver.mp4, vera.mp3, zveri.mp3.
  2. Имя файла, согласно маске, должно содержать хотя бы 6 символов.
  3. Из нашего списка только 3 файла имеют имя с длиной, больше либо равной 6.
  4. Значит, под маску 2 подойдут только 3 файла.
  5. Маска 2 нам не подходит.
 *?ver?*.mp?  
  1. С расширением всё, что и в маске 1, с единственным отличием: теперь расширение должно иметь строго 3 символа. Таким образом, остаются файлы maveric.mp3, taverna.mp4, revolver.mp4, vera.mp3, zveri.mp3.
  2. Согласно маске, имя файла должно содержать последовательность ver, при этом до и после этой последовательности должен быть как минимум один символ.
  3. Так, vera.mp3 и resolver.mp4 выпадают. 
  4. Под маску 3 подходят только 3 файла.
  5. Значит, она нам не подходит.
 ???*???.m*  
  1. Достаточно, чтобы расширение начиналось с буквы m и содержало сколько угодно символов.
  2. Под это условие попадают все файлы: maveric.map, maveric.mp3, taverna.mp4, revolver.mp4, vera.mp3, zveri.mp3.
  3. Согласно маске имени файла, файл должен содержать как минимум 6 символов.
  4. Этому условию удовлетворяют 4 файла: maveric.map, maveric.mp3, taverna.mp4, revolver.mp4.
  5. Маска 4 нам подходит.
 ?*ver*.mp?*  
  1. С расширением те же самые, что и в маске 3. Остаются файлы maveric.mp3, taverna.mp4, revolver.mp4, vera.mp3, zveri.mp3.
  2. Имя файла должно содержать последовательность ver, при этом до ver должен быть хотя бы один символ.
  3. Соответственно, выпадет vera.mp3. Все остальные подходят.
  4. Значит, под маску 5 подходят ровно 4 файла.
  5. Маска 5 нам подходит.
 *a*.*a*  
  1. В этой маске в имени, и в расширении должна встречаться буква a. 
  2. Под это условие попадает только maveric.map, так как только в этом файле и в имени, и в расширении содержится буква a.
  3. Маска 6 нам не подходит.
 *v*r*?.m?p*  
  1. Под эту маску подпадут файлы, у которых расширение начинается с m, затем идёт строго 1 символ, затем буква p, затем любое количество других символов (включая пустую последовательность).
  2. Заметим, что даже под это условие подпадает только 1 файл maveric.map, так как у всех остальных файлов между буквами m и p нет символа.
  3. Маска 7 не подходит.
 *a*.*p*  
  1. В имени файла должна быть буква a, а в расширении — буква p.
  2. Буква p есть в расширении во всех файлах.
  3. Буква a есть в именах только 4 файлов: maveric.map, maveric.mp3, taverna.mp4, vera.mp3.
  4. Значит, под маску 8 подпадает 4 файла.
  5. Эта маска нам подходит.

Ответ: 3

 

    НАЗАД