Основы программирования на языке Паскаль
Procedure form;
Begin writeln ('дайте имя форматизируемому файлу');
readln(filname);
assign(booksfile, filname);
rewrite(booksfile);
with recbooks do
Begin writeln ('насколькозаписейформатироватьфайл?');
readln(razm
er);
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);
withrecbooksdo
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.
10.6. Текстовые файлы
Компонентами текстовых файлов являются строки. Длина строки – 0-255 символов. Каждая строка завершается маркером строки, а файл – маркером конца файла. Для описания файловых переменных текстового типа используется зарезервированное слово text.
Var instrl, instr2: text;
dokulnent: text;
Для работы с текстовыми файлами используются упомянутые выше функции и процедуры assign, rewrite, reset, close, read, readln, write, writeln, seekeof, однако имеются и специфические функции и процедуры:
Append (fv) – открыть текстовый файл и установить указатель на маркер конца файла.
Eoln (fv) – возвратить true, если указатель файла достиг маркера конца строки, в противном случае, возвратить значения false.
Seekeoln(fv) – функция, аналогичная предыдущей, но указатель проходит все пробелы и знаки табуляции. возвращает true при достижении маркера конца строки.
Seekeof(fv) – возвращает true, если указатель файла находится на маркере конца файла.
Организация текстового файла производится по схеме:
1) объявляется файловая переменная текстового типа;
2) присваивается файлу имя (assign);
3) открывается файл (rewrite);
4) подготавливается строка - компонента для записи в файл;
5) записывается строка - компонента в файл (writeln);
6) повторяются п. 4, 5 столько раз, сколько нужно;
7) закрывается файл.
Доступ к компонентам текстового файла:
1) присвоить файлу имя (assign);
2) открыть файл для чтения (reset);
3) прочитать компоненту-строку (readln);
4) обработать компоненту-строку (например вывести на экран);
5) повторить п. 3, 4 столько раз, сколько нужно.
6) закрыть файл (close);
Расширение текстового файла производится путем добавления в конец файла компонент-строк:
1) присвоить имя файлу (assign);
2) установить маркер на конец файла (append);
3) подготовить строку для записи;
4) записать строку (writeln);
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности