Лабораторный практикум по программированию на языке Паскаль. Найханова Л.В - 85 стр.

UptoLike

85
Текстовый файл - это совокупность строк переменной длины. Переменная длина строк
определяет наличие маркеров, которые отмечают конец строки. В качестве маркеров
используются два управляющих символа "Перевод строки" и "Возврат каретки", их
десятичные коды: #10, #13. Названия управляющих символов "Перевод строки"(LF - Line
Feed) и "Возврат каретки"(CR - Carriage Return) взяты по аналогии работы с пишущей
машинкой.
Конец строки можно определить с помощью функции EOLn:
EOLn(< ф.п.>);
Для записи данных в файл используются процедуры WRITE и WRITELN:
Write(< ф.п.>, < список вывода стрингов >);
Writeln(< ф.п.>, < список вывода стрингов >).
По предложению WRITE значения данных из списка запишутся в файл подряд без всяких
разделителей. Поэтому программист, используя предложение WRITE, должен позаботиться
о разделителях между данными, если они нужны.
По предложению WRITELN в файле после каждого выведенного стрингового значения
будут записаны признаки конца строки.
Для чтения данных из файла используются процедуры READ и READLN:
Read(< ф.п.>, < список вводимых стрингов >);
Readln(< ф.п.>, < список вводимых стрингов >);
По предложению READ из файла выбирается столько символов, сколько указано в
описании текущего стринга, принадлежащего списку ввода. Выбранная последовательность
символов присваивается текущему стрингу. Эта совокупность операций повторяется для
всех элементов списка ввода. По предложению READLN из файла последовательно
считываются строки и присваиваются стрингам из списков. Если выбранная строка имеет
большее количество символов, чем указано в описании текущего стринга, то она
обрезается до указанной длины, при этом часть информации теряется. Поэтому
необходимо следить за соответствием длин стрингов, записываемых в файл и считываемых
из файла.
Пример:
...
Var
Fio, Otch : string[15];
Name : string[10];
i : integer;
F : text;
Begin
Assign(F, 'St629.DAT'); { файл будет создаваться в текущем каталоге }
{ создание файла или первичная запись данных в файл}
ReWrite(F); { открытие файла для записи }
for i:=1 to 5 do { ограничимся вводом пяти студентов }
begin
Write('Фамилия: '); Readln(Fam);
Write('Имя: '); Readln(Name);
Write('Отчество: '); ReadLn(Otch);
Write(F, Fam, Name, Otch);
end;
close(F);
{ чтение данных из файла и вывод их на экран }
WriteLn(' Фамилия Имя Отчество');
Reset(F); { открытие существующего файла }
for i:=1 to 5 do
begin
Текстовый файл - это совокупность строк переменной длины. Переменная длина строк
определяет наличие маркеров, которые отмечают конец строки. В качестве маркеров
используются два управляющих символа "Перевод строки" и "Возврат каретки", их
десятичные коды: #10, #13. Названия управляющих символов "Перевод строки"(LF - Line
Feed) и "Возврат каретки"(CR - Carriage Return) взяты по аналогии работы с пишущей
машинкой.
Конец строки можно определить с помощью функции EOLn:
        EOLn(< ф.п.>);
Для записи данных в файл используются процедуры WRITE и WRITELN:
        Write(< ф.п.>, < список вывода стрингов >);
        Writeln(< ф.п.>, < список вывода стрингов >).
По предложению WRITE значения данных из списка запишутся в файл подряд без всяких
разделителей. Поэтому программист, используя предложение WRITE, должен позаботиться
о разделителях между данными, если они нужны.
По предложению WRITELN в файле после каждого выведенного стрингового значения
будут записаны признаки конца строки.
Для чтения данных из файла используются процедуры READ и READLN:
        Read(< ф.п.>, < список вводимых стрингов >);
        Readln(< ф.п.>, < список вводимых стрингов >);
По предложению READ из файла выбирается столько символов, сколько указано в
описании текущего стринга, принадлежащего списку ввода. Выбранная последовательность
символов присваивается текущему стрингу. Эта совокупность операций повторяется для
всех элементов списка ввода. По предложению READLN из файла последовательно
считываются строки и присваиваются стрингам из списков. Если выбранная строка имеет
большее количество символов, чем указано в описании текущего стринга, то она
обрезается до указанной длины, при этом часть информации теряется. Поэтому
необходимо следить за соответствием длин стрингов, записываемых в файл и считываемых
из файла.
Пример:
...
Var
        Fio, Otch : string[15];
        Name        : string[10];
        i            : integer;
        F           : text;
  Begin
        Assign(F, 'St629.DAT'); { файл будет создаваться в текущем каталоге }
        { создание файла или первичная запись данных в файл}
        ReWrite(F); { открытие файла для записи }
        for i:=1 to 5 do { ограничимся вводом пяти студентов }
        begin
                Write('Фамилия: '); Readln(Fam);
                Write('Имя: ');    Readln(Name);
                Write('Отчество: '); ReadLn(Otch);
                Write(F, Fam, Name, Otch);
        end;
        close(F);
        { чтение данных из файла и вывод их на экран }
        WriteLn(' Фамилия          Имя     Отчество');
        Reset(F); { открытие существующего файла }
        for i:=1 to 5 do
        begin

                                                                                 85