Презентация "О файлах и файловых структурах" 8 класс


Подписи к слайдам:
Алгоритм, свойства алгоритмов, способы записи алгоритмов

О файлах и файловых структурах

Подготовил:

учитель информатики и ИКТ

Ризванов З.З.

Ключевые слова

Файл

Файловая система

Каталог

Иерархия

Дайте определение ФАЙЛ?

  • Файл – это информация, хранящаяся на внешнем носителе и объединенная общим именем.
  • Файл – это поименованная область внешней памяти.

Что значит понятие ФАЙЛОВАЯ СИСТЕМА?

  • Файловая система - это функциональная часть ОС, обеспечивающая выполнение операций над файлами.

Что должно быть известно пользователю, чтобы найти нужный файл?

  • Какое имя у файла
  • Где хранится файл

Что такое КАТАЛОГ? Какой каталог называется корневым?

  • Каталог – это поименованная совокупность файлов и подкаталогов (вложенных каталогов).
  • Каталог самого верхнего уровня называется корневым каталогом.

Как называется графическое изображение иерархической файловой структуры?

  • Графическое изображение иерархической структуры называется деревом.

Графическое изображение иерархической файловой структуры

Задание 1.

Определите, какое из указанных имен файлов удовлетворяет маске: ?hel*lo.c?*

  • hello.c
  • hello.cpp
  • hhelolo.cpp
  • hhelolo.c

Правильный ответ: 3

Возможные ловушки и проблемы:

Возможные ловушки и проблемы:

  • можно забыть, что звездочка «*» может соответствовать и пустой последовательности; например, в рассмотренной задаче имя «hhelolo.cp» также соответствует маске
  • можно забыть, что знак «?» НЕ может соответствовать пустой последовательности, а заменяет ровно 1 символ

Задание 2.

Перемещаясь из одного каталога в другой, пользователь последовательно посетил каталоги DOC, USER, SCHOOL, A:\, LETTER, INBOX. При каждом перемещении пользователь либо спускался в каталог на уровень ниже, либо поднимался на уровень выше. Каково полное имя каталога, из которого начал перемещение пользователь?

1) A:\DOC

2) A:\LETTER\INBOX

3) А:\SCHOOL\USER\DOC

4) А:\DOC\USER\SCHOOL

Решение:

1) сразу отметим, что здесь предполагается, что пользователь не переходил на другой диск;

2) в задачах, где нужно определить полный адрес файла или каталога, нужно начинать с поиска имени диска, в данном случае каталог находится на диске A:\

3) поскольку в списке посещенных каталогов перед A:\ стоит SCHOOL, пользователь мог попасть в корень диска A:\ только через каталог SCHOOL, поэтому адрес стартового каталога начинается с A:\SCHOOL

4) так как среди предложенных вариантов только один удовлетворяет этому условию, можно остановиться (правильный ответ – 3), однако, давайте все же доведем процедуру до конца, это позволит выяснить некоторые интересные моменты, которые не сработали здесь, но могут сработать в других задачах

5) как пользователь попал в каталог SCHOOL? по условию он мог как подниматься, так и спускаться по дереву каталогов

6) явно он не мог спуститься из USER в SCHOOL, потому что SCHOOL находится в корневом каталоге и каждый каталог имеет только одного «родителя»; значит, пользователь поднялся из USER в SCHOOL, и начальная часть полного адреса А:\SCHOOL\USER

7) аналогично можно доказать, что пользователь поднялся в каталог USER из каталога DOC

Возможные ловушки и проблемы

Возможные ловушки и проблемы

  • можно забыть, что названия каталогов в полном имени перечисляются в порядке входа в них, начиная от корневого; пользователь выходил из каталогов, поднимаясь к корню диска A:\, поэтому проходил каталоги в обратном порядке (на эту ошибку рассчитан неверный ответ А:\DOC\USER\SCHOOL)
  • можно перепутать каталог, из которого вышел пользователь, и каталог, где он в конечном счете оказался (на эту ошибку рассчитан неверный ответ А:\LETTER\INBOX)
  • в условии есть лишние данные, которые только запутывают дело; например, имена каталогов LETTER, INBOX никак не влияют на ответ, потому что пользователь попал в них уже после выхода в корневой каталог диска A:\, то есть, пройдя весь путь исходного каталога в обратном порядке

