TOPREFERAT.COM.KZ - Қазақша рефераттар

войти на сайт

вход на сайт

Логин: :
Пароль :

Забыл пароль Регистрация

Кітапханадағы кітаптар туралы мәліметтердің екі бағытты тізімін жасау курстық жұмыс




Кітапханадағы кітаптар туралы мәліметтердің екі бағытты тізімін жасау курстық жұмыс
0
Раздел: Соңғы қосылған | Автор: Админ | Дата: 13-03-2015, 12:06
Загрузок: 1727







Мазмұны

Кіріспе...……………………………………………………………………..............4

1 Аналитикалық бөлім..………………………………………………….................5

1.1 Есептің қойылуы мен бейнеленуі.....…………………………….....................5

1.2 Ақпаратты өңдеу кезеңдерін негіздеу, бағдарламаның жалпы

концепциясы, оның құрамы мен құрылымы…………………………...................5

1.3 Инструментальды құралдарды таңдаудың негізі...………………...................7

2 Технологиялық бөлім………...………………………………………...................9

2.1 Құру мақсаты мен қызметі……………………………………...........................9

2.1.2 Динамикалық жады түсінігі……………………………………......................9

2.1.3 Көрсеткіштермен жұмыс жасауға арналған процедуралар мен

функциялар…………………………………………………......................................112.1.4 Екібағытты жазбалық тізім. Екібағытты жазбалық тізімді ұйымдастыру.............................................................................................................12

2.1.5 Циклдік тізімдерді ұйымдастыру……………………………………………………………………….12

2.2 Жүйеге талаптар ………………………………………………………………14

2.3 Диалогтық схемалар мен функционалдіқ мүмкіншіліктердің

сипаттамасы……………………………………………………………………….14

2.4 Енгізу және шығару деректерінің тізімі мен оларды суреттеу……………..14

2.5 Қолдануға және қанаудауға басшылық ……………………………………...14

2.6 Тәжірибелік тексеру нәтижелері………………………………………………14

Қорытынды…………………………………………………………………............15

Қолданылған әдебиеттер тізімі……………………………………………............16

Қосымша А – Бағдарлама листингісі …………………………………….............17

Қосымша Б – Бағдарлама блок-схемасы……………………………………........21





Жұмыс түрі: Курстық жұмыс
Жұмыс көлемі: 21 бет
Пәні: Соңғы қосылған курстық жұмыстар

-----------------------------------------------------------------------------------

КУРСТЫҚ ЖҰМЫСТЫҢ ҚЫСҚАРТЫЛҒАН МӘТІНІ



Мазмұны

Кіріспе...……………………………………………………………………..............4

1 Аналитикалық бөлім..………………………………………………….................5

1.1 Есептің қойылуы мен бейнеленуі.....…………………………….....................5

1.2 Ақпаратты өңдеу кезеңдерін негіздеу, бағдарламаның жалпы

концепциясы, оның құрамы мен құрылымы…………………………...................5

1.3 Инструментальды құралдарды таңдаудың негізі...………………...................7

2 Технологиялық бөлім………...………………………………………...................9

2.1 Құру мақсаты мен қызметі……………………………………...........................9

2.1.2 Динамикалық жады түсінігі……………………………………......................9

2.1.3 Көрсеткіштермен жұмыс жасауға арналған процедуралар мен

функциялар…………………………………………………......................................112.1.4 Екібағытты жазбалық тізім. Екібағытты жазбалық тізімді ұйымдастыру.............................................................................................................12

2.1.5 Циклдік тізімдерді ұйымдастыру……………………………………………………………………….12

2.2 Жүйеге талаптар ………………………………………………………………14

2.3 Диалогтық схемалар мен функционалдіқ мүмкіншіліктердің

сипаттамасы……………………………………………………………………….14

2.4 Енгізу және шығару деректерінің тізімі мен оларды
2.5 Қолдануға және қанаудауға басшылық ……………………………………...14

2.6 Тәжірибелік тексеру нәтижелері………………………………………………14

Қорытынды…………………………………………………………………............15

Қолданылған әдебиеттер тізімі……………………………………………............16
Қосымша А – Бағдарлама листингісі …………………………………….............17

