Файловая система
Тема: Файловая система.
Что нужно знать:
данные на дисках хранятся в виде файлов (наборов данных, имеющих имя)
чтобы было удобнее разбираться с множеством файлов, их объединяют в каталоги (в Windows каталоги называются «папками»)
каталог можно воспринимать как контейнер, в котором размещаются файлы и другие каталоги, которые называются подкаталогами или вложенными каталогами (они находятся внутри другого каталога, вложены в него)
каталоги организованы в многоуровневую (иерархическую) структуру, которая называется «деревом каталогов»
главный каталог диска (который пользователь видит, «открыв» диск, например, в Проводнике Windows или аналогичной программе) называется корневым каталогом или «корнем» диска, он обозначается буквой логического диска, за которой следует двоеточие и знак «\» (обратный слэш); например, A:\ – это обозначение корневого каталога диска А
каждый каталог (кроме корневого) имеет (один единственный!) «родительский» каталог – этот тот каталог, внутри которого находится данный каталог
полный адрес каталога – это перечисление каталогов, в которые нужно войти, чтобы попасть в этот каталог (начиная с корневого каталога диска); например
С:\USER\BIN\SCHOOL
полный адрес файла состоит из адреса каталога, в котором он находится, символа «\» и имени файла, например
С:\USER\BIN\SCHOOL\Вася.txt
маска служит для обозначения (выделения) группы файлов, имена которых имеют общие свойства, например, общее расширение
в масках, кроме «обычных» символов (допустимых в именах файлов) используются два специальных символа: звездочка «*» и знак вопроса «?»;
звездочка «*» обозначает любой количество любых символов, в том числе, может обозначать пустую последовательность;
знак вопроса «?» обозначает ровно один любой символ
при выводе списка имен файлов они могут быть отсортированы по имени, типу (расширению), дате последнего изменения, размеру; это не меняет их размещения на диске;
если установлена сортировка по имени или типу, сравнение идет по кодам символов, входящих в имя или в расширение
Пример 1:
Для групповых операций с файлами используются маски имен файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы: Символ «?» (вопросительный знак) означает ровно один произвольный символ. Символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность. Определите, по какой из масок будет выбрана указанная группа файлов:
1234.xls
23.xml
234.xls
23.xml
1) *23*.?x*
2) ?23?.x??
3) ?23?.x*
4) *23*.???
Решение:
рассмотрим первую маску *23*.?x*: она требует, чтобы в имени файла были стоящие подряд цифры 23 (это есть у всех заданных файлов) и в расширении слева от буквы «x» был один обязательный символ (ни одно имя файла не подходит); поэтому вариант 1 неверный
рассмотрим вторую маску ?23?.x??: она требует, чтобы в имени файла слева и справа от цифр 23 стояло по одному символу (подходит только для первого имени файла, для остальных не подходит); поэтому вариант 2 неверный
рассмотрим третью маску ?23?.x*: она не подходит по тем же причинам, что и вариант 2
рассмотрим последнюю маску *23*.???: она требует, чтобы в имени файла были стоящие подряд цифры 23 (это есть у всех заданных файлов) и в расширении было ровно три обязательных символа (это тоже верно для всех имен файлов); поэтому вариант 4 верный
таким образом, мы доказали, что правильный ответ – 4.
Пример 2:
Перемещаясь из одного каталога в другой, пользователь последовательно посетил каталоги DOC, USER, SCHOOL, A:\, LETTER, INBOX. При каждом перемещении пользователь либо спускался в каталог на уровень ниже, либо поднимался на уровень выше. Каково полное имя каталога, из которого начал перемещение пользователь?
1) A:\DOC
2) A:\LETTER\INBOX
3) А:\SCHOOL\USER\DOC
4) А:\DOC\USER\SCHOOL
Решение:
здесь предполагается, что пользователь не переходил на другой диск;
в задачах, где нужно определить полный адрес файла или каталога, нужно начинать с поиска имени диска, в данном случае каталог находится на диске A:\ (так обозначается корневой каталог)
поскольку в списке посещенных каталогов перед A:\ стоит SCHOOL, пользователь мог попасть в корень диска A:\ только через каталог SCHOOL, поэтому адрес стартового каталога начинается с A:\SCHOOL
так как среди предложенных вариантов только один удовлетворяет этому условию, можно остановиться (правильный ответ – 3), однако, давайте все же доведем процедуру до конца, это позволит выяснить некоторые интересные моменты, которые не сработали здесь, но могут сработать в других задачах
как пользователь попал в каталог SCHOOL? по условию он мог как подниматься, так и спускаться по дереву каталогов
явно он не мог спуститься из USER в SCHOOL, потому что SCHOOL находится в корневом каталоге и каждый каталог имеет только одного «родителя»; значит, пользователь поднялся из USER в SCHOOL, и начальная часть полного адреса А:\SCHOOL\USER
аналогично можно доказать, что пользователь поднялся в каталог USER из каталога DOC
таким образом, мы доказали, что правильный ответ – 3.
Пример 3:
Каталог содержит файлы с именами
а) q.c
б) qq.cpp
в) qq.c
г) q1.c1
д) qaa.cmd
е) q12.cpp
Определите, в каком порядке будут показаны файлы, если выбрана сортировка по типу (по возрастанию).
1) авгдбе 2) авгдеб 3) абвгде 4) авдбег
Решение:
при сортировке по типу сравниваются расширения имен файлов
при сравнении используют коды символов
отсутствие символа (когда расширение закончилось) считается «меньше» любого символа, то есть, файл с расширением .с будет находиться в списке выше, чем файлы с расширениями .c1 и .cmd
коды цифр размещаются в таблице символов раньше, чем коды букв, то есть, файл с расширением .с1 будет находиться в списке выше, чем файл с расширением .сmd
теперь можно распределить имена файлов по расширениям
а) q.c
в) qq.c
г) q1.c1
д) qaa.cmd
б) qq.cpp
е) q12.cpp
осталась еще одна проблема – решить, что делать, если расширения совпадают; в этом случае в большинстве программ для определенности используется дополнительная сортировка по имени, поэтому файл с именем q12.cpp будет стоять в списке выше, чем файл qq.cpp (код цифры ‘1’ меньше, чем код буквы ‘q’)
в итоге получаем
а) q.c
в) qq.c
г) q1.c1
д) qaa.cmd
е) q12.cpp
б) qq.cpp
таким образом, мы доказали, что правильный ответ – 2.
Задачи для тренировки:
Для групповых операций с файлами используются маски имен файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы: Символ «?» (вопросительный знак) означает ровно один произвольный символ. Символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность. Определите, какое из указанных имен файлов удовлетворяет маске: ?a???*
1) dad1 2) dad22 3) 3daddy 4) add444
В некотором каталоге хранился файл Задача5. После того, как в этом каталоге создали подкаталог и переместили в созданный подкаталог файл Задача5, полное имя файла стало Е:\Класс9\Физика\Задачник\Задача5. Каково было полное имя этого файла до перемещения?
1) Е:\Физика\Задачник\Задача5
2) Е:\Физика\Задача5
3) Е:\Класс9\Задачник\Задача5
4

