←предыдущая следующая→
1 2
Запись файла.
Под записью файла понимается запись результатов программы из оперативной памяти ЭВМ на диск, т.е. создание нового файла на внешнем устройстве. В программе необходимо выполнить следующие действия для записи файла:
открыть файл для записи (REWRITE);
вывести данные (WRITE);
закрыть файл для записи (CLOSE).
Внешний файл, в котором записываются данные из программы, часто называют входными.
Общая форма записи файла:
REWRITE (имя 1);
. . .
WRITE (имя 1, параметры);
. . .
CLOSE (имя 1);
Оператор вывода для записи данных обладает всеми свойствами обычного оператора WRITE. Если оператор вывода имеет вид:
WRITE (параметры)
То данные выводятся на экран дисплея, а если
WRITE (имя 1, параметры)
То данные записываются в файл, хранящиеся на диске.
*** 1.2. Пусть в программе переменные А и В получают следующие значения: А=510, В=16.2.
требуется записать в файл с именем D2.DAN строку в виде А=510 В=16.2.
program A21A (INPUT, OUTPUT);
VAR
F2 : text; (*файловая переменная*)
L2 : Integer; (*длина выходного файла*)
A : Integer; (*целое данное*)
B : Real; (*действительное данное*)
Begin
L2 : =1; A : = 510; B : = 16.2;
REWRITE (F2, 'D2', 'DAN', L2);
WRITE (F2, 'A=', A:3,' ':5, 'B=', B:4:1);
CLOSE (F2)
end.
Все значения переменных указаны в комментариях программы. REWRITE открывает файл для записи в него данных. Полное имя файла - D2.DAN. WRITE выводит строку символов в соответствии с форматом. CLOSE закрывает файл для записи. Поскольку для записи одной строки вполне достаточен 1 блок, то переменной L2 присваиваем значение 1.
Чтение и запись файла.
Действия файла могут быть разнообразными: иногда требуется читать данные из одного файла и записывать их в другие, иногда - корректировать один и тот же файл. В программе по мере необходимости указываются операторы для чтения и записи файлов, а так же для их закрытия.
*** 1.3.
program A22 (INPUT,OUTPUT);
TYPE T = TEXT; (*тип файла - текстовый*)
VAR
T1, T2 : T; (*файловая переменная*)
S : CHAR; (*символьное данное*)
R : Integer; (*целое данное*)
begin
RESET(T1, 'FINP'); (*открытие файла для чтения*)
REWRITE (T2, 'FOUT'); (*открытие файла для записи*)
READ (T1, S); (*чтение данного из файла*)
. . . . . . . . . . . . . (*действия с переменными S, R*)
WRITE (T2, R); (*запись значения R в файл*)
CLOSE (T2); (*закрытие файла для записи*)
CLOSE (T1); (*закрытие файла для чтения*)
end.
При исполнении последовательных файлов нельзя одновременно открывать один и тот же файл для чтения и записи. Если появляется необходимость работы с одним файлом и для чтения, и для записи, то нужно сначала открыть файл, обработать его данные и закрыть. Затем открыть этот же файл заново для другой цели, обработать данные и закрыть файл.
Пример с использованием внешних файлов:
Имеем ведомость по результатам экзамена в группе. Будем считать ее входным файлом с именем DAN:
-------------------------------------------------------
предмет "физика"
группа Т - 12
-------------------------------------------------------
Алексеев С.А. : 5
Вертышев А.Ю. : 4
Колдаев В.Д. : 5
Петрова Н.В. : 4
Федоренко Р.Ф. : 3
Маронин А.В. : 4
Составить программу создания входного файла с именем REZ, в котором следует записать исходную ведомость и вычисленный средний балл.
-------------------------------------------------------
предмет "физика"
группа Т - 12
-------------------------------------------------------
Алексеев С.А. : 5
Вертышев А.Ю. : 4
Колдаев В.Д. : 5
Петрова Н.В. : 4
Федоренко Р.Ф. : 3
Маронин А.В. : 4
* * * * * * * * * * * * * * * * * * * * * * * *
Средний балл в группе: 4.17.
Количество учащихся: 6
←предыдущая следующая→
1 2
|
|