Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Case regim of




BEGIN

END.

Case regim of

BEGIN

While True do

With rb do

While not eof(bf) do

With rb do

Begin

While True do

With rb do

Begin

END.

While True do

With rb do

With rb do

while not Eof(bf) do{ выйти из цикла, когда закончится файл }

begin read(bf,rb);

writeln(nomer:5,avtor:16,Nazv:10,index:6); { вывод на экран }

end; Close(bf); end;

procedure Rash;

begin Assign(bf,'C:\TURBO\PRIM\bibl.dos');

Reset(bf);

Seek(bf,Filesize(bf)); { установить указатель на конец файла }

begin writeln('ввести номер'); readln(nomer);

if nomer=9999 then begin Close(bf);Exit end;

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

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

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

write(bf,rb); end;end;

BEGIN { основная программа }

Org; Obr; Rash; Obr; readln;

При создании больших программ их части удобно создавать в виде отдельных файлов (объектов), которые затем с помощью директивы компилятора {$i...} можно объединить в одну программу. Это удобно еще и тем, что несколько программистов могут создавать различные программы, что в несколько раз может ускорить процесс их создания.

Создадим ту же программу, что и Prim 47, только пообъектно, тогда процедуру Org запишем в C:\TURBO\Org1.pas, процедуру Obr – в C:\TURBO\Orb1.pas, процедуру Rash – в C:\TURBO\Rash1.pas, а вызывающую (основную программу – в C:\TURBO\Prim. 48, в которой предусмотрим подключение объектов – процедур Org, Obr, Rash к основной программе через директивы компилятора $i.

procedure Org1;

assign(bf,'C:\TURBO\bibl.dos');

Rewrite(bf);

begin writeln('ввести номер книги');

readln(nomer);

if nomer=9999 then

begin close(bf); Exit;

end;

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

readln(avtor);

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

readln(nazv);

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

readln(index);

write(bf,rb);

end;

end;

procedure Obr1;

Assign(bf,'C:\TURBO\bibl.dos');

Reset(bf);

Begin read(bf,rb);

writeln(nomer:5,avtor:16,Nazv:10,index:6);

end;

Close(bf);

writeln('нажмите enter'); readln;

end;

procedure Rash1;

begin Assign(bf,'C:\TURBO\bibl.dos');

Reset(bf);

Seek(bf,Filesize(bf));

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

if nomer=9999 then begin Close(bf);exit end;

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

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

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

write(bf,rb);

end;end;

Работу построим в режиме меню.

Program Prim48;

label M;

type books=record

nomer:integer;

avtor:string[16];

nazv:string[30];

index:integer; end;

Var bf:file of books;

rb:books; regim:byte;

{$i C:\TURBO\Org1.pas}

{$i C:\TURBO\Obr1.pas}

{$i C:\TURBO\Rash1.pas}

M: writeln('введите режим работы');

writeln('1 – создание, 2 – обработка',

'3 – расширение, 4 – выход');

readln(regim);

1:Org1;

2:Obr1;

3:Rash1;

4:Exit; else writeln('неправильно задан режим'); end;

goto M;

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

Program Prim49;

label M1,M2;

type books=record

nomer:integer;

avtor:string[16];

nazv:string[30];

index:integer; end;

Var bf:file of books;

rb:books; regim:byte; si:char; fl:string;

{$i C:\TURBO\Org.pas}

{$i C:\TURBO\Obr.pas}

{$i C:\TURBO\Rash.pas}

M1: writeln('где будет храниться файл? диск:\каталог\имя'),

readln(fl);

M2: writeln('введите режим работы');

writeln('1 – создание, 2 – обработка',

'3 – расширение, 4 – выход');

readln(regim);

1:Org;

2:Obr;

3:Rash;

4:begin writeln('будем ещё работать с файлами? - "Y"');

writeln('или конец работы – любая клавиша');

readln(si);

if (si='Y')or(si='y') then goto M1 else HALT; end;

else begin writeln('неправильно задан режим');

goto M2; end; end; goto M2;




Поделиться с друзьями:


Дата добавления: 2014-12-17; Просмотров: 346; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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