Дано дерево каталогов. Определите полное имя файла Doc3.
1) A:\DOC3
2) A:\DOC3\Doc3
3) A:\DOC3\Doc1
4) A:\TOM3\Doc3
В некотором каталоге хранится файл Список_литературы.txt. В этом каталоге создали подкаталог с именем 10_CLASS и переместили в него файл Список_литературы.txt. После чего полное имя файла стало
D:\SCHOOL\PHYSICS\10_CLASS\Список_литературы.txt.
Каково полное имя каталога, в котором хранился файл до перемещения?
1) D:\SCHOOL\PHYSICS\10_CLASS
2) D:\SCHOOL\PHYSICS
3) D:\SCHOOL
4) SCHOOL
Пользователь, перемещаясь из одного каталога в другой, последовательно посетил каталоги LESSONS, CLASS, SCHOOL, D:\ , MYDOC, LETTERS. При каждом перемещении пользователь либо спускался в каталог на уровень ниже, либо поднимался на уровень выше. Каково полное имя каталога, из которого начал перемещение пользователь?
1) D:\MYDOC\LETTERS
2) D:\SCHOOL\CLASS\LESSONS
3) D:\LESSONS\CLASS\SCHOOL
4) D:\LESSONS
Для групповых операций с файлами используются маски имен файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы: Символ «?» (вопросительный знак) означает ровно один произвольный символ. Символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность. Определите, какое из указанных имен файлов удовлетворяет маске: ?ba*r.?xt
1) bar.txt 2) obar.txt 3) obar.xt 4) barr.txt
Находясь в корневом каталоге только что отформатированного диска, ученик создал 3 каталога. Затем в каждом из них он создал еще по 4 каталога. Сколько всего каталогов оказалось на диске, включая корневой?
1) 12 2) 13 3) 15 4) 16
Для групповых операций с файлами используются маски имен файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы: Символ «?» (вопросительный знак) означает ровно один произвольный символ. Символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность. Определите, по какой из масок будет выбрана указанная группа файлов
abcd.txt, bc.tel, bcd.txt, bc.tel
1) *bc*.?t* 2) ?bc?.t?? 3) ?bc?.t* 4) *bc*.t??
При задании или объединении группы файлов по именным признакам во многих системах используют, так называемые, шаблоны или маски файлов, которые включают в себя совпадающие части имен этих файлов и специальные символы "*" и "?". Символ "*" обозначает, что на его месте, где находится спецсимвол, может присутствовать любое количество любых символов, в том числе их может и не быть. Символ "?" обозначает, что на его месте может находиться любой одиночный символ. Имя файла состоит из двух частей: самого имени и расширения, которые разделяются точкой. Используя правила создания шаблонов файлов, определите, какой из перечисленных файлов подойдет под все предложенные маски:
*12*3.d*?
?123*.do*
*?12?.???
а?23*.*
l)aal23.do 2)al233.dot 3) a223123.doc 4) al23.doc
В каталоге находятся файлы со следующими именами:
file.mdb
file.mp3
ilona.mpg
pile.mpg
miles.mp3
nil.mpeg
Определите, по какой из масок будет выбрана указанная группа файлов:
file.mp3
pile.mpg
miles.mp3
nil.mpeg
1) ?il*.m* 2) ?il*.mp* 3) *il?.mp* 4) ?il*.mp?
страница 1
скачать
Другие похожие работы: