Система программирования Турбо паскаль 7.0

Файлы входных данных


При большом объеме входных данных ввод с клавиатуры становится неэффективным, так как любые ошибки связаны с повторным вводом всех данных. Целесообразно для входных данных создать отдельный файл и хранить его на диске. В программе в этом случае с помощью специальных процедур организуется чтение входных данных из файла. Имя файла задается по тем же правилам, которые определены в MS DOS, только указывается стандартное расширение .DAT. Для создания файла данных можно воспользоваться любым текстовым редактором. Если файл небольшого объема, то удобно использовать редактор NC. Для вызова редактора NC надо нажать клавиши [<Shift>+ <F4>].

Файловая переменная

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

- Типизированные файлы, которые задаются  описанием:

    <файловая переменная>: FILE OF <тип компонент файла>;

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

                               Var

                                    f: file of  Zap;

f – файловая переменная.

- Нетипизированные файлы задаются типом FILE, например:

                               Var

                                    f: file;

Для нетипизированных файлов тип компонент не указывается.



- Текстовые файлы задаются  типом TEXT, например:

                               Var

                                    f: text;

Текстовый файл представляет собой совокупность строк переменной длины. В конце каждой строки после нажатия клавиши <Enter> формируется специальный признак EOLN (End Of Line).  Число строк в текстовом файле может быть произвольным. В конце файла автоматически формируется признак EOF (End Of File).

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

В дальнейшем ограничимся рассмотрением только текстовых файлов.

Доступ к файлам данных


Файл данных становится доступным программе после выполнения стандартной процедуры открытия файла:
           ASSIGN (<файловая переменная>, <имя файла>);
При вызове данной процедуры файловая переменная, объявленная в программе, связывается с именем файла, хранящимся на диске.
<имя файла> -  либо строка, либо переменная строкового типа.
        Например, если файл входных данных экзаменационной ведомости хранится на диске с именем Wed.dat, то процедуру открытия файла можно записать в виде:
                               ASSIGN(f, ‘Wed.dat’);
Инициация файла
Инициировать файл
означает указать направление передачи данных. В Турбо Паскале можно открыть файл для чтения данных  из файла  или для записи информации в файл. Если файл является входным, то он инициируется для чтения стандартной процедурой:
                      RESET(<файловая переменная>);
При выполнении данной процедуры специальный указатель  строк устанавливается на начало файла, то есть подготавливается к чтению первой строки.
Чтение данных из файла
Чтение файла осуществляется построчно с помощью оператора READLN, в котором указываются файловая переменная и список переменных ввода.
Пример. Пусть файл данных экзаменационной ведомости  состоит из строк вида:
4        5        5        Андреева С.В.
        Оператор:    Readln(f, str.m, str.inf, str.h, str.fam);
читает из файла строку и присваивает данные полям str.
Заметим, что поле fam записывается в конце строки. Это связано с тем, что при описании типа поля fam (string) не указан его максимальный размер, и, следовательно, конец поля должен быть зафиксирован клавишей <Enter>.

Содержание раздела