Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль-конспект ИНФОРМАТИКА.doc
Скачиваний:
59
Добавлен:
09.04.2015
Размер:
639.49 Кб
Скачать

10.2. Структура файла

Первоначальный порядок компонент файла определяется самой последовательностью. При этом в любой момент для прямого доступа открыта только одна компонента, для остальных же предусмотрен последовательный доступ через файл. В определении файла число компонент, которое называют его длиной, не указывается. Эта характеристика особенно ярко показывает различие между файлами и массивами (и индексов у файлп нет).

Если число компонент равнонулю, файл называетсяпустым. Итак, мы видим, что файл отличается от массивов, записей и множеств, т.к. это структура последовательного доступа, все компоненты которой относятся к одному и тому же типу: любому, кроме типа «файл».Нельзя создать файл файлов!

При описании каждой файловой переменной Fавтоматически вводитсябуферная переменная, относящаяся к типу компонент файла. Её можно считать некоторым средством доступа к файлу, с помощью которого просматривают (читают) существующие компоненты, либо создают (записывают) новые. Значение буферной переменной автоматически изменяется при выполнении ряда операций над файлами. Для файловых переменных операция присваивания не определена. Для добавления новых компонент существует единственный способ – добавлять их в файл по одной через буферную переменную. Если указатель текущей позиции в файле оказывается за последней его компонентой, значение буферной переменной становится неопределённым.

Характеристики файла:

последовательный доступ;

переменная длина;

существование буферной переменной, –

допускают, что файлы можно связать со вторичной памятью и периферийным оборудованием

Как конкретно хранятся компоненты, зависит от компьютерной системы, но мы можем полагать, что только часть из них находится в данный момент в основной памяти и только одна компонента доступна непосредственно: та, на которую указывает буферная переменная.

Для определения признака конца файла используется встроенная стандартная функция EOF(файловая переменная);

Она определяет, достигнут или нет конец файла.

EOF=True, если конец файла достигнут;

EOF=False, если нет.

Если файл не имеет компонентов, то он называется пустым и функция EOF=Trueдля пустого файла.

Функцию EOFможно использовать в логических выражениях и в частности, в операторах цикла.

Пример: While Not EOF ( имя ) Do Begin

…….

End;

Если буферная переменная сдвинута за пределы конца файла (endoffile), стандартная логическая функцияeof(F) =true, в противном же случае –false.

Файловый тип – единственный тип значений, который связывает программу с внешним устройством (ввод-вывод данных).

Файлы по отношению к программе могут быть внешними и внутренними.Внутренние файлысодаются, используются и существуют только во время работы данной программы.

Файлы, которые существуют вне программы (на дисках), называются внешними. Внешние файлы могут передаваться в программу в качестве параметров в её заголовке (в круглых скобках после имени программы).

В общем и целом имеется две различных разновидности файлов:

двоичные файлы;

текстовые файлы

Двоичный файлсостоит из последовательности записей одной длины и одного внутреннего формата. Записи запоминаются непрерывно одна за другой, чтобы оптимизировать запоминание файла.

Текстовые файлысостоят из символов (char), а кроме того, каждый текстовый файл делится на строки. Каждая строка состоит из любого числа байтов и заканчивается символом конца строки. Файл завершается символом окончания файла. Таким образом, текстовые файлы – это файлы, состоящие из символов, причём не все байты представляют собой печатаемые символоы. Компонентами текстового файла являются строки различной длины, разделённые управляющими символами.