Просмотр содержимого документа
«Задание 4 (презентация по типам задач к ОГЭ в 9 классе)»
A4. Знание о файловой системе организации данных
I. Определите, какое из указанных имен файлов удовлетворяет маске: ? hel*lo.c ? *
1) hello.c 2) hello.cpp 3) hhelolo.cpp 4) hhelolo.c
Решение:
?hel
hello.cp
×
hello.cpp
×
hhelolo.cpp
hhelolo.cpp
hhelolo.c
- будем проверять соответствие файлов маске по частям, записывая результаты в таблицу
hhelolo.c
- начнем с первой части маски, « ?hel »; эта часть означает, что перед сочетанием « hel » в начале имени стоит один любой символ;
- сразу видим, что первые два имени не подходят (начинаются прямо с « hel », без стартового символа), отмечаем их крестиком в таблице и больше не рассматриваем; желтым и лиловым маркером в таблице выделены соответствующие части маски и имен файлов (где есть совпадение)
- для двух последних имен проверяем второй блок маски : после « hel » должна быть цепочка « lo.c », или вплотную (и это возможно!) или через произвольную «вставку», на которую указывает звездочка в маске; видим, что оба имени прошли проверку:
?hel* lo.c ?*
?hel
hello.cp
?hel*lo.c
×
hello.cpp
hhelolo.cpp
×
hhelolo.cpp
hhelolo.c
hhelolo.cpp
hhelolo.c
hhelolo.c
- последняя часть маски, « ?* », означает, что после « lo.c » должен стоять один любой символ (на это указывает знак «?»); проверяя это правило, обнаруживаем, что для последнего имени, « hhelolo.c », маска не подходит, поскольку после « lo.c » ни одного символа нет:
hello.cp
?hel
hello.cpp
? hel*lo.c
×
hhelolo.cpp
?hel*lo.c?*
×
hhelolo.c
hhelolo.cpp
hhelolo.cpp
hhelolo.c
hhelolo.cpp
hhelolo.c
×
II. Перемещаясь из одного каталога в другой, пользователь последовательно посетил каталоги DOC, USER, SCHOOL, A:\, LETTER, INBOX. При каждом перемещении пользователь либо спускался в каталог на уровень ниже, либо поднимался на уровень выше. Каково полное имя каталога, из которого начал перемещение пользователь?
- A:\DOC 2) A:\LETTER\INBOX
- A:\DOC 2) A:\LETTER\INBOX
3) А:\SCHOOL\USER\DOC 4) А:\DOC\USER\SCHOOL
Решение:
- заметим, что здесь предполагается, что пользователь не переходил на другой диск;
- в задачах, где нужно определить полный адрес файла или каталога, нужно начинать с поиска имени диска, в данном случае каталог находится на диске A:\ (так обозначается корневой каталог)
- поскольку в списке посещенных каталогов перед A:\ стоит SCHOOL , пользователь мог попасть в корень диска A:\ только через каталог SCHOOL , поэтому адрес стартового каталога начинается с A:\SCHOOL
- как пользователь попал в каталог SCHOOL ? по условию он мог как подниматься, так и спускаться по дереву каталогов
DOC, USER, SCHOOL, A:\, LETTER, INBOX.
- явно он не мог спуститься из USER в SCHOOL , потому что SCHOOL находится в корневом каталоге и каждый каталог имеет только одного « родителя »; значит, пользователь поднялся из USER в SCHOOL , и начальная часть полного адреса А:\SCHOOL\USER
- аналогично можно доказать, что пользователь поднялся в каталог USER из каталога DOC
- таким образом, правильный ответ – 3
А:\SCHOOL\USER\DOC
III. Каталог содержит файлы с именами
а) 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) авгдеб
IV. Определите, по какой из масок будет выбрана указанная группа файлов:
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 верный
*23*.???
1234.xls
23.xml
234.xls
23.xml