Задачи типа А4 ЕГЭ по информатике подразумевают проверку знаний о файловой системе организации данных . За правильно решенное задание начисляется 1 балл , а рекомендованное время выполнения данного типа задач — 1 минут а.
Для решения данного типа задач необходимо знать следующее:
- файл — область памяти, имеющая имя. Информация на дисках хранится в виде файлов.
- файлы имеют расширения (хотя это необязательно), которое отделяется от имени точкой (например, файл music.mp3 — имеет расширение mp3 ).
- полное имя файла содержит полный путь к нему. Например, C:\music\metallica\One.mp3 — это полное имя файла One.mp3.
- файлы могут хранится в папках . У папок тоже есть имя. Папки иногда называют каталогами и директориями .
- папка, которая находится в другой папке, называется вложенной . Папка самого верхнего уровня, которая не лежит в другой папке, называется корневой или просто — корень диска . В Windows корневые каталоги обозначаются так — буква диска:\ , например, C:\ — корневой каталог диска C, E:\ — корневой каталог диска E.
- для выделения группы файлов удобно использовать маски . В маске можно использовать символы, которые должны быть в выделяемых именах файлов, а также специальные символы — * (звездочка) и ? (знак вопроса). На месте звездочки может стоять любое количество (а может и не быть вообще) любых символов, а знак вопроса указывает, что на его месте может стоять только один символ.
Рассмотрим некоторые примеры:
1) Как будет выглядеть маска для выделения файлов с расширением jpg?
В данном примере нас не интересует, сколько и какие символы будут содержаться в имени файла, поэтому маска будет выглядеть так — *.jpg
2) Как будет выглядеть маска для выделения файлов, в имени которых содержится doc ?
В данном случае нас не интересует расширение файлов, главное, чтобы в имени содержалось doc . Т. е. не важно стоит что-то до и после doc . Итоговая маска будет выглядеть так — *doc*.*
3) Как будет выглядеть маска для выделения файлов, имя которых начинается на w ?
По аналогии с примерами выше, запишем маску — w*.*
4) Как выглядит маска для файлов, в имени которых вторая буква e ?
Знак вопроса в маске заменяет один символ, соответственно маска будет выглядеть так ?e*.*
5) Как выглядит маска для файлов, в имени которых второй символ l , пятый символ e , а третья буква в расширении c ?
Так как нам известны конкретные позиции букв в имени файла, использовать звездочку нельзя. Начало маски будет выглядеть следующим образом — ?l??e . После 5-го символа могут быть или не быть другие символы, поэтому после него поставим звездочку — ?l??e* . Аналогично и с расширением — ??e* . В итоге получается следующая маска ?l??e*.??e* .
Рассмотрим решение задач типа А4 :
Задача А4 из демонстрационного варианта ЕГЭ 2012г.
Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которой также могут встречаться следующие символы.
Символ «?
» (вопросительный знак) означает ровно один произвольный
символ.
Символ «* » (звёздочка) означает любую последовательность символов произвольной длины, в том числе «* » может задавать и пустую последовательность.
В каталоге находятся пять файлов:
Определите, по какой из масок из них будет отобрана указанная группа
файлов:
Рассмотрим маски более детально:
1) имя файла содержит букву o , за ней обязательно должен быть хотя бы 1 символ. Расширение должно начинаться с буквы d , за которой должен быть хотя бы 1 символ. Если мы посмотрим исходные файлы, то увидим, что под эту маску подходит и файл orsk.dat , хотя в результатах его нет. Значит, данная маска не является решением .
2) имя файла начинается с символа, за которым на втором месте стоит буква o , за которой должен быть хотя бы 1 символ. Расширение начинается с буквы d . Применим маску к исходным файлам увидим, что в результате полученная группа совпадает с указанной в условии, файл orsk.dat маске не соответствует. Это и есть правильное решение .
3) в третьей маске имя файла содержит or в любой позиции, расширение начинается на doc , после чего должен быть еще хотя бы 1 символ. Здесь сразу видно, что файлы lord.doc и port.doc не подходят под маску, значит решение неверно .
4) имя файла состоит из 4-х символов, причем в середине содержится or , перед ним и после него по одному символу. Расширение начинается на doc , после чего следует еще 1 символ. Как легко убедиться, файлы lord.doc и port.doc не соответствуют заданной маске (у них расширение из 3-х символов). Решение неверно .
В итоге получаем правильный ответ — 2 .
Решение задачи А4 демонстрационного варианта ЕГЭ 2013:
Для групповых операций с файлами используются маски имён файлов. Маска представляет собой следовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы.
Символ «?» (вопросительный знак) означает ровно один произвольный символ.
Символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность.
В каталоге находится 6 файлов:
asc.wma
casting.wmv
last.wma
pasta.wmvx
pasta.wri
vast.wma
Определите, по какой из перечисленных масок из этих 6 файлов будет
отобрана указанная группа файлов:
casting.wmv
last.wma
pasta.wmvx
vast.wma
1) ?as*.wm? 2) *as?.wm* 3) ?as*.wm* 4) ?as*.w*
Решение :
Рассмотрим каждую маску подробнее:
1) Перед as стоит один символ, после может быть любое количество любых символов или не быть вообще . Расширение состоит из 3-х символов, начинается на wm , после чего еще один символ.
Как видим, файл pasta.wmvx не соответствует маске, так как его расширение состоит из 4-х символов, но он есть среди отобранных. Значит маска неверна.
Формулировка задания: Для групповых операций с файлами используются маски имен файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы: символ «?» (вопросительный знак) означает ровно один произвольный символ; символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность. В каталоге находится 6 файлов. Определите, по какой из масок из них будет отобрана указанная группа файлов.
Задание входит в ЕГЭ по информатике для 11 класса под номером 4 (Базы данных. Файловая система).
Рассмотрим, как решаются подобные задания на примере.
Пример задания:
Для групповых операций с файлами используются маски имен файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы:
- Символ «?» (вопросительный знак) означает ровно один произвольный символ.
- Символ «*» (звёздочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность.
В каталоге находится 6 файлов:
door.doc
fedor.docx
msdos.doc
msdos.dat
radost.doc
rodos.docx
Определите, по какой из масок из них будет отобрана указанная группа файлов:
fedor.docx
msdos.doc
radost.doc
rodos.docx
- *?do?*.d*
- ?do*.doc
- *?do?*.do*
- *do?.doc*
Для решения задания необходимо найти такую маску, чтобы по ней отбирались файлы
fedor.docx
msdos.doc
radost.doc
rodos.docx
И не отбирались файлы
door.doc
msdos.dat
Подходящая маска должна содержать в себе последовательность do до точки и последовательность doc после точки. Перед первой последовательностью должно быть 2 символа, после нее – 1 или несколько символов (?*). После второй последовательности могут быть символы, а могут и не быть.
Чтобы исключить имя файла «door.doc», нужно чтобы перед последовательностью do был хотя бы 1 символ, то есть нужна последовательность *? в начале. Чтобы исключить имя файла «msdos.dat», нужно чтобы после точки шла последовательность do или doc. Таким образом маска может выглядеть так:
Разберем каждую маску из списка и проверим, какие файлы будут отобраны:
Вариант 1
*?do?*.d* – маска похожа на ту, что мы составили самостоятельно. Все 4 файла «fedor.docx», «msdos.doc», «radost.doc», «rodos.docx» будут отобраны по ней. Однако по этой маске будет отобран и файл «msdos.dat», поэтому маска не подойдет.
Вариант 2
Do*.doc – маска не подходит, так как до последовательности do она содержит только 1 символ. Поэтому файлы «fedor.docx», «msdos.doc», «radost.doc», «rodos.docx» не будут отобраны по ней.
Вариант 3
*?do?*.do* – маска похожа на ту, что мы составили самостоятельно. Все 4 файла «fedor.docx», «msdos.doc», «radost.doc», «rodos.docx» будут отобраны по ней. При этом файлы «door.doc» и «msdos.dat» отобраны не будут. Так как перед первой последовательностью do должен быть хотя бы 1 символ, что исключает имя файла «door.doc». А вторая последовательность do исключит имя файла «msdos.dat». Значит, эта маска подойдет в качестве ответа.
Вариант 4
*do?.doc* – маска не подходит, так как после последовательности do может быть только 1 символ. Поэтому файл «radost.doc» не будет отобран по ней.
Таким образом, в качестве ответа подходит только маска номер 3.
При выполнении операций с файловой структурой на том или другом носителе информации (гибком, жестком или лазерном диске) очень часто возникает ситуация когда необходимо провести операцию (например, удаление или пересылку) не с одним файлом, а с целой группой. Причем в этой группе файлы могут быть расположены не подряд, а в случайном порядке.
В операционной системеMS-DOS существует способ, который значительно упрощает выполнение такой операции с группой файлов. Для решения подобных задач используются шаблоны имен (маски) файлов . Фактически такой шаблон (маска) выступает в роли общего или группового имени для той группы файлов, над которой осуществляется та или иная операция. Такой шаблон представляет собой файл, и в имени, и в расширении которого могут использоваться только два символа: * и ? .
Символ * , включенный в шаблон, может обозначать произвольное число любых символов или в имени файла, или в его расширении. Например:
ü *. соm - все командные файлы (с расширением .соm );
ü *.* - все файлы текущего каталога;
ü а:fах*.dос - файлы с расширением .dос каталога fах.
Символ? , включенный в шаблон, может обозначать один произвольный символ (или его отсутствие) в имени файла или в его расширении. Например:
ü ??. bak - файлы с любыми двухсимвольными именами и расширением bak ;
ü ТЕА??.* - файлы с именем, начинающимся с ТЕА и состоящим не более чем из 5 символов.
Путь к файлу - это имя диска и последовательность имён каталогов относительно корневого, разделённых символом "", где находится файл. Еслиимя устройства не указано, то подразумевается текущий диск. Если не указан путь, то подразумевается текущий каталог.
ПРИМЕР: Пусть в корневом каталоге диска С: имеются два каталога 1-го уровня (GAMES, TEXT ) и один каталог 2-го уровня (CHESS ). Как найти имеющиеся файлы (chess.exe, proba.txt )? Для этого необходимо указать путь к файлу. В путь файла входит имя диска и последовательность имен каталогов, т.е. пути к вышеперечисленным файлам соответственно будут:
C:GAMESCHESSchess.exe
C:TEXTproba.txt
Рис. 2 Пример иерархической структуры каталога.
Над файлами производиться различные операции:
* копирование (копия файла помещается в другой каталог),
* перемещение (сам файл перемещается в другой каталог),
* удаление (запись о файле удаляется из каталога),
* переименование (изменяется имя файла) и т.д.
Конец работы -
Эта тема принадлежит разделу:
Практическая работа №2 - Составление имен каталогов и файлов, их шаблонов и маршрутов к заданным файлам
Тема составление имен каталогов и файлов их шаблонов и маршрутов к заданным файлам.. цель работы овладение практическими навыками работы в файловой системе по.. практическая работа порядок выполнения работы..
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:
Что будем делать с полученным материалом:
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
(символов-джокеров).
Шаблоны в командных оболочках
Чаще всего употребляются два символа - для замены любой строки символов звёздочка (* ) и для замены любого одиночного символа знак вопроса ().
При этом * может означать и пустую строку (отсутствие символов). Так например, одиноко стоящая звезда - это шаблон, к которому подходят все файлы каталогов, в которых осуществляется поиск по данному шаблону. Использование шаблона *.html позволит выделить все html-файлы, а шаблона my*.odt - файлы начинающиеся с «my» и оканчивающиеся на «.odt». Шаблон *2010* определяет все файлы, в именах которых присутствует группа символов 2010.
cat * >concat # Конкатенирует все файлы в текущем каталоге в один *.??? # Удаляет все файлы в текущем каталоге, имеющие суффикс из трех символовШаблоны в СУБД
В программах управления базами данных, например SQL , вместо * используется знак процента %, вместо? знак подчёркивания _. В Microsoft Access , точнее, в их скриптовых языках, символы-джокеры могут быть использованы в выражениях «LIKE».
Пример шаблонов
Регулярные выражения
В регулярных выражениях концепция символов-джокеров получила дальнейшее развитие. В них есть специальные обозначения не только для одного («.») и любого количества (квантификатор «*») символов, но и различных классов символов (например, пустые символы «\s»), альтернативных выражений ("|") и многое другое.
Назначение шаблонов
Иногда при работе с файлами необходимо или возможно указывать только часть их имени или расширения. Это делается, например, для того, чтобы в параметрах программы не называть полностью имена всех файлов, над которыми производится операция, а выделить их в группу по какому-нибудь признаку (заметим, что некоторые программы работают не с единичными файлами, а с группой). Также бывает необходимо найти файл или файлы, у которых неизвестны полное имя и/или расширения. Для этих целей используют так называемые шаблоны.
Командные оболочки Linux (shell , bash и др.), а также различные языки программирования позволяют выделять (искать) из множества имен файлов и каталогов определенные группы посредством использования так называемых шаблонов имен файлов. С шаблоном командная оболочка сравнивает очередной файл, и если он «вписался» в этот шаблон, то будет учтен, если нет - то будет пропущен. Грубо, шаблон можно сравнить с некой коробкой, в которую влезет не каждый предмет и не только из-за размеров, но и из-за несовпадения изгибов коробки и предмета.
Сегодня мы поговорим о масках имен файлов. Итак, что же это такое? Маской имени файла называется комбинация специальных символов, позволяющая легко производить массовый отбор файлов по каким-то общим признакам. Например, файлов одного типа или с похожим именем. Возможен также одновременный отбор по названным критериям.
Теперь разберемся, для чего это вообще нужно?
Во времена MS-DOS и подобных ей операционных систем, маски имен файлов использовались повсеместно. Это сегодня мы просто выделяем нужные файлы и копируем их, куда нужно. Тогда же для каждого действия вручную вбивалась соответствующая команда и применение масок имен позволяло значительно облегчить этот рутинный труд.
С появлением и развитием первых файловых менеджеров потребность в использовании масок сильно сократилась, но они используются и сегодня. Например, с помощью масок легко осуществлять поиск необходимых файлов. Несмотря на то, что поиск в Windows и так неплохо ищет файлы хоть по типу, хоть по имени, с помощью маски можно задать более конкретные условия, что сделает поиск более точным.
Также возможность отбор файлов по маскам используется в некоторых приложениях. Например, в программе MeinPlatz, которую мы рассматривали в статье или Recuva, о которой говорилось в статьях и .
Ну и конечно же эти маски используются при работе с командной строкой в консоли, хотя если вы работаете в консоли, я не думаю, что эта статья откроет вам что-то новое.
Для отбора файлов по маске используются символы «?» и «*», где «*» — набор произвольных символов, а «?» — один произвольный символ.
Например, под маску *.* попадают абсолютно все файлы, поскольку набор произвольных символов указывается как для имени, так и для расширения файла.
Если же нам необходимо отобрать, скажем, все аудиозаписи формата mp3, мы можем использовать маску *.mp3.
Маска example.* позволит отобрать файлы всех типов, носящие имя example. Но стоит придать этой маске вид example*.*, и под нее начнут попадать все файлы, начинающиеся с example. Например, под этот шаблон попадут также файлы с именами example1, exampleforyou и так далее.
Со знаком «?» все то же самое, но он заменяет какой-то один символ, поэтому необходимо точно знать количество символов. В связи с этим на практике он используется значительно реже, чем «*».
Если моя статья оказалась для вас полезной, посоветуйте пожалуйста ее своим друзьям с помощью кнопок социальных сетей или просто поделившись ссылкой.