Задание 3.

Каталог содержит файлы с именами

  • q.c
  • qq.cpp
  • qq.c
  • q1.c1
  • qaa.cmd
  • q12.cpp
  • Определите, в каком порядке будут показаны файлы, если выбрана сортировка по типу (по возрастанию).

  • 134526
  • 134562
  • 123456
  • 135264

Решение:

1) при сортировке по типу сравниваются расширения имен файлов

2) при сравнении используют коды символов

3) отсутствие символа (когда расширение закончилось) считается «меньше» любого символа, то есть, файл с расширением будет находиться в списке выше, чем файлы с расширениями .c1 и .cmd

4) коды цифр размещаются в таблице символов раньше, чем коды букв, то есть, файл с расширением .с1 будет находиться в списке выше, чем файл с расширением .сmd

5) теперь можно распределить имена файлов по расширениям

а) q.c

в) qq.c

г) q1.c1

д) qaa.cmd

б) qq.cpp

е) q12.cpp

Решение:

6) осталась еще одна проблема – решить, что делать, если расширения совпадают; в этом случае в большинстве программ для определенности используется дополнительная сортировка по имени, поэтому файл с именем q12.cpp будет стоять в списке выше, чем файл qq.cpp (код цифры ‘1' меньше, чем код буквы ‘q’) в итоге получаем:

а) q.c

в) qq.c

г) q1.c1

д) qaa.cmd

е) q12.cpp

б) qq.cpp

7) таким образом, мы доказали, что правильный ответ – 2.

Возможные ловушки и проблемы:

Возможные ловушки и проблемы:

  • можно забыть правильно расставить имена файлов с одинаковыми расширениями (неверный ответ 1)
  • нельзя сравнивать числовые значения: например, интуитивно кажется, что файл с расширением .c10 «больше», чем файл с расширением .c2, однако это неверно, потому что код цифры '2' больше, чем код цифры '1’; поэтому файл с расширением .c10 будет стоять в списке выше файла с расширением .c2 (при сортировке по типу в порядке возрастания)
  • можно забыть, что отсутствие кода (имя или расширение закончилось) «меньше» любого кода
  • можно забыть, что коды цифр меньше, чем коды букв

Задание 4.

Для групповых операций с файлами используются маски имен файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы: Символ «?» (вопросительный знак) означает ровно один произвольный символ. Символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность. Определите, по какой из масок будет выбрана указанная группа файлов:

  • *23*.?x*
  • ?23?.x??
  • ?23?.x*
  • *23*.???

1234.xls

23.xml

234.xls

23.Xml

Решение:

  • рассмотрим первую маску *23*.?x*: она требует, чтобы в имени файла были стоящие подряд цифры 23 (это есть у всех заданных файлов) и в расширении слева от буквы «x» был один обязательный символ (ни одно имя файла не подходит); поэтому вариант 1 неверный
  • рассмотрим вторую маску ?23?.x??: она требует, чтобы в имени файла слева и справа от цифр 23 стояло по одному символу (подходит только для первого имени файла, для остальных не подходит); поэтому вариант 2 неверный
  • рассмотрим третью маску ?23?.x*: она не подходит по тем же причинам, что и вариант 2
  • рассмотрим последнюю маску *23*.???: она требует, чтобы в имени файла были стоящие подряд цифры 23 (это есть у всех заданных файлов) и в расширении было ровно три обязательных символа (это тоже верно для всех имен файлов); поэтому вариант 4 верный
  • таким образом, мы доказали, что правильный ответ – 4.

Домашнее задание

  • §11. О файлах и файловых структурах. Прочитать, ответить на вопросы.