Лекция: Ввод-вывод записей файла

B BASICе ввод записей файла выполняется следующим оператором:

 

INPUT # n, <список ввода>

 

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

 

Для файлов типа OUTPUT, то есть выходных, используется оператор вывода записей следующего формата:

 

PRINT #n, <список вывода>

 

Особенностью файлов типа INPUT и OUTPUT является то, что оба они – текстовые, причем значения полей (реквизитов) в записи должны разделяться запятыми. Поэтому в операторе PRINT список вывода должен содержать между выводимыми значениями текстовую константу ",", например:

PRINT # 1, A, ",", B

 

Для устранения этого недостатка в Бейсик введен еще один оператор вывода в файл вида

 

WRITE #n,<список вывода>,

 

в котором не требуется константы "," между выводимыми величинами, например

 

WRITE # 1, A, B.

 

В Pascal:

чтение записи – READ (<файл переменной>, <сп. ввода>);

 

вывод записи – WRITE (<файл переменной>,<сп.вывода>)

 

 

INPUT “… for INPUT…”

PRINT “… for OUTPUT…”

WRITE “… for OUTPUT…”

 

К записям последовательных файлов в Бейсике возможен только последовательный метод доступа, т.е. записи обрабатываются по порядку с 1-й до последней. Для определения момента считывания последней записи файла используется логическая функция EOF (end of files). Её вид:

 

EOF (файловая переменная)

 

Для последовательного метода доступа в программах Бейсика организуется стандартный цикл вида:

 

WHILE NOT EOF (#n)

<чтение и обработка записи>

WEND

 

В Паскале для организации последовательного метода доступа организуется аналогичный цикл

 

WHILE NOT EOF (<фп>) do <чтение и обработка записи>;

 

Рассмотрим возможности языков при обработке файла с прямой организацией

 

еще рефераты
Еще работы по информатике