Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Типизированные файлы



Файлы произвольного доступа в ТП носят название типизированных. Элементами таких файлов могут быть числа, массивы, записи, но только не файлы.

Все элементы типизированного файла одного типа, а зна­чит, и одного размера. Именно благодаря этому возможен произвольный доступ к элементам типизированного файла, т.к. по номеру элемента однозначно определяется его местоположение на магнитном диске. Нумеруются элемен­ты файла целыми числами, начиная с нуля.

Типизированная файловая переменная описывается пред­ложением

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 для студентов среднего профессионального образования. При составлении учебного пособия было исследован и проанализирован большой объем учебно-методическая литература, были использованы результаты многолетнего практического опыта преподавателя.

Теоретический и практический объем знаний и умений, который поможет приобрести студентам данное учебное пособие и приложения к нему в процессе изучения дисциплины « Основы алгоритмизации и программирования» включает в себя:

Современные профессии становятся все более интеллектоёмкими, требующими развитого логического мышления. Опоздание с развитием мышления – это опоздание навсегда. Поэтому для подготовки студентов к жизни в современном информационном обществе в первую очередь необходимо развивать логическое мышление, способности к анализу.


Литература

  1. Попов И.И., Партыка Т.Л. Языки программирования ФОРУМ-ИНФРА_М 2008 г.
  2. Молчанова С.И. Основы программирования. –М.: “Аквариум “,2007 г.

3. Турбо Паскаль 7.0. - К.: Издательская группа BHV, 2002..

4. А.Б. Николаева Турбо Паскаль 7.0 в примерах. «Просвещение» под ред..2007 год

5. В.Д. Колдаев «Основы алгоритмизации и программирования.» Издательство «Москва. ИД №ФОРУМ» 2006 год

6. Голицина О.Л. «Основы алгоритмизации и программирования.» Голицина О.Л. Издательство «Москва. ИД №ФОРУМ» 2006 год

7. В.В. Попов «Турбо Паскаль 7.0 и Дельфи» Издательство «Просвещение» 2006 год.

8. А.Б. Бондарев «Программирование на Турбо Паскале 7.0». Издательство «Просвещение» 2002 год.





Дата публикования: 2014-12-08; Прочитано: 346 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...