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

UptoLike

87
X, Y : Coord; { массивы координат }
F : file of Coord; { файл регулярного типа }
i : byte;
Begin
. . .
< операторы по вводу 100 значений координат X, Y >
. . .
Assign(F, 'Coor.dat'); { файл будет создаваться в текущем каталоге }
ReWrite(F); { открытие файла для записи }
Write(F, X); { запись массива координат Х в файл }
Write(F, Y); { запись массива координат Y в файл }
Close(F);
End.
Теперь в файле сначала записаны 100 координат Х, а затем 100 координат Y. Данные файла
мы записали двумя большими блоками по 600 байтов каждый. Следует помнить, что это не
самый лучший способ организации файла для данных примера, но достаточно понятный.
Считывание координат из файла выполняется аналогично, в программе нужно вместо
процедуры REWRITE использовать процедуру RESET, а вместо предложения WRITE
использовать предложение READ.
Хорошо структурируемые данные, например, данные о каком-либо объекте, удобно
описывать типом "запись". В этом случае компонента файла будет структурного типа.
Пример:
Type
RecFile = record { запись данных по студенту }
Fam, Name, Otch : string[15];
GodR : word;
NGrup : string[10];
end;
Var
i : integer;
Buf : RecFile;
FilStud : file of RecFile;
Begin
Assign(FilStud, 'Stud.dat');
ReWrite(FilStud);
WriteLn('Введите данные по студентам:');
For i:= 1 to 10 do { ограничимся 10 записями }
begin
{ интерактивный ввод данных }
Write('Фамилия : '); Readln(Buf.Fam);
Write('Имя : '); Readln(Buf.Name);
Write('Отчество : '); Resdln(Buf.Otch);
Write('Год рождения : '); Readln(Buf.GodR);
Write('N группы : '); Readln(Buf.NGrup);
{ запись данных в файл }
Write(FilStud, Buf); { Buf - обращение ко всей записи }
end;
Close(FilStud);
End.
Чтение компонент типизированного файла можно осуществлять как последовательным, так и
прямым методом доступа.
        X, Y : Coord; { массивы координат }
        F : file of Coord; { файл регулярного типа }
        i : byte;
Begin
        ...
        < операторы по вводу 100 значений координат X, Y >
        ...
        Assign(F, 'Coor.dat'); { файл будет создаваться в текущем каталоге }
        ReWrite(F); { открытие файла для записи }
        Write(F, X); { запись массива координат Х в файл }
        Write(F, Y); { запись массива координат Y в файл }
        Close(F);
End.
Теперь в файле сначала записаны 100 координат Х, а затем 100 координат Y. Данные файла
мы записали двумя большими блоками по 600 байтов каждый. Следует помнить, что это не
самый лучший способ организации файла для данных примера, но достаточно понятный.
Считывание координат из файла выполняется аналогично, в программе нужно вместо
процедуры REWRITE использовать процедуру RESET, а вместо предложения WRITE
использовать предложение READ.
Хорошо структурируемые данные, например, данные о каком-либо объекте, удобно
описывать типом "запись". В этом случае компонента файла будет структурного типа.
Пример:
Type
      RecFile = record { запись данных по студенту }
              Fam, Name, Otch : string[15];
              GodR          : word;
              NGrup         : string[10];
      end;
Var
      i    : integer;
      Buf : RecFile;
      FilStud : file of RecFile;
Begin
      Assign(FilStud, 'Stud.dat');
      ReWrite(FilStud);
      WriteLn('Введите данные по студентам:');
      For i:= 1 to 10 do { ограничимся 10 записями }
      begin
      { интерактивный ввод данных }
              Write('Фамилия         : '); Readln(Buf.Fam);
              Write('Имя         : '); Readln(Buf.Name);
              Write('Отчество : '); Resdln(Buf.Otch);
              Write('Год рождения : '); Readln(Buf.GodR);
              Write('N группы : '); Readln(Buf.NGrup);
      { запись данных в файл }
              Write(FilStud, Buf); { Buf - обращение ко всей записи }
      end;
      Close(FilStud);
End.
Чтение компонент типизированного файла можно осуществлять как последовательным, так и
прямым методом доступа.


                                                                                   87