Қосымша Б – Бағдарлама блок-схемасы……………………………………........21

Кіріспе

Курстық жобаның негізгі мақсаты үлкен көлемді мәліметтер базасы(МБ)
Адамның қатысуы ықтимал, автоматтық құралдармен өңдеуге жарамды түрде
Қарапайым МБ, мысалы ретінде телефон анықтамалығын, поездар қозғалысы
Менің тақырыбым кітапханадағы кітаптардың екібағытты циклдік тізімі.

Электронды МБ-сының басты қасиеті - ақпаратты тез іздестіру
Осы ауқымда жұмыс жасау үшін тиімді өріс бұл
Жүйе PasсalABC бағдарламалау жүйесіне негізделен. Курстық жұмыстың ендігі
Аналитикалық бөлім

1.1 Есептің қойылуы мен бейнеленуі

Курстық жұмыста мен кітапханадағы кітаптарға база құрып, бұл
1.2 Ақпаратты өңдеу кезеңдерін негіздеу, бағдарламаның жалпы концепциясы,
Курстық жобаны бағдарламалау кезеңі келесі сатылардан тұрады:

Теориялық мағұлматтар жинау және нақтылау;

Бағдарлама алгоритімін құру;

Бағдарламаның құрылымын дайындау;

Бағдарламаның мәтінін дайындау;

Бағдарламаны тестілеу;

Түсінік хатты дайындау.

Бадарламаның құрамына бағдарламаның денесі және негізгі 11 процедура
Файл құру:

PROCEDURE CFILE;

Файлды көру:

PROCEDURE PROS;

Екібағытты тізім құру:

PROCEDURE CPIC;

Тізімді экранға шығару:

PROCEDURE PRINT;

Тізім элементтерін файлға жазу:

PROCEDURE ZFILE;

Тізімге тағы бір элемент қосу, яғни біздің жағдайда
PROCEDURE DOB;

Тізімнен элементті алып тастау:

PROCEDURE DEL;

Кітап аты бойынша іріктеу процедурасы:

PROCEDURE SORT;

Кітап аты бойынша тізімнен іздеу процедурасы:

PROCEDURE POISK;

Қолдағы кітаптардың барлығын тізім соңына көшіру:

PROCEDURE PEREM;

Дайын тексттік файлдағы мәліметтерді қолдану үшін файлға көшіру:

PROCEDURE READSFILE;

Бағдарлама құрылымы 1.1-сурет:

1.3 Инструментальды құралдарды таңдаудың негізі

