Основы программирования на C++, PASCAL
Можно договориться о каком-то условном значении, которое будет признаком конца ввода. Пусть, например, признаком конца ввода будет число 9999.
Program Taskl;
Var Ft: File Of Real; T: Real;
Begin
Assign(Ft,'Temp.dat'); Rewrite(Ft);
WriteLn('Вводите данные. Признак конца - 9999');
ReadLn(T);
While T<>9999 Do
Begin
Write(Ft,T); Write ('?'); ReadLn(T)
End;
WriteLn ('Ввод данных закончен");
Close(Ft)
End.
В результате работы этой программы на диске будет создан файл с именем Temp. dat, в котором сохранится введенная информация.
Для последовательного чтения данных из файла требуется выполнить следующие действия:
1. Описать файловую переменную.
2. Описать переменную того же типа.
3. Выполнить назначение (Assign).
4. Открыть файл для чтения (Reset).
5. В цикле читать из файла (Read).
6. Закрыть файл (Close).
Пример 5. Определить среднюю температуру для значений, хранящихся в файле Temp.dat.
Program Task2;
Var Ft: File Of Real;
T,St: Real; N: Integer;
Begin Assign(Ft,'Temp.dat');
Reset(Ft);
St:=0;
While Not Eof(Ft) Do
Begin
Read(Ft,T);
St:=St+T
End;
N:=FileSize(Ft);
St:=St/N;
WriteLn('Средняя температура зa',N:3,'суток равна',St:7:2,'гр-в');
Close(Ft)
End.
В этой программе использована функция определения размера файла:
FileSize (<имя файловой переменной>);
Ее результат — целое число, равное текущей длине файла.
Замечание: согласно стандарту Паскаля в файл, открытый оператором Rewrite, можно только записывать информацию, а файл, открытый оператором Reset, можно использовать только для чтения. В Турбо Паскале допускается запись (Write) в файл, открытый для чтения (Reset). Это создает определенные удобства для модификации файлов.
Текстовые файлы. Текстовый файл — наиболее часто употребляемая разновидность файлов. Как уже отмечалось раньше, немагнитные внешние устройства (логические) работают только с текстовыми файлами. Файлы, содержащие тексты программ на Паскале и других языках программирования, являются текстовыми. Различная документация, информация, передаваемая по каналам электронной связи, — все это текстовые файлы.
В программе файловая переменная текстового типа описывается следующим образом:
Var <идентификатор>:tехt;
Текстовый файл представляет собой символьную последовательность, разделенную на строки