Ответ: 3.

A4 (базовый уровень, время – 3 мин)

Тема: Знание о файловой системе организации данных

Что нужно знать:

· данные на дисках хранятся в виде файлов (наборов данных, имеющих имя)

· чтобы было удобнее разбираться с множеством файлов, их объединяют в каталоги (в 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