Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСНОВЫ АЛГОРИТМИЗАЦИИ.doc
Скачиваний:
14
Добавлен:
16.08.2019
Размер:
1.8 Mб
Скачать

12. Файлы

Файл – это, с одной стороны, именованная область внешней памяти ПК (жёсткого диска, гибкой дискеты, электронного «виртуального» диска), содержащая какую-либо информацию.

С другой стороны, под файлом понимают логическое устройство – потенциальный источник или приёмник информации (один из многих структур данных).

Любой файл имеет три характерные особенности:

  1. У файла есть имя, что даёт возможность программе работать с несколькими файлами. Но один и тот же файл не может быть одновременно открыт для чтения и для записи.

  2. Файл представляет собой последовательность элементов одного типа. Типом компонентов может быть любой тип Турбо Паскаля, кроме файлов.

  3. Длина файла, то есть количество элементов в нём, не задаётся при его объявлении и ограничивается только емкостью устройств внешней памяти. Место элемента не определяется индексом и каждый элемент становиться доступным только после перебора всех предыдущих элементов. Такие файлы называются последовательными файлами.

Если программа работает с внешними файлами, то их необходимо объявить.

Логическая структура файла очень похожа на структуру массива. Различия заключаются в следующем. У массива количество элементов фиксируется в момент распределения памяти и постоянно находится в ОЗУ, нумерация элементов массива начинается с единицы. У файлов количество элементов может изменяться, нумерация начинается с нуля (кроме текстовых файлов).

Файловый тип или переменную файлового типа можно задать одним из трёх способов:

Var <имя> : FILE OF <тип>;

<имя> : TEXT;

<имя> : FILE;

Здесь <имя> – имя файлового типа (идентификатор);

FILE, OF – зарезервированные слова (файл, из);

TEXT – имя стандартного типа текстовых файлов;

<тип> – любой тип Турбо Паскаля, кроме файлов.

Например, VAR F1 : FILE OF CHAR;

F2 : TEXT;

F3 : FILE;

12.1. Классификация файлов

В зависимости от способа объявления можно выделить три вида файлов:

  • Типизированные файлы (задаются предложением FILE OF);

  • Текстовые файлы (определяются типом TEXT);

  • Нетипизированные файлы (определяются типом FILE);

Вид файла определяет способ хранения информации в файле.

В зависимости от метода доступа различают:

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

  • Файлы прямого доступа.

Типизированные и нетипизированные файлы относятся к файлам прямого и последовательного доступа, а текстовые файлы – к файлам последовательного доступа.

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

Формат оператора:

ASSIGN(intname, extname),

где intname – внутреннее имя файла или файловая переменная;

extname – внешнее имя файла (стринговая переменная, например, string[w], которая предназначена для хранения текста длинной w, составленного из значений типа char).

Например, ASSIGN(F,’D:\PROGRAM.DAT’);

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