Основы программирования на C++, PASCAL
X: Real; I: Byte;
Begin
Rewrite(Fx);
For I:=1 To 20 Do
Begin
Write ('?'); ReadLn(X);
Write(Fx,X)
End
End.
Для чтения элементов файла с его начала следует открыть файл для чтения. Это делает процедура Reset (FV).
В результате указатель устанавливается на начало файла. При этом вся информация в файле сохраняется. Схема выполнения процедуры:
Чтение из файла осуществляется процедурой Read (FV,V); где V — переменная того же типа, что и файл FV. Значение текущего элемента файла записывается в переменную V; указатель смещается к следующему элементу.
Доступ к элементам файла может быть последовательным или прямым. В стандартном Паскале реализован только последовательный доступ.
Принцип последовательного доступа: для того чтобы прочитать п-ю запись файла, сначала нужно прочитать все предыдущие записи с 1-й по (п-1)-ю.
Пример 2. В переменной х получить 10-й элемент вещественного файла Fx.
Program А;
Var Fx: File Of Real;
X: Real;
Begin
Reset(Fx) ;
For I:=l To 10 Do Read(Fx,X)
End.
Функция Eof (FV) проверяет маркер конца файла (end of file). Это логическая функция, которая получает значение true, если указатель установлен на маркер конца, в противном случае — false.
Пример 3. Просуммировать все числа из файла Fx, описанного в предыдущем примере.
Reset(Fx) ;
Sx:=0;
While Not Eof(Fx) Do
Begin
Read(Fx,X) ;
Sx:=Sx+X
End;
To же самое с помощью цикла Repeat можно делать следующим образом:
Repeat
Read(Fx,X);
Sx:=Sx+X
Until Eof(Fx);
Во втором варианте возможна ошибка чтения, если файл Fx пустой. Первый вариант от такой ошибки застрахован, поэтому он более предпочтителен.
Внешние файлы. В Турбо Паскале все внешние устройства (дисплей, клавиатура, принтер, диски и т.д.) трактуются как логические устройства с файловой структурой организации данных. Все немагнитные внешние устройства однофайловые. Иначе говоря, с каждым из них связан один файл со стандартным именем, предназначенный для обмена с внутренней памятью ЭВМ текстовой (символьной) информацией.
Стандартные имена логических устройств определяются операционной системой, в среде которой работает Паскаль. В системе MS DOS определены следующие имена:
CON (консоль) — логическое устройство, связанное при вводе с клавиатурой, при выводе — с экраном;
PRN (принтер) — логическое имя файла, связанного с устройством печати;
AUX — логическое имя коммуникационного канала, который используется для связи ПК с другими машинами;