КАТЕГОРИИ: Архитектура-(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; Просмотров: 383; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |