русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Пример.


Дата добавления: 2013-12-23; просмотров: 841; Нарушение авторских прав


Типизированные файлы. Файлы произвольного доступа.

Нетипизированные файлы.

Текстовые файлы.

Типизированные файлы. Файлы произвольного доступа.

Файловые типы данных

Лекция 2

 

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

Работа с файлом произвольного доступа предполагает:

 

Ø создание файла;

Ø обработку файла;

Ø корректировку файла.

 

Организовать файл произвольного доступа можно двумя способами:

 

1. создать последовательный файл и обращаться к компонентам по их порядковому номеру, трактуя последовательный файл как произвольный;

2. создать файл фиктивных записей, затем загрузить его по ключу фактическими данными; обращение к компонентам по ключу предполагает использование процедуры Seek.

 

Для огранизации произвольного доступа используется процедура Seek. Произвольный доступ организовывается по ключу, значение которого равно порядковому номеру в файле нужного компонента. Ключ должен иметь целочисленное значение, не превышающее количество компонентов в файле.

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

Форматизация заключается во внесении в файл компонентов, значение полей которых носит фиктивный характер, например, нули или пробелы.


Форматизовать файл произвольного доступа из 20 записей на дисководе d:. Формат компонентов такой же, как в предыдущем примере. Оформить блок как процедуру с именем Form и сохранить на диске под именем d: NForm.



 

Program DemoDF;

Const

Razmer = 20;

Type

Books = record

Nomer : integer;

Avtor : string[14];

Nazv : string[30];

Index : integer;

End;

Var

BF : file of Books;

RB : Books;

K, K1 : integer;

I, Rej : integer;

FilName : string [12];

Procedure Form;

begin

writeln ('Дайте имя форматизуемого файла:');

readln (FilName);

Assign( BF,FilNam);

Rewrite(BF);

with RB do

begin

for I := 1 to Razmer do

begin

Nomer : = 0; {если нужно при форматизации сразу внести в запись значение номера 1, можно этот оператор записать: Nomer : =1;}

Avtor := ‘’;

Nazv := ’’;

Index := 0;

write (BF,RB)

end

end;

writeIn (‘Форматизация ' ,Razmer,’ записей выполнена');

Close(BF):

end;

 

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

Пример.

Внести в файл BIBL2. DOC фактические записи с номерами 3, 7, 8. Оформить блок загрузки процедурой с именем Zagrkl. Текст процедуры сохранить на диске под именем d: NZagrkl.

Procedure Zagrkl;

begin

writeIn ('Дайте имя загружаемого по ключу файла');

readln (FilName);

Assign( BF, Fi1Name);

Reset( BF);

writeln ('Сколько записей будете вводить?');

readln (К);

with RB do

for I := 1 to К do

begin

writeln ('Введите номер');

readIn (Nomer);

K1 := Nomer;

writeln ('Введите имя автора');

read (Avtor);

writeln ('Введите название книги');

readln (Nazv);

writeln ('Введите индекс');

readln (Index);

Seek( BF, K1-1);

write ( BF,RB)

end;

Close( BF)

end;

 

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

Доступ к компонентам файла произвольного доступа может быть как последовательный, так и произвольный. Последовательный доступ не отличается от описанного выше. Для огранизации произвольного доступа используется процедура Seek. Произвольный доступ организовывается по ключу, значение которого равно порядковому номеру в файле нужного компонента. Ключ должен иметь целочисленное значение, не превышающее количество компонентов в файле.

 

Приведем порядок действий при обработке файлов произвольного доступа:

 

Ø присвоить файлу имя (процедура Assign);

Ø открыть файл (процедура Reset) и запросить ключ;

Ø подвести указатель по ключу к нужному компоненту (процедура Seek);

Ø считать нужный компонент (оператор read);

Ø выполнить обработку считанной информации;

Ø закрыть файл (процедура Close).

Пример:

Вывести на экран 6 и 7 компоненты файла BIBL2. DOC. Блок вывода оформить процедурой с именем Obrkl. Текст процедуры сохранить на диске под именем NObrkl.

 

Procedure Obrkl;

begin

writeln ('Дайте имя файла:');

readln ( FilName);

Assign( BF, FilName );

Reset ( BF );

while True do

begin

writeln ('Дайте ключ выводимой записи:');

readln (к1);

if к1 = 9999 then

begin

Close( BF );

Exit

end;

Seek( BF, к1 - 1);

read ( BF,RB);

with RB do

writeln ( Nome r: 4, Avtor: 16, Nazv: 15, Index: 4)

end

end;




<== предыдущая лекция | следующая лекция ==>
Корректировка последовательного файла | КОРРЕКТИРОВКА ФАЙЛА ПРОИЗВОЛЬНОГО ДОСТУПА


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.391 сек.