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

10.2. Классификация файлов в турбо-паскале

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

По типу (по логической структуре) различают файлы:

  • типизированные;

  • текстовые;

  • нетипизированные.

По методу доступа к элементам файла различают:

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

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

Типизированные файлы рассматриваются как совокупность элементов (записей) одного и того же типа. При этом размер записи определяется транслятором из объявления типа записи. Например, файл, тип записи которого – массив целых, объемом 10 элементов, имеет размер записи – 20 байтов.

Нетипизированные файлы рассматриваются как состоящие из записей, каждая из которых есть некоторое число байтов. Сколько именно байтов входит в одну запись, задает программист. Название нетипизированный –характеризует то обстоятельство, что, поскольку тип записи не определен, только программист может знать, какие операции над содержимым файла возможны и корректны. А по умолчанию разрешены только операции пересылки (копирования).

Текстовые файлы рассматриваются как совокупность строк символьной информации.

Файл последовательного доступа рассматривается как упорядоченная последовательность записей. При этом записи не нумеруются, и для того, чтобы прочитать k-ю запись, надо прочитать последовательно все, расположенные перед ней, (k-1) записей. Отметим также, что операции чтения и записи (а это основные операции при работе с файлами) выполняются всегда только от начала к концу файла.

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

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

10.3. Объявление файла

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

О

Объявление типизированного файла:

Var < имя файловой переменной > : file of <тип элемента>;

Объявление текствого файла::

Var < имя файловой переменной > : text;

Объявление нетипизированного файла:

Var < имя файловой переменной > : file;

бъявление файла производится в секции переменных (var) и имеет следующий вид:

Назначение (Assign) файла

Д

Assign (<имя файловой переменной>,<имя физического файла>);

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

П

Assign (fl, ’MyFile.dat’);

Assign (fout, ’c:\mylib\base.dat’);

ример назначения файла для случая, когда имя физического файла записано по правилам MS DOS:

После выполнения назначения все операции с файлом производятся с использованием только логического имени файла (файловой переменной).

П

Assign (fl, filename);

где filename – переменная типа string

осле закрытия файла можно произвести новое назначение для файловой переменной, указав в операторе Assign имя другого физического файла. Это позволит выполнять одни и те же операции обработки, не меняя текста программы, для большого числа разных физических файлов. Необходимо только поменять имя физического файла. Указанная возможность, без повторной компиляции программы, может быть обеспечена за счет того, что имя физического файла может быть задано не только в виде символьной константы, но и в виде символьной переменной, значение которой можно менять в процессе выполнения программы: