Лекция: По методу доступа к элементам файла

а) файл последовательного доступа – доступ к элементам обеспечивается в такой же последовательности, в какой они записывались;

б) файл прямого доступа – доступ к элементу осуществляется по адресу элемента.

В программах файлы представляются файловыми переменами определенного типа. В качестве внешнего носителя информации могут служить разного рода диски (жестки, гибкие, магнитооптические, компакт-диски, zip- и jaz-диски и т.д.), а также магнитные ленты. Также, в качестве этого “условного” внешнего носителя могут рассматриваться виртуальные диски, которые можно

 
 

 


 

 

Рисунок 1 – Классификация файлов

создавать (с помощью команды VDISK) в оперативной памяти компьютеров, работающих под управлением операционной системы MSDOS.

Кроме “долговременности” у файлов имеется ещё одна отличительная особенность: их неограниченный объём (или длина). Если для каждого из прочих структурированных типов всегда точно определенно, сколько элементов содержит, то или иное значение, то сколько элементов должно быть в файле, при объявлении файлового типа не указывается. Максимальная длина файла ограничивается только свободным местом на диске, и это является основным отличием файлов от массивов.

Каждый файл на диске имеет обозначение, которое состоит из двух частей: имени и расширения. В имени файла может быть от 1 до 8 символов. Расширение начинается с точки, за которой следует от 1 до 3 символов.

Пример: autotext.exe

Com.pas

Имя файла – это любое выражение строкового типа, которое строится по правилам определения имени в MSDOS.

 

Любой файл имеет три характерных особенности:

1. у него есть имя, что даёт возможность программе работать сразу с несколькими файлами;

2. файл содержит компоненты одного типа. Таким компонентом может быть любой тип Паскаля, кроме файлового. Например, допускается файл записи или файл строк, но нельзя создать “файл файлов”;

3. длина вновь создаваемого файла никак не оговаривается при его объявлении и ограничивается только емкостью устройств внешней памяти.

Всё это позволяет считать файлы одной из фундаментальных структур данных в Паскале.

 

Пример объявления файловых переменных:

type

arrays: array of integer;

Date = record

Day: 1..31; { число }

Month:1..12; { месяц }

Year: 1900..2000 { год }

end;

var

F1: file;

F2: text; Пять Ф.П.

F3: file of integer; F1 – нетипизированный файл

F4: file of arrays; F2 – текстовый файл

F5: file of date; F3, F4, F5 – типизирвоанный файлы

 

Если среди типизированных файлов элементы F3 относятся к стандартному типу (Integer), то элементы файлов F4 и F5 – к типам, объявленным пользователем (тип Array — массив целых чисел, тип Date — запись).

В файле в каждый момент может быть доступен только один элемент. Доступ к элементам файла обычно осуществляется последовательно, путём их поочерёдного перебора. Иными словами, для того чтобы “добраться” до последнего элемента, прежде придётся обработать (считать или записать) все предыдущие. Для типизированных и не типизированных файлов возможен переход к определённому элементу.

Допустимость применения методов доступа к каждой разновидности файлов по типу показано на рисунке 2.

 
 

 


Рисунок 2 – Применение методов доступа к файлам

 

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

Эл-т 1 Эл-т 2 Эл-т 3 …………..

       
 
 
   

Текущий указатель

 

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

Как правило, все действия с файлом (чтение из файла, запись в файл) производятся поэлементно, причём в этих действиях участвует тот элемент файла, который обозначает текущим показателем. В результате совершения операции текущий указатель может перемещаться, настраиваясь на тот или иной элемент файла.

еще рефераты
Еще работы по информатике