Pascal ABC жүйесі оқушылар мен кіші курс студенттеріне
Алғашқы оқу авторлар пікірі бойынша қарапайым және ұқсас
Delphi Pascal тілінің негізінде Pascal ABC жүйесі салынған.
Мысалға: интерфейс секциясын және орындау секциясын модульде жасауға
Pascal ABC бағдарламалау жүйесінің арнайы оқу мақсатында жасалған
Events модулі қарапайым оқиғалы бағдарламалар мен объектілерді қолданусыз
Timers және Sounds модульдері таймерлер және дыбыстар, сонымен
Containers - контейнер кластарының модульі негізгі құрылымдармен (динамикалық
ABC Objects векторлық графика модульінің негіздері объекті- хабарланған
VCL визуальді компоненттер модулі Delphi стильінде негізгі оқиғалы
Pascal ABC тілінде арифметикалық операцияларды типтік көрсеткішке келтіруге,
Сондықтанда мен осы Паскаль ортасы, яғни, Паскаль бағдарламалау
2 ТЕХНОЛОГИЯЛЫҚ БӨЛІМ

2.1 Құру мақсаты мен қызметі

XXI ғасыр электрониканың ғасыры, яғни комьютер кезеңі. Сол
2.1.2 Динамикалық жады түсінігі

Бағдарлама трансляциясы кезінде тіл негіздік құралдарының жетіспеушіліктерінің бірі,
Мысалы, бағдарламада 100дік жиым анықталсын:

VAR A:ARRAY[1..100] OF INTEGER;

Сонда осы жиымда айнымалыларды сақтау үшін 200 байт
Мәселе айнымалы ретінде жолдық қатарлы айнымалы болғанда ләзге
Мұндай жағдайда компьютер төмендегідей қателіктерді көрсетуі мүмкін:

ERROR 22: STRUCTURE TOO LARGE -

Тым ұзақ құрылым, немесе

ERROR 96: TOO MANY VARIABLE -

Барлық бейнеленген мәлімет көлемі 64 килобайттан асуы мүмкін
Яғни, бағдарламаға берілген жады көлемі 1сегементтен, 64К-тан аспауы
Мәліметтер үшін жадыны катаң қадағалап тарату – статистикалық
Жадыны динамикалық түрде ұйымдастыру идеясының негізі болып: сегментке
Көрсеткіштер – бұл арнайы ЭВМ жадындағы ұяшықтың физикалық
Мәліметтерді қарапайым бейнелеуден гөрі көрсеткіштермен жұмыс істеудің артықшылықтарын
Бағдарлама ағымдағы компьютердің барлық бос жадысын толығымен қолдана
Босаған жады бөліктерін пайдалану;

Динамикалық жады ең тиімді пайдаланылатын орта: жады көлемі
Паскаль тілінде компьютердің динамикалық жадысы «куча» деп аталады,
Динамикалық жадының жұмыс механизмна сондай үңілмей-ақ, көрсеткіштер арқылы
2.1.3 Көрсеткіштермен жұмыс жасауға арналған процедуралар мен функциялар

NEW (I) процедурасы айнымалыға қажет динамикалық жадтты бөліп
DISPOSE-процедурасы көрсеткішінің (адресінің) мағынасын, яғни ссылканы немесе ішіндегі
NIL- арнайы резервтелген «нөлдік» адрес, оны кез-келген көрсеткішке
MARK- динамикалық жадыда ағымдағы бос учаскінің мағынасын сақтайды.

RELEASE- MARK көрсеткіші арқылы динамикалық жадттың
Келесі жұп процедура GETMEM және FREEMEM үйіндідегі
FREEMEM процедурасы GETMEM процедурасынан кейін жұмыс істейді. Ол
Келесі функциялар көрсеткіштермен жұмыс жасағанда қолданылады. Олар үйіндінің
MemAvail функциясы , Longint типінде, динамикалық жадттың бос
MaxAvail Longint типінде, динамикалық жадттың ең үзіксіз учаскесін
SizeOf () Integer типіндегі функция берілген көрсеткіштің
Екінші топқа келесі функциялар жатады:

Cseg функциясы Word типті , С микропроцесорының
Dseg Seg функциясы Word типті , D
Seg () айнымалы орналасқан сегмент адресін анықтайды. Айнымалы
Ofs () айнымалы мағынасы орналасқан адрес жылжуын
Prt (,:word) типі pointer, көрсеткішті
Addr () функциясы қайсыбір айнымалының мағынасы орналасқан адресін
2.1.4 Екібағытты жазбалық тізімді ұйымдастыру

Қарапайым бірбағытты тізімнің басты кемшілігі, түрлі іздеу алгоритмдерін
Іздеу мүмкіншілігін кеңейту үшін жазбаға тағы бір өріс
Қосымша көрсеткіштің болуы іздеу мүмкіндігін кеңейтеді, жәнеде оның
2.1.5 Циклдік тізімдерді ұйымдастыру

Тізімнің екі атауы болған әр кезде тиімді емес,
2.1.1сурет.

ZAGOL1және ZAGOL2 көрсеткіштері тізімнің қатар тұрған екі
2.1.2 сурет. Тақырыбы ерекшеленбеген циклдік тізім.

Беріліп отырған циклдік тізімнің басқалардан ерекшелігі элементтердің толық
Бірақ көптеген іздеу жұмыстарының алгоритмі элементтер ақпараты белгілі
2.1.5 сурет Ерекшеленген тақырыбы бар циклдік тізім.

2.2 Жүйеге талаптар

Осы бағдарламаның сіздің компьютеріңізде істеуі үшін келесі жүйе
- Операциалық жүйе Windows 98/XP/NT/Vista/Seven

- ОЗУ 256 Mb

- Процессор Pentium 4 2.0 Gg

- Бейнеокарта GForce FX 5200 128 Mb

- Тінтуір (мышь);

2.3 Диалогтық схемалар мен функционалдіқ мүмкіншіліктердің сипаттамасы

Осы бағдарламамен қолданушы оңай әрі тез жұмыс істеу
Сурет 2.3.1 – Бас мәзір.

Бұл бөлімдер қолданушыға бағдарламамен оңай басқаруға көмектеседі.

Кез-келген бір пунктіні таңдап алу үшін, сол пункттің
2.4 Енгізу және шығару деректерінің тізімі

Динамикалық жадыдағы мәліметтің адресіне сілтеме немесе көрсеткіш типті
ZAGOL,TEK1,TEK2,TEK3,ZVENO:UKAZ;

Жазба типті айнымалы:

BIB, BIBF RECORD;

Жолдық қатар айнымалысы:

NAZ , AVTOR, GANR, IZDATEL, SODR ,S NAZ1:
Бүтін сандар типі айнымалылары:

I,N,W ,INVNOM, NOMCHIT, GODIZD: INTEGER;

BIB типінің айнымалылары:

F, A;

2.5 Қолдануға және қанаудауға басшылық

Бұл бағдарламаны қолдану үшін:

1. Осы жұмыстың бағдарламасы болу керек.

2. Жүйелік талаптар орындалуы қажет.

Ең бірінші осы бағдарламаның солжақ батырмасымен екі рет
2.6 Тәжірибелік тексеру нәтижелері

Бағдарламаны тестілеу нәтижесінде қателіктер болмады, және алға қойылған
Қорытынды

Екібағытты тізім қолданысқа дайын. Осы бағдарламамен және мәзір
Тапсырылған түсінік хат осы бағдарламаның принципін көрсетеді. Осы
Қолданылған әдебиеттер тізімі

Ж.Қ.Масанов, Б.А.Бельгибаев: Turbo Pascal. Алматы: Бастау, 2004.

О. Камардинов. Информатика. Оқу құралы. Алматы: Ғылым, 2004

Ғ.Ш.Тойкенов. Паскаль тілінде программалау: Алматы, Дәнекер, 2001

Б. Бөрібаев, Б. Нақысбеков, Г. Мадиярова: Информатика және
Б.Бөрібаев, Р.Дүзбаева, А.Махметова: Информатика және есептеуіш техника негіздері.
Зуев Е.А. Язык программирования Turbo Pascal, М.: Унитех,
Никифоров В.Л. Программирование на языке Turbo Pascal, метод.
Фаронов В.В. Программирование на ПЭВМ в среде ТР
С.А.Немнюгин . «Turbo Pascal» - СПб, Питер,
«Информатика» под ред. Макаровой, СПб – 2000г.

И.Г.Семакин, А.П.Шестаков. Основы программирования: Учебник. – М.: Мастерство,
11.В.Л Никифоров, Н.В. Никифорова – Динамическое программирование
Қосымша А

Бағдарлама листингісі

PROGRAM biblioteka;

TYPE

UKAZ=^BIB;

BIB=RECORD

NAZ:STRing;

AVTOR:STRing;

GANR:STRing;

INVNOM:INTEGER;

NOMCHIT:INTEGER;

GODIZD:INTEGER;

IZDATEL:STRING;

SODR:STRING;

NEXT,OLD:UKAZ;

END;

BIBF=RECORD

NAZ:STRing;

AVTOR:STRing;

GANR:STRing;

INVNOM:INTEGER;

NOMCHIT:INTEGER;

GODIZD:INTEGER;

IZDATEL:STRING;

SODR:STRING;

END;

VAR

ZAGOL,TEK1,TEK2,TEK3,ZVENO:UKAZ;

F:FILE OF BIBF;

A:BIBF;

S:STRing;

I,N,W:INTEGER;

NAZ1:STRING;

tt:text;

PROCEDURE CFILE;

{Процедура создания файла}

BEGIN

ASSIGN(F,'BIBL.DAT');

REWRITE(F);

WRITELN(' Сколько всего книг введем?');

READLN(N);

FOR I:=1 TO N DO

BEGIN

WRITELN(I,'-ая книга');

WRITELN('Название книги');

READLN(A.NAZ);

WRITELN('Автор книги');

READLN(A.AVTOR);

WRITELN('Жанр книги?');

READLN(A.GANR);

WRITELN('Инвертарный номер?');

READLN(A.INVNOM);

WRITELN('Номер читателя у которого на руках эта книга,
READLN(A.NOMCHIT);

WRITELN('Год издания книги?');

READLN(A.GODIZD);

WRITELN('Издатель?');

READLN(A.IZDATEL);

WRITELN('Краткое содержание книги?');

READLN(A.SODR);

WRITE(F,A);

END;

CLOSE(F);

END;

PROCEDURE PROS;

BEGIN

ASSIGN(F,'BIBL.DAT');

RESET(F);

I:=1;

BEGIN

WHILE NOT EOF(F)DO

READ(F,a);

WRITELN('!',TEK1^.NAZ:6,' !',TEK1^.AVTOR:10,'!',TEK1^.GANR:12,

'!',TEK1^.INVNOM:4,'!',TEK1^.NOMCHIT:5,'!',

TEK1^.GODIZD:6,'!',TEK1^.IZDATEL:17,'!',TEK1^.SODR:8,'!');

I:=I+1;

END;

writeln('======>Процедура просмотр выполнена!');

writeln('======>Для возврата в ГЛАВНОЕ МЕНЮ нажмите ENTER.');

readln;

CLOSE(F);

END;

PROCEDURE CPIC; {СОЗДАНИЯ
BEGIN

ASSIGN(F,'BIBL.DAT');

RESET(F);

NEW(ZAGOL);

TEK1:=ZAGOL;

TEK1^.NEXT:=TEK1;{циклический }

TEK1^.OLD:=TEK1;{указатель на себя }

WHILE NOT EOF(F) DO

BEGIN

READ(F,A);

NEW(ZVENO);

ZVENO^.NAZ:=A.NAZ;

ZVENO^.AVTOR:=A.AVTOR;

ZVENO^.GANR:=A.GANR;

ZVENO^.INVNOM:=A.INVNOM;

ZVENO^.NOMCHIT:=A.NOMCHIT;

ZVENO^.GODIZD:=A.GODIZD;

ZVENO^.IZDATEL:=A.IZDATEL;

ZVENO^.SODR:=A.SODR;

ZVENO^.NEXT:=ZAGOL;

{присваеваем ZAGOLу ZVENO}

TEK1^.NEXT:=ZVENO;

{предыдущий смотрит на следующий элемент}

ZAGOL^.OLD:=ZVENO;

{1ый элемент смотрит на последний}

ZVENO^.OLD:=TEK1;

TEK1:=ZVENO; {TEK1 жылжу керек , чтобы цикл двигался}

END;

writeln('======>Процедура создания списка выполнена!');

writeln('======>Для возврата в ГЛАВНОЕ МЕНЮ нажмите ENTER.');

readln;

CLOSE(F);

END;

PROCEDURE PRINT;

BEGIN

writeln(' ________________________________________________________________________________________________________)');

writeln('| Название
writeln('| книги
writeln('|————————————————------|———————————----|————————————|—————————————|---------|--------|-----------|------------|');

TEK1:=ZAGOL^.NEXT;

WHILE TEK1ZAGOL DO BEGIN

WRITELN('!',TEK1^.NAZ:6,'! ',TEK1^.AVTOR:9,'!',TEK1^.GANR:12,

' !',TEK1^.INVNOM:6,'!',TEK1^.NOMCHIT:7,'!',

TEK1^.GODIZD:8,'!',TEK1^.IZDATEL:19,'!',TEK1^.SODR:9,'!');

TEK1:=TEK1^.NEXT;

//READLN;

END;

WRITELN('-------------------------------------------------------------------------------------------------------- ');

WRITELN('Нажмите ENTER');

READLN;

END;

PROCEDURE ZFILE;

BEGIN

ASSIGN(F,'BIBL.DAT');

REWRITE(F);

TEK1:=ZAGOL^.NEXT;

WHILE TEK1ZAGOL DO

BEGIN

A.NAZ:=TEK1^.NAZ;

A.AVTOR:=TEK1^.AVTOR;

A.GANR:=TEK1^.GANR;

A.INVNOM:=TEK1^.INVNOM;

A.NOMCHIT:=TEK1^.NOMCHIT;

A.GODIZD:=TEK1^.GODIZD;

A.IZDATEL:=TEK1^.IZDATEL;

A.SODR:=TEK1^.SODR;

WRITE(F,A);

TEK1:=TEK1^.NEXT;

END;

CLOSE(F);

END;

PROCEDURE DOB;{ПРОЦЕДУРА ДОБАВЛЕНИЯ}

BEGIN

WRITELN(' Название книги за которой добаляется новая книга?');

READLN(NAZ1);

TEK1:=ZAGOL^.NEXT;

WHILE TEK1ZAGOL DO

BEGIN

IF TEK1^.NAZ=NAZ1 THEN

BEGIN

NEW(ZVENO);

WRITELN('Название добаляемой книги?');

READLN(ZVENO^.NAZ);

WRITELN('Автор??');

READLN(ZVENO^.AVTOR);

WRITELN('Жанр?');

READLN(ZVENO^.GANR);

WRITELN('Инвентарный номер?');

READLN(ZVENO^.INVNOM);

WRITELN('Номер читателя у которого на руках эта книга,
READLN(ZVENO^.NOMCHIT);

WRITELN('год издания книги?');

READLN(ZVENO^.GODIZD);

WRITELN('Издатель?');

READLN(ZVENO^.IZDATEL);

WRITELN('Краткое содержание книги?');

READLN(ZVENO^.SODR);

ZVENO^.NEXT:=TEK1^.NEXT;

TEK1^.NEXT:=ZVENO;

ZVENO^.NEXT^.OLD:=ZVENO;

ZVENO^.OLD:=TEK1;

TEK1:=TEK1^.NEXT;

END;

TEK1:=TEK1^.NEXT;

END;

END;

PROCEDURE DEL;{ПРОЦЕДУРА УДАЛЕНИЯ}

BEGIN

WRITELN('Название удаляемой книги?');

READLN(NAZ1);

TEK1:=ZAGOL^.NEXT;

WHILE TEK1ZAGOL DO

BEGIN

IF TEK1^.NAZ=NAZ1 THEN

BEGIN

ZVENO:=TEK1;

TEK1:=ZVENO^.OLD;

ZVENO^.NEXT^.OLD:=TEK1;

TEK1^.NEXT:=ZVENO^.NEXT;

DISPOSE(ZVENO);

END;

TEK1:=TEK1^.NEXT;

END;

END;

PROCEDURE SORT;

BEGIN

N:=0;

TEK1:=ZAGOL^.NEXT;

WHILE TEK1ZAGOL DO

BEGIN

N:=N+1;

TEK1:=TEK1^.NEXT;

END;

TEK2:=ZAGOL^.NEXT;

WHILE TEK2ZAGOL DO

BEGIN

TEK2:=TEK2^.NEXT;

TEK1:=ZAGOL;

FOR I:=2 TO N DO

BEGIN

TEK1:=TEK1^.NEXT;

IF TEK1^.NAZ>TEK1^.NEXT^.NAZ THEN

BEGIN

A.NAZ:=TEK1^.NAZ;

A.AVTOR:=TEK1^.AVTOR;

A.GANR:=TEK1^.GANR;

TEK1^.NAZ:=TEK1^.NEXT^.NAZ;

TEK1^.AVTOR:=TEK1^.NEXT^.AVTOR;

TEK1^.GANR:=TEK1^.NEXT^.GANR;

TEK1^.NEXT^.NAZ:=A.NAZ;

TEK1^.NEXT^.AVTOR:=A.AVTOR;

TEK1^.NEXT^.GANR:=A.GANR;

END;

END;

END;

END;

PROCEDURE POISK;

TYPE

MAS=RECORD

NA:STRing;

UK:UKAZ;

END;

VAR

A:ARRAY[1..100] OF MAS;

S,SN,L:INTEGER;

OK,OKY:BOOLEAN;

BEGIN

N:=0;

TEK1:=ZAGOL^.NEXT;

WHILE TEK1ZAGOL DO

BEGIN

N:=N+1;

A[N].NA:=TEK1^.NAZ;

A[N].UK:=TEK1;

TEK1:=TEK1^.NEXT;

END;

WRITELN(' Введите название искомой книги ?');

READLN(NAZ1);

I:=0;

L:=N DIV 2;

S:=N;

SN:=0;

OK:=TRUE;

OKY:=TRUE;

WHILE OK DO

BEGIN

I:=I+1;

IF A[L].NA=NAZ1 THEN OK:=FALSE

ELSE

BEGIN

IF A[L].NA > NAZ1 THEN

BEGIN

S:=L;

L:=L-((S-SN) DIV 2);

END

ELSE

BEGIN

SN:=L;

L:=L+((S-SN+1) DIV 2);

END;

END;

IF I>N THEN

BEGIN

OK:=FALSE;

OKY:=FALSE;

END;

END;

IF OKY THEN

BEGIN

TEK1:=A[L].UK;

WRITELN(' Книга найдена ');

WRITELN(' Название :',TEK1^.NAZ);

WRITELN(' Автор :',TEK1^.AVTOR);

WRITELN(' Жанр :',TEK1^.GANR);

END

ELSE WRITELN(' Книги нет ');

WRITELN(' Нажмите ENTER');

READLN;

END;

PROCEDURE PEREM;

BEGIN

TEK1:=ZAGOL^.OLD;//встали на начало списка

WHILE TEK1ZAGOL DO //пока тек1 не равен заголовку

BEGIN

IF TEK1^.NOMCHIT>0 THEN // если номерчит.больше нуля то

BEGIN

TEK3:=TEK1^.OLD; // тек3 присваеваем следующ.эл после найденного
ZVENO:=TEK1;

ZVENO^.OLD^.NEXT:=ZVENO^.NEXT;

ZVENO^.NEXT^.OLD:=ZVENO^.OLD;

ZAGOL^.OLD^.NEXT:=ZVENO;

ZVENO^.OLD:=ZAGOL^.OLD;

ZVENO^.NEXT:=ZAGOL;

ZAGOL^.OLD:=ZVENO;

END;

IF TEK1^.NOMCHIT>0 THEN TEK1:=TEK3 ELSE TEK1:=TEK1^.OLD;

WRITELN('*',TEK1^.NOMCHIT, TEK1^.AVTOR);

END;

writeln('======>Процедура перемещения книг выполнена!');

writeln('======>Для возврата в ГЛАВНОЕ МЕНЮ нажмите ENTER.');

readln;

END;

PROCEDURE READSFILE;

begin

assign(tt,'tt.txt');

assign(f,'BIBL.DAT');

reset(tt);

rewrite(f);

while not eof(tt) do begin

readln(tt,a.NAZ);

readln(tt,a.AVTOR);

readln(tt,a.GANR);

readln(tt,a.INVNOM);

readln(tt,a.NOMCHIT);

readln(tt,a.GODIZD);

readln(tt,a.IZDATEL);

readln(tt,a.SODR);

write(f,a);

end;

close(tt); close(f);

reset(f);

while not eof(f) do begin

read(f,a); readln;

writeLN(a.NAZ,' ',a.AVTOR,' ',a.NOMCHIT,'',a.INVNOM,' ',a.NOMCHIT,' ',a.GODIZD,'
end;

close(f);

end;

BEGIN

WHILE W BEGIN

WRITELN(' Добро пожаловать, в базу данных библиотеки!!!');

WRITELN(' Вы можете :');

WRITELN('1 - Создать файл ');

WRITELN('2 - Просмотр файла ');

WRITELN('3 - Создать список ');

WRITELN('4 - Записать список в файл ');

WRITELN('5 - Напечатать список ');

WRITELN('6 - Добавить элемент в список ');

WRITELN('7 - Удалить элемент из списка ');

WRITELN('8 - Сортировка списка по названию ');

WRITELN('9 - Двоичный поиск книги по названию ');

WRITELN('10 - Переместить все книги, находящиеся у читателей
WRITELN('11 - Прочесть с текстового файла и записать
WRITELN('12 - Выйти из программы ');

WRITELN(' Ваши действия ?');

READLN(W);

CASE W OF

1:CFILE;

2:PROS;

3:CPIC;

4:ZFILE;

5:PRINT;

6:DOB;

7:DEL;

8:SORT;

9:POISK;

10:PEREM;

11:READSFILE;

END;

END;

END.

Қосымша Б

21

12 – Бағдарламадан шығу

Сіздің әрекетіңіз ?

1 – Файл құру

2 – Файлды қарау

3 – Тізім құру

4 – Тізімді файлға жазу

5 – Тізімді басып шығару

6 – Тізімге элемент қосу

7 – Тізімнен элементті жою

8 – Тізімді алфавит бойынша сорттау

9 – Кітапты аты бойынша екілік іздеу
10 – Оқырман колында деп белгіленген кітаптарды тізім
11 – Дайын тексттік файылдан тізім құрастыру

Процедура тізімінен белгілі бір ретпен процедураларды таңдау

Негізгі бағдарлама

OLD

NEXT

ЗП 2

OLD

NEXT

ЗП 3

OLD

NEXT

ЗП 1

OLD

NEXT

ЗП N





ZAGOL 2

ZAGOL 1

OLD

NEXT

ЗП 2

OLD

NEXT

ЗП 3

OLD

NEXT

ЗП 1

OLD

NEXT

ЗП N





ZAGOL

OLD

NEXT

ЗП 1

OLD

NEXT

ЗП 2

OLD

NEXT

OLD

NEXT

ЗП N





ZAGOL





Написать комментарий
Имя:*
E-Mail:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите код: *


Бұл сайтта Қазақстанның түкпір-түкпірінен жиналған қазақ тіліндегі рефераттар мен курстық және дипломдық жұмыстар ұсынылған. Қазіргі таңда www.topreferat.com.kz сайтының қазақ тіліндегі жұмыстар базасы бүкіл интернеттегі ең үлкен база болып табылады! Біздің базадағы жұмыстар саны 15000-нан асады. Біз бұл жетістікпен тоқтап қалмаймыз! Біз базамызды одан әрі толықтырамыз.
» » Кітапханадағы кітаптар туралы мәліметтердің екі бағытты тізімін жасау курстық жұмыс

© 2011-2016 Скачать бесплатно на topreferat.com.kz курсовые, дипломные и рефераты на телефон, на планшет и на компьютер.
При копировании материала активная ссылка на источник обязательна.


Мнение посетителей:
 

После 9 класса Вы:

Пойду в 10, 11, закончу школу полностью
Пойду в Колледж
Пойду в ПТУ
Пойду работать
Снова пойду в 9 класс

 
 
Похожие:
  • Құрылымдық модульдік программалау курстық жұмыс
  • Шашка ойынын Паскаль программалау тілінде құру курстық жұмыс
  • Турбо Паскаль бағдарламалау тілінің графикалық мүмкіндіктері курстық жұмыс
  • Паскальда Геометриялық фигуралардың графигін салу курстық жұмыс
  • Паскаль бағдарламалау тілінде электронды сағат құру курстық жұмыс
  • Математикалық маятник тербелісін моделдеу курстық жұмыс
  • Массиверді программалау курстық жұмыс
  • Крамер әдісімен теңдеулер шешуге программа құруl курстық жұмыс
  • Жиымдар курстық жұмыс
  • Turbo Pascal тілінің түсініктерімен жұмыс жасау курстық жұмыс
  • Қайталану операторы реферат
  • Циклдік құрылымды алгоритмді программалау Паскаль тілінде реферат
  • Турбо паскальда екі өлшемді массивтерді ұйымдастыру технологиясы реферат
  • Сұрыптау әдістері реферат
  • Паскаль жүйесіндегі графика реферат
  • Кітапханашының жұмысын автоматтандыру реферат
  • Динамикалық ұғым принципімен программа құру технологиясы реферат
  • Іздеу алгоритмі реферат
  • Turbo Pascal-дағы жолдық қатарлар реферат
  • Graph модулін қолдану Турбо паскаль Turbo Pasсal реферат