Тема: Знание о файловой системе организации данных
Что нужно знать:
- данные на дисках хранятся в виде файлов (наборов данных, имеющих имя)
- чтобы было удобнее разбираться с множеством файлов, их объединяют в каталоги (в Windows каталоги называются «папками»)
- каталоги, находящиеся внутри другого каталога (вложены в него), называются подкаталогами или вложенными каталогами
- каталоги организованы в многоуровневую (иерархическую) структуру, которая называется «деревом каталогов»
- главный каталог диска называется корневым каталогом или «корнем» диска, он обозначается буквой логического диска, за которой следует двоеточие и знак «\»; например, A:\ – это обозначение корневого каталога диска А
- каждый каталог (кроме корневого) имеет (один единственный!) «родительский» каталог – этот тот каталог, внутри которого находится данный каталог
- полный адрес каталога – это перечисление каталогов, в которые нужно войти, чтобы попасть в этот каталог (начиная с корневого каталога диска); например, С:\USER\SCHOOL\KLASS
- полный адрес файла состоит из адреса каталога, в котором он находится, символа «\» и имени файла, например, С:\USER\SCHOOL\KLASS\Иванов.txt
- маска служит для обозначения группы файлов, имена которых имеют общие свойства, например, общее расширение
- в масках, кроме «обычных» символов (допустимых в именах файлов) используются два специальных символа: звездочка «*» и знак вопроса «?»;
- звездочка «*» обозначает любое количество любых символов, в том числе, может обозначать пустую последовательность;
- знак вопроса «?» обозначает ровно один любой символ
Задача 1:
Определите, какое из указанных имен файлов удовлетворяет маске: ?hel*lo.c?*
1) hello.c 2) hello.cpp 3) hhelolo.cpp 4) hhelolo.c
Решение:
1)проверяем соответствие файлов маске по частям;
2)первая часть маски «?hel» означает, что перед сочетанием «hel» в начале имени стоит один любой символ;
3)отсюда видим, что первые два имени не подходят (начинаются прямо с «hel», без стартового символа);
4)для двух последних имен проверяем второй блок маски: после «hel» должна быть цепочка «*lo.c». Т.к. символ «*» может означать либо последовательность символов, либо «пустую» последовательность, значит два оставшихся имени подходят для маски;
5)последняя часть маски, «?*», означает, что после «lo.c» должен стоять по крайне мере один любой символ (на это указывает знак «?»); для последнего имени, «hhelolo.c» после «lo.c» нет ни одного символа, следовательно, маска не подходит.
Ответ: 3.
ВНИМАНИЕ: Знак «*» в маске может соответствовать и пустой последовательности, а «?» не может соответствовать пустой последовательности, а заменяет ровно 1 символ.
Задача 2: Пользователь последовательно посетил каталоги DOC, USER, SCHOOL, A:\, LETTER, INBOX. При каждом перемещении пользователь либо спускался в каталог на уровень ниже, либо поднимался на уровень выше. Каково полное имя каталога, из которого начал перемещение пользователь?
1) A:\DOC
2) A:\LETTER\INBOX
3) А:\SCHOOL\USER\DOC
4) А:\DOC\USER\SCHOOL
Решение:
1)для того чтобы определить полный адрес файла или каталога, нужно начинать с поиска имени диска, в данном случае каталог находится на диске A:\
2)в списке посещенных каталогов перед A:\ стоит SCHOOL, поэтому пользователь мог попасть в корень диска A:\ только через каталог SCHOOL, следовательно, адрес стартового каталога начинается с A:\SCHOOL
Ответ: 3.
Задача 3: Пользователь работал с каталогом Участники. Сначала он поднялся на один уровень вверх, затем спустился на один уровень вниз, потом ещё раз спустился на один уровень вниз. В результате он оказался в каталоге C:\Конференция\Секции\Информатика. Запишите полный путь каталога, с которым пользователь начинал работу.
1)C:\Конференция\Регионы\Списки\Участники
2)C:\Конференция\Участники
3)C:\Конференция\Регионы\Участники
4)C:\Участники
Решение:В этом задании уже указано, что Участники — это каталог, а не файл. Известно, что пользователь поднялся на один уровень вверх, а затем дважды спустился на один уровень вниз и оказался в папке C:\Конференция\Секции\Информатика. Проделаем этот путь в обратном порядке — дважды поднимемся на один уровень и один раз спустимся на один уровень. Поднявшись на два уровня вверх, мы окажемся в папке C:\Конференция\. Далее необходимо спуститься на один уровень, т. е. в конечном итоге полный путь каталога, с которым пользователь начал работу должен выглядеть так — C:\Конференция\. Под этот вариант подходит ответ номер 2.
Ответ: 2.
Задача 4:В некотором каталоге хранился файл Газета, имевший полное имя C:\Сентябрь\Выпуск1\Газета. Пользователь, находившийся в этом каталоге, поднялся на один уровень вверх, создал подкаталог Вёрсткаи переместил в созданный подкаталог файл Газета. Каково стало полное имя этого файла после перемещения?
1)C:\Сентябрь\Вёрстка\Газета
2)C:\Вёрстка\Сентябрь\Выпуск1\Газета
3)C:\Вёрстка\Газета
4)C:\Сентябрь\Выпуск1\Вёрстка\Газета
Решение:Рассмотрим пошагово действия пользователя. В условии указано полное имя файла Газета — C:\Сентябрь\Выпуск1\Газета.
Нужно быть внимательным, так как может сбить с толку то, что файл Газета не имеет расширения и принять его за папку!
Итак, файл Газета находится в папке C:\Сентябрь\Выпуск1\. Пользователь поднялся на один уровень вверх — значит он оказался в папке C:\Сентябрь\. Далее он создал папку Вёрстка и переместил в созданный подкаталог файл Газета. Таким образом, получаем полное имя файла C:\Сентябрь\Вёрстка\Газета
Ответ: 1.