
- •Конспект лекций по курсу "Алгоритмические языки и программирование". Тема " Файловая система Borland Pascal ".
- •Файловая системаMsdos(организация хранения информации на внешних носителях).
- •Файловая система Borland Pascal.
- •Общие сведения.
- •Var f1:file of real;
- •Var f1:ff;
- •Стандартные процедуры и функции для работы с файлами.
- •Процедуры и функции из библиотеки dos для работы с файлами
- •Операции ввода - вывода Borland Pascal для работы с файлами различной внутренней структуры
- •Типизированные файлы.
- •Var z:zap;
- •Текстовые файлы.
- •Нетипизированные файлы.
- •1. Файловая система ms dos (организация хранения информации на внешних носителях). 1
- •2. Файловая система Borland Pascal . 3
- •Коды некоторых ошибок ввода-вывода.
Иванова Г.С., Ничушкина Т.Н.
Конспект лекций по курсу "Алгоритмические языки и программирование". Тема " Файловая система Borland Pascal ".
Файловая системаMsdos(организация хранения информации на внешних носителях).
Под организацией данных понимают совокупность правил, определяющих особенности размещения данных на внешних носителях, метод доступа к ним и средства защиты данных от несанкционированного доступа.
Файлом называют именованную последовательность элементов данных (компонент файла), имеющих одинаковую структуру и расположенных, как правило, на внешнем носителе. Особенностью файлов по сравнению с другими типами данных является то, что число их элементов заранее не определяется.
Файл может хранить текст, программу, числовые данные, графическое изображение и т.д. Длина файлов измеряется в байтах, что эквивалентно емкости памяти , в котором можно хранить один символ. Максимальный размер фала ограничивается лишь техническими возможностями вычислительной системы.
При работе в среде MS DOS имена файлов подчиняются определенным правилам:
имя должно содержать не менее одного и не более восьми символов;
Файл может иметь расширение, которое отделяется от имени точкой и содержит не более трех символов;
для записи имен и расширений могут использоваться буквы латинского алфавита A-Z, арабские цифры и некоторые специальные символы;
в качестве имен запрещается использовать некоторые буквенные сочетания, которые зарезервированы операционной системой для обозначения таких устройств как принтер, дисплей и т.д. (например PRN, CON, NUL, COM1, COM2, AUX, LPT1, LPT2, LPT3)
При работе в операционной среде WINDOWS некоторые из этих правил изменяются, например имя файла может содержать больше восьми символов и для записи имен могут использоваться символы русского алфавита.
Однако независимо от используемой системы, имена обычно составляются так, чтобы они несли смысловую нагрузку, свидетельствующую о содержании файла. Расширение обычно указывает на тип хранящихся данных.
Существуют стандартные расширения, используемые операционной системой (трансляторами и обработчиками команд). Например:
COM, EXE - исполнительные файлы (загрузочные файлы программ и команд)
FOR, PAS,BAS - файлы исходных текстов программ на алгоритмических языках
ФОРТРАН, ПАСКАЛЬ, БЭЙСИК соответственно.
Типовые расширения очень удобны, так как позволяют некоторые стандартные действия по отношению к этим файлам. Например, при расширениях COM и EXE можно обращаться к файлам только по именам, а расширение PAS позволяет работать в среде Турбо-Паскаль и т.д.
Для удобства работы с группами файлов применяются групповые имена файлов с использованием символов «*» и «?», где
* - любая последовательность символов;
? - один любой символ.
Например:
*. EXE - все файлы с расширением EXE;
А*. COM - все файлы типа COM, имена которых начинаются на А;
??В. PAS - все файлы типа PAS, имена которых содержат три символа, последний из которых «В»;
PRG1.* - файлы любых типов с именем PRG1;
*.* - все файлы диска.
Эти групповые имена позволяют легко работать с некоторыми командами и средами.
Для размещения на диске кроме идентификации файл должен иметь место для размещения и адрес его расположения. Для этого система с помощью специальной таблицы определяет наличие свободного места на диске и его адрес и размещает там данные файла. Однако, для этого диск или дискета должны быть специальным образом размечены. Разметка осуществляется с помощью специальной системной команды инициализации. Если инициализируется диск бывший в употреблении, то вся хранившаяся на нем информация уничтожается и восстановлению не подлежит.
Как правило, диски хранят большое количество файлов (количество их на жестких дисках исчисляется сотнями и даже тысячами).Для удобства и ускорения работы с таким количеством файлов применяется древовидная структура каталогов, аналогичная библиотечной.
В вершине дерева находится корневой каталог, не имеющий имени и создаваемый в процессе инициализации диска системой. Файл корневого каталога состоит из записей, содержащих информацию о файлах, хранящихся на диске. В качестве файлов могут фигурировать пользовательские каталоги.
Эти пользовательские каталоги, называемые подкаталогами, образуют ветви дерева каталогов. Они создаются и уничтожаются пользователем с помощью специальных команд. Все каталоги, кроме корневого имеют имена, образованные по общим правилам системы, в которой осуществляется работа.
Самая простая схема содержит только корневой каталог. Однако такая структура организации файлов является самой медленной и неудобной, так как поиск файлов осуществляется последовательно на всем диске и имена файлов должны быть уникальны.
Более сложная - это древовидная система подкаталогов, пример которой представлен на рис 1.
Рис.1. Дерево каталогов пользователя.
Чтобы найти файл, системе требуется просмотреть всю цепочку каталогов на пути от корневого каталога до подкаталога, хранящего сведения о требуемом файле. Таким образом, чтобы сослаться на файл, системе нужно указать не только его имя, но и перечислить все предшествующие каталоги. Указатель перечня имен каталогов на пути к файлу называется маршрутом
Перечисляемые в маршруте каталоги разделяются символом «\», а так как корневой каталог не имеет имени, перечень начинается с символа «\».Например:
\kat1\kat2\kat3\file1.dat
При ссылке на файл, маршрут включается в спецификацию файла, следующего сразу за идентификатором дискового накопителя. Например:
c:\kat1\kat2\kat3\file1.dat
Такая организация позволяет в разных подкаталогах создавать файлы с одинаковыми именами. Подкаталоги тоже могут иметь одинаковые имена, если они подчинены разным подкаталогам более высокого уровня.
При постоянной работе с одним каталогом указывать каждый раз длинный спецификатор файла неудобно. В этом случае можно объявить нужный каталог рабочим с помощью специальной команды cd, например:
CD\mycatalog;
Для автоматического поиска файлов, в командном файле AUTOEXEC.BAT следует указать команду системы path, с помощью которой установить маршруты возможного размещения часто используемых файлов. Например:
PATH C:\mykat1;C:\mykat2;
После загрузки системы, эти маршруты запоминаются системой и при указании имени файла поиск осуществляется сначала в каталогах, указанных в альтернативных маршрутах. Если в указанных каталогах файл не обнаружен, выдается сообщение об ошибке.