Реферат Курсовая Конспект
Типизированные файлы. - раздел Программирование, Основные понятия системы программирования Турбо Pascal Файлы Произвольного Доступа В Тп Носят Название Типизированных. Элементами Та...
|
Файлы произвольного доступа в ТП носят название типизированных. Элементами таких файлов могут быть числа, массивы, записи, но только не файлы.
Все элементы типизированного файла одного типа, а значит, и одного размера. Именно благодаря этому возможен произвольный доступ к элементам типизированного файла, т.к. по номеру элемента однозначно определяется его местоположение на магнитном диске. Нумеруются элементы файла целыми числами, начиная с нуля.
Типизированная файловая переменная описывается предложением
var имя: file of базовый тип
Связь файловой переменной с набором данных на диске выполняется, как и для.текстовых файлов, оператором Assign.
В отличие от текстовых, типизированные файлы допускают чередование операций записи и чтения независимо от того, каким оператором, Reset или Rewrite, был открыт файл. Оператором Reset открываются уже существующие файлы, а оператором Rewrite — новые. Закрывается файл оператором Close. Внешне все четыре оператора не отличаются от таких же операторов для текстовых файлов.
Чтение из типизированного файла выполняется оператором
Read (файл, vl [,v2,...,vN]),
запись — оператором
Write (файл, v1 [,v2,...,vN]),
где v1 ,v2.. vN — переменные базового типа.
Запись и чтение из типизированных файлов выполняются без преобразования данных, что существенно ускоряет эти операции. За это мы лишаемся важного преимущества
существенно ускоряет эти операции. За это мы лишаемся важного преимущества текстовых файлов — возможности хранить в файле разнотипные данные.
Произвольный доступ к элементам файла выполняется оператором
Seek (файл, номер элемента: longint)
Этот оператор устанавливает указатель файла на элемент, номер которого является вторым параметром. Именно этот элемент будет считан или записан при очередном вводе или выводе.
Текущее положение указателя файла возвращается функцией
FilePos (файл) : longint,
а общее количество записей — функцией
FileSfee (файл) : longirrt
Как и для текстовых файлов, ситуация «конец файла» диагностируется функцией EOF (файл).
Поскольку типизированные файлы не нуждаются в разделителях элементов, функция EOF и дополнительные операторы ReadLn и WriteLn для них не имеют смысла.
ПРИМЕР. Работа с типизированным файлом.
var
f: file of real;
R: real;
i: integer;
begin
{создать новый файл по имени REAL-FILE.DAT}
assign (f, 'REALFILE.DAT');
rewrite (f);
{сохранить вещественные числа в типизированном файле}
for i := 1 to 5 do
begin
readln (R);
write (f,R);
end;
{записать последнее число на место первого}
seek (f, fileSize (f) - 1);
read(f.R);
seek (f, 0);
write (f, R);
{дописать в файл число 5.5}
seek (f, filesize (f));
R := 5.5;
write (f, R);
{вывести содержимое файла на экран}
reset (f);
{без закрытия не будут видны изменения}
while not eof (f) do
begin
read (f,R);
writeln (R);
end {while};
close (f); {закрыть файл}
end,
Теперь рассмотрим непосредственную организацию чтения и записи.
Решим следующую задачу: "Написать программу, которая вводит с клавиатуры список фамилий учащихся, а затем распечатывает его, кроме тех учащихся, у которых фамилия начинается с буквы 'Ш'".
Так как заранее количество данных не известно, то для их хранения используем файл. Тип элементов - строковый.
Program L;
Var
I,N : Integer;
F : File Of String;
S : String;
Begin
Assign(F,'Spis.lst'); {Связываем переменную F с файлом Spis.lst}
Writeln('Введите количество учащихся');
Readln(N); {Вводим количество учащихся}
Rewrite(F); {Создаем файл для записи в него данных}
For I:=1 To N Do {Для всех учащихся}
Begin
Writeln('Введите фамилию');
Readln(S);
Write(F,S)
End;
Close(F);
Reset(F);
Writeln('Список учащихся:');
While Not(Eof(F)) Do
Begin
Read(F,S);
If S[1]<>'Ш' ThenWriteln(S)
End;
Close(F)
End.
– Конец работы –
Эта тема принадлежит разделу:
Основная часть стр Глава Основные понятия системы программирования Турбо Pascal стр...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Типизированные файлы.
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов