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

168304
знака
7
таблиц
26
изображений

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

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

Пример. Форматировать файл произвольного доступа из 20 компонент c:\turbo\bibl.dos. Структура компонент такая же, как и в Prim 47–49. Оформим алгоритм в виде процедуры form, запишем ее в c:\turbo\form.pas.

Procedure form;

Begin writeln ('дайте имя форматизируемому файлу');

readln(filname);

assign(booksfile, filname);

rewrite(booksfile);

with recbooks do

 Begin writeln ('на сколько записей форматировать файл?');

readln(razmer);

 for i:=l to razmer do

Begin nomer:=i; avtor:=' '; index:=0; nazv:=' ';

write ( books file, recbooks)

end; end; writeln(фopматизация ',razmer,' запись выполнена');

close(booksflle); end;

Напишем процедуру загрузки (procedure zagruz), которая будет заменять поля фиктивных записей реальными значениями, и запишем ее в c:\turbo\zagruz.pas;

procedure zagruz; Begin writeln('дать имя загружаемого по ключу файла');

readln(filname);

assign(booksfile,filname); reset(booksfile);

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

with recbooks do

Begin for i:=1 to k do

Begin writeln('введите номер'); readln(nomer);

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

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

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

 seek(booksfile,nomer-1); { номера компонент начинаются с 0 }

write(booksfile,recbooks); end; end;

close(booksfile); end;

Оформить процедуру прямого доступа по ключу к компонентам файла и выдачу их на экран монитора, записать ее в C:\TURBO\OBRAB.PAS;

Procedure Obrab;

Begin writeln('дайте имя файла'); readln(filname);

assign(booksfile,filname); reset(booksfile);

while true do

Begin writeln('укажите ключ обрабатываемой записи'); readln(k);

if k=9999 then Begin close(booksfile); exit; end;

seek(booksfile,k-1);

 with recbooks do Begin read(booksfile,recbooks);

writeln(nomer:5,avtor:16,nazv:15,index:4);

end; end; end;

Написать процедуру корректировки файла произвольного доступа в которой будут предусмотрены режимы корректировки:

1.         Замена всех полей компоненты.

2.         Расширение файла в пределах отформатированного пространства.

все это делает процедура Кооr, записанная в c:\turbo\koor.pas.

Procedure Koor;

 Var nevavtor:string[16]; nevnazv:string[30]; nevindex:integer;

Begin writeln('дайте имя файла'); readln(filname);

assign(booksfile,filname); reset(booksfile);

with recbooks do

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

for i:=1 to k do

Begin writeln('дайте номер корректируемой записи'); readln(k1);

nevavtor:=' '; nevnazv:=' '; nevindex:=0;

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

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

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

avtor:=nevavtor; nazv:=nevnazv; index:=nevindex;

seek(booksfile,k1-1); write(booksfile,recbooks);

end; end; close(booksfile); end;

В программе Prim 50, с помощью меню рассматриваются работа с файлами произвольного доступа во всех режимах; форматирование файла, его загрузка, обработка, корректировка. Здесь следует заметить, что программа универсальна в том смысле, что может работать с различными файлами.

Program Prim50;

Type books=record

nomer:integer; avtor:string[16];

nazv:string[30]; index:integer; end;

Var booksfile:file of books;

recbooks:books; razmer,k,k1,i,reg:integer;

filname:string[12];

{$i c:\turbo\form.pas}

{$i c:\turbo\zagruz.pas}

{$i c:\turbo\obrab.pas}

{$i c:\turbo\koor.pas}

Begin while true do

Begin writeln('укажите режим');

writeln('1: форматизация');

writeln('2: загрузка по ключу');

writeln('3: обработка по ключу');

writeln('4: корректировка');

writeln('5: выход из программы');

readln(reg);

case reg of 1:form; 2:zagruz; 3:obrab; 4:koor; 5:halt;

end;

end;

 end.


Информация о работе «Основы программирования на языке Паскаль»
Раздел: Информатика, программирование
Количество знаков с пробелами: 168304
Количество таблиц: 7
Количество изображений: 26

Похожие работы

Скачать
274963
85
0

... ячейка, а имя переменной превращается в адрес ячейки. Появление этого адреса происходит в результате работы специального оператора языка (NEW), однако его значение в большинстве случаев не используется при программировании на алгоритмических языках типа Паскаль. Условимся считать, что адрес ячейки, которая будет хранить переменную А, есть А. Или, другими словами, А - это общее имя переменной и ...

Скачать
11632
0
1

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

Скачать
47594
1
0

... , тем не менее, использование программ с перекрытиями снимает это ограничение. Два библиотечных модуля TURBO3 и GRAPH3 введены для совместимости с ранней версией 3.0 системы Турбо Паскаль. 2 Объекты Базовым в объектно-ориентированном программировании является понятие объекта. Объект имеет определённые свойства. ...

Скачать
17572
2
0

... выбрать режим Quit <Alt>-<X>, после чего нажать либо <Enter>, либо комбинацию <Alt>-<X>. ФУНКЦИОНАЛЬНЫЕ КЛАВИШИ Функциональные клавиши используются для управления средой Турбо Паскаля. Они обозначаются F1, F2,..., F12 и располагаются в самом верхнем ряду клавиатуры. С каждой из этих клавиш связывается некоторая команда меню. Действие почти всех функциональных ...

0 комментариев


Наверх