Работа с файлами.
Как уже говорилось выше в пособии рассматривается работа только с текстовыми файлами. Для организации текстового файла прежде всего необходимо в разделе описаний объявить соответствующую файловую переменную оператором:
VAR имя файловой переменной: TEXT;
Далее в программе надо осуществить связывание файловой переменной с именем файла на диске процедурой ASSIGN:
ASSIGN (имя файловой переменной, имя файла на диске);
Далее файл необходимо открыть одной из следующих процедур:
REWRITE(имя файловой переменной);
RESET(имя файловой переменной);
APPEND(имя файловой переменной);
Процедура REWRITE открывает файл для чтения из него данных, RESET – для записи данных в файл, APPEND для дозаписи данных в файл.
Для обработки текстовых файлов используются процедура READ, READLN и WRITE, WRITELN, обеспечивающие соответственно чтение и запись величин в текстовый файл. Общий формат этих процедур при работе с текстовым файлом:
READ(имя файловой переменной; переменная1, переменная2,…переменнаяN);
WRITE(имя файловой переменной; переменная1, переменная2,…переменнаяN);
Процедура READ обеспечивает ввод данных общим потоком из одной строки, а READLN приводит к обязательному переходу к следующей строке текстового файла. Все вышесказанное в равной мере относится и к операциям записи с помощью процедур WRITE и WRITELN.
После работы с файлом его необходимо закрыть командой:
CLOSE(имя файловой переменной);
В Паскале для обработки признака конце файла используется логическая функция EOF, аргументом которой является имя файловой переменной и которая принимает значение истина тогда, когда достигнут конец файла.
Созданный файл с данными можно открыть в какой-либо программе, например в Excel, и работать там с ним.
Пример 14. Программа расчета функции y=sin(2x)/x и вывода значений х и y в файл REZULT.DAT на диске D: и на экран монитора.
PROGRAM RASCHET;
USES CRT;
VAR I:INTEGER;
Y,X:REAL;
FF:TEXT;
BEGIN
{установка связи файловой переменной FF с дисковым именем файла REZULT.DAT}
ASSIGN(FF,'D:\REZULT.DAT');
{открытие файла для записи в него данных}
REWRITE(FF);
CLRSCR;
X:=0.3;
FOR I:=1 TO 20 DO BEGIN
Y:=SIN(2*X)/X;
{вывод результатов в файл}
WRITELN(FF,' ',X:4:2,Y:8:3);
{вывод результатов на экран}
WRITE(' ',X:4:2,' ',Y:6:2);
X:=X+0.05;
END;
{закрытие файла}
CLOSE (FF);
END.
Дата добавления: 2014-12-20; просмотров: 875;