Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
программирование на паскале2.doc
Скачиваний:
145
Добавлен:
31.03.2015
Размер:
935.94 Кб
Скачать

3.3. Файлы

3.3.1. Общие понятия

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

Файл- это последовательность однотипных компонент.Число компонент файла не ограничено. После последней компоненты файла стоит специальный код, называемый признаком конца файла; этот код обычно ставится автоматически, без участия программиста.

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

Условно устройство с последовательным доступом можно представить как бесконечную ленту с фиксированным началом. Движение по этой ленте возможно только от начала, последовательно от компоненты к компоненте. Для достижения N-й компоненты необходимо пройти (N-1) предыдущих компонент. В оперативной памяти ЭВМ для каждого файла существует единственная ячейка, в которую информация может считываться из файла или из которой информация может записываться в файл; эта ячейка рассчитана точно на одну компоненту файла; она называетсябуфером( или окном, карманом). Используется также терминуказатель файла. Это абстрактное понятие, соответствующее головке считывания-записи магнитной ленты или магнитного диска. Указатель стоит (указывает) на доступной ( в каждый момент единственной!) компоненте файла.

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

Файлы бывают текстовыми идвоичными.

Текстовые файлы хранят информациюво внешнем представлении. Они имеют два основных признака: во-первых, их компонентами являются строки символов; во-вторых, эта символьная информация интерпретируется в соответствии с типом вводимых или выводимых переменных. Эти файлы являются обобщением данных на устройствеCON (т.е. вводимых с клавиатуры или выводимых на экран компьютера). Умение работать с текстовыми файлами необходимо даже начинающим программистам, так как на устройствеCON данные существуют малый промежуток времени, а обычно имеется потребность в их длительном хранении.

Текстовые файлы можно подготовить, прочитать, исправить с помощью текстового редактора. Они хранят информацию во внеш­нем представлении, в виде, понятном для человека. Такие файлы часто называются видимыми.

Двоичный файл- это последовательность байтов; обмен информации между двоичным файлом и переменными программы происходит без преобразования. В Турбо Паскале рассматривается два вида двоичных файлов: типизированные и нетипизированные. В случае типизированных файлов байты файла разбиваются на ячейки в соответствии с типом компонент файла; например, для файла с базовым типомintegerкаждая пара байтов (для 32-разрядных компьютеров – четверка) рассматривается как целое значение;типизированныефайлы хранят данныево внутреннем представлении. Для нетипизированных файлов представление информации безразлично, файл рассматривается как последовательность нулей и единиц.

Ниже рассматривается подход к файлам версии Турбо Паскаль. Объектный Паскаль поддерживает этот подход, хотя имеет и другие широкие возможности для работы с файлами, характерные для операционной среды Windows; рассмотрение последних возможностей выходит за рамки данного пособия.