Файловая система: каталоги, полное имя файла и маски поиска
Как читать дерево каталогов, строить полное имя файла и безошибочно применять маски с символами * и ?.
Файловая система даёт в ОГЭ два разных задания: теоретическое — на маску имени, и практическое (задание 11) — на поиск файла средствами операционной системы. Оба требуют точного понимания, из чего состоит имя файла.
Полное имя состоит из пути и собственно имени: имя диска, двоеточие, обратный слеш, последовательность вложенных каталогов через слеши и имя файла с расширением. Например: D:\ШКОЛА\ИНФОРМАТИКА\otchet.docx. Каталоги перечисляются от корня к файлу.
Символы маски
| Символ | Что означает | Пример маски | Подходит | Не подходит |
|---|---|---|---|---|
| ? | ровно один любой символ | ?ab.txt | kab.txt | ab.txt |
| * | любая последовательность, в том числе пустая | a*.txt | a.txt, abc.txt | bac.txt |
| точка | разделитель имени и расширения | *.do? | text.doc | text.docx |
- ·tabmen.xlt: ?=t, ab, *=men, x?t=xlt
- ·sabr.xxt: ?=s, ab, *=r, x?t=xxt
- ·kab.xt: расширение из 2 символов, нужно 3
- ·abc.xyt: перед ab нет символа для ?
- ·tab.txt: расширение начинается не с x
Условие: определите, какое из указанных имён файлов удовлетворяет маске ?ab*.x?t 1) kab.xt 2) tabmen.xlt 3) abc.xyt 4) sab.xt Решение. Маска до точки: ?ab* — один любой символ, затем буквы a и b, затем что угодно. Маска после точки: x?t — ровно три символа, первый x, третий t. 1) kab.xt — имя подходит (?=k, ab, *=пусто), но расширение «xt» содержит 2 символа вместо 3 — не подходит. 2) tabmen.xlt — ?=t, затем ab, *=men; расширение xlt: x, любой l, t — подходит. 3) abc.xyt — перед «ab» нет символа под ?; сама строка начинается с a, значит ?=a, а дальше должно идти «ab», но идёт «bc» — не подходит. 4) sab.xt — расширение из 2 символов — не подходит. В бланк: 2
Условие: в одном из подкаталогов каталога DEMO находится файл, содержащий слово «мышь». Определите размер этого файла в килобайтах. Порядок действий на компьютере. 1) Открыть каталог DEMO. 2) В строке поиска указать искомое слово и включить поиск по содержимому файлов, обязательно с флагом «включая вложенные папки». 3) В результатах открыть свойства найденного файла. 4) В свойствах прочитать размер именно в килобайтах (Кбайт), а не в байтах. В бланк: число, например 24 — без слова «Кбайт» и без пробелов.
Символ * заменяет любую последовательность, включая пустую, поэтому маске a*.txt удовлетворяет и файл a.txt. А вот ? обязательно требует ровно один символ: маске ?a.txt файл a.txt не удовлетворяет. Вторая типичная потеря балла — проверить имя и забыть проверить расширение: длина расширения задаётся маской так же жёстко.
- ✓Маска разделена на часть до точки и после точки
- ✓Каждый ? заменён ровно одним символом
- ✓Учтено, что * может означать пустую строку
- ✓Длина расширения совпадает с требованием маски
- ✓В практическом задании поиск включал вложенные подкаталоги
- ✓Ответ записан в требуемых единицах, только цифрами