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


Жұмыс түрі:  Курстық жұмыс
Тегін:  Антиплагиат
Көлемі: 18 бет
Таңдаулыға:   

Мазмұны

Кіріспе . . . . . . 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

Кіріспе

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

Адамның қатысуы ықтимал, автоматтық құралдармен өңдеуге жарамды түрде ұсынылған ақпарат - мәліметтер ретінде түсініледі. Арқаулы ауқым ретінде нақты зерттеуші үшін қызықты нақты әлемнің бөлігі түсініледі, мен үшінде.

Қарапайым МБ, мысалы ретінде телефон анықтамалығын, поездар қозғалысы кестесін, кәсіпорын қызметкерлері туралы мәліметгерді, студенттердің сессия тапсыру қорытындылары және т. б. атауға болады.

Менің тақырыбым кітапханадағы кітаптардың екібағытты циклдік тізімі.

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

Осы ауқымда жұмыс жасау үшін тиімді өріс бұл - динамикалық программалау. Нақтырақ айтсақ, екібағытты циклдік тізім арқылы кітаптарды енгізіп, құрылған базаға тиімді процедураларды қолдану.

Жүйе PasсalABC бағдарламалау жүйесіне негізделен. Курстық жұмыстың ендігі негізгі мақсаттарының бірі: осы бағдарламалау жүйесінде жұмыс істеуде бұрында және кейін алған жаңа негіздерді бекіту. Берілген жұмыста негізінен динамикалық жадыны тиімді пайдалануға арналған процедуралар және әр түрлі типтағы айнымалылармен жұмыс жасауға көңіл бөлінеді.


Аналитикалық бөлім

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

Курстық жұмыста мен кітапханадағы кітаптарға база құрып, бұл базаны тиімді қолдануым қажет. Сонымен қатар курстық жобаның негізгі элементтерінің бірі ретінде қолданушы мәзірі болып табылады. Қолданушы мәзірі 12 пунктіден тұрады, мәзір негізі - процедураларды берілген ретпен таңдауда.

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 жүйесі оқушылар мен кіші курс студенттеріне бағытталған және Паскаль тілінде бағдарламаларды оқуға арналған.

Алғашқы оқу авторлар пікірі бойынша қарапайым және ұқсас орталарда, қазіргі уақыт ортасында бағдарламалау тілінің мүмкіншіліктері стандартқа сай. Сонымен бірге ішкі программалардың жеткілікті болуы мен бай және замандас кітапханалардың бағдарламалауға сай жүруі жеткілікті деп түсіндірді. Көптеген пайдаланушылар Паскаль тілінен бастап оқыған, Borland Delphi оқуға жеңіл екенін мойындаған. Бірақ, Borland Pascal ортасы, MS DOS, Borland Delphi орталарының бай мүмкіншіліктері бастаушы бағдарламалаушы үшін күрделі болды. Дәл, осылай әрекет бастау, яғни Borland Delphi арқылы жұмыс жасау оқу- жазуға, оқиғалы бағдарламалар қатарына көптеген қиындықтар әкелді.

Delphi Pascal тілінің негізінде Pascal ABC жүйесі салынған. Бұл жүйе бірте- бірте қарапайым жүйеден модульдікке, объекті- хабарланғанға, оқиғалы және компоненттік бағдарламалауға ауысу арқылы дамыды. Pascal ABC жүйесі бірнеше тілден жасалатын конструкцияларға, сонымен қатар ерте кезден оқуға, қолдануға оңай жүйелердің бірі.

Мысалға: интерфейс секциясын және орындау секциясын модульде жасауға болады. Ал модульдің өзіде практикалық негізде бағдарламада жасалған. Процедура және функция тақырыбы олардың кірісуіне толық мән беріп, анықтайды.

Pascal ABC бағдарламалау жүйесінің арнайы оқу мақсатында жасалған модульдік қатары растірлік графика Graph ABC модулі объектісіз өткізіледі. Бірақ оның практикалық мүмкіншілігі Borland Delphi практикалық мүмкіншілігіне сәйкес келеді. Ол оқиғасыз бағдарламаларға қолайлы, сонымен қатар "жыпылықтаусыз" анимация жасауға болады.

Events модулі қарапайым оқиғалы бағдарламалар мен объектілерді қолданусыз жасауға рұқсат етеді (өзімен қарапайым процедуралық өзгеріс оқиғаларын ұсынады) .

Timers және Sounds модульдері таймерлер және дыбыстар, сонымен бірге іске асырылатын процедуралық стильді де жасауға рұқсат етеді. Бұл модульдерді тіпті консольді бағдарламада да қолдануға болады.

Containers - контейнер кластарының модульі негізгі құрылымдармен (динамикалық массивтермен, стектермен, жиындармен) іске асыруға рұқсат етеді.

ABC Objects векторлық графика модульінің негіздері объекті- хабарланған бағдарламаларды жылдам зерттеуге арналған. Күрделі ойындар мен оқытушылық бағдарламаларды жасауға рұқсат етеді.

VCL визуальді компоненттер модулі Delphi стильінде негізгі оқиғалы қосымшаның түрімен жұмыс жасауға рұқсат етеді. VCL классы Delphi түрімен ұқсастықтары көп және қолданушыға ыңғайлы болу үшін оңайлатылған.

Pascal ABC тілінде арифметикалық операцияларды типтік көрсеткішке келтіруге, сондай- ақ жұмысқа арналған комплексті сандармен жұмыс жасауға болады.

Сондықтанда мен осы Паскаль ортасы, яғни, Паскаль бағдарламалау жүйесімен жұмыс істеуді ұйғардым.

2 ТЕХНОЛОГИЯЛЫҚ БӨЛІМ

2. 1 Құру мақсаты мен қызметі

XXI ғасыр электрониканың ғасыры, яғни комьютер кезеңі. Сол себебті, керек мағұлматтарды осы компьютердің комегімен игерген оңай әрі тез болады. Динамикалық бағдарламалау белгілі бір материалдар жинағын тез әрі оңай игеру үшін тиімді.

2. 1. 2 Динамикалық жады түсінігі

Бағдарлама трансляциясы кезінде тіл негіздік құралдарының жетіспеушіліктерінің бірі, паскаль, ЭВМ азат жадысын қатал таратуында. Нақты, егер айнымалы бағдарламада жарияланса, бағдарлама жіберілуі жанында айнымалыға ЭВМ жадында бос ұяшықтар анықталады, осы ұяшыққа сұрау салу дәл осы айнымалыға сұрау салумен эквивалентті. Бұл талап жиымдарға, жазбаларға да жатады.

Мысалы, бағдарламада 100дік жиым анықталсын:

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

Сонда осы жиымда айнымалыларды сақтау үшін 200 байт жады көлемі қажет - әр бүтін санға 2 байттан. Мысалы, REAL типтес сандар 6 байт жадыны талап етеді және REAL типтес сандардан тұратын жиым - 600 байт жадыны алады.

Мәселе айнымалы ретінде жолдық қатарлы айнымалы болғанда ләзге қиындай түседі, себебі осындай типтегі әрбір айнымалы 256 байтты талап етеді, немесе жазбалық жиымдардың айнымалылары бірнеше жолдық қатарлы айнымалылардан тұруы мүмкін.

Мұндай жағдайда компьютер төмендегідей қателіктерді көрсетуі мүмкін:

ERROR 22: STRUCTURE TOO LARGE -

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

ERROR 96: TOO MANY VARIABLE -

Барлық бейнеленген мәлімет көлемі 64 килобайттан асуы мүмкін емес.

Яғни, бағдарламаға берілген жады көлемі 1сегементтен, 64К-тан аспауы шарт.

Мәліметтер үшін жадыны катаң қадағалап тарату - статистикалық деп аталады, керсінеше жадыны арнайы көрсеткіштер арқылы ұйымдастыру динамикалық тарату деп аталады.

Жадыны динамикалық түрде ұйымдастыру идеясының негізі болып: сегментке мәліметтің өзі емес, жады ұяшықтарының бастапқы адрестері жазылады, яғни осы адрестер негізгі мәліметтің жатқан жерін көрсетеді. Осы жағдайда компьютердің түгелімен бос жадысын қолдануға болады, тек қана бір жады сегментін ғана емес. Бір көрсеткіш адресін сақтау үшін 4 байт қана қажет. (физикалық адресі және сегменттегі жылжуы саналады) .

Көрсеткіштер - бұл арнайы ЭВМ жадындағы ұяшықтың физикалық адресін сақтауға арналған айнымалы. Компьютер жадындағы физикалық адрес екі бөліктен, яғни, адрес сегменті 2 байт, сегменттегі жылжу тағы 2 байт, онда көрсеткіш WORD типті болады, нақтырақ әр адрес үшін екілік WORD типінде.

Мәліметтерді қарапайым бейнелеуден гөрі көрсеткіштермен жұмыс істеудің артықшылықтарын атап өтсек:

  • Бағдарлама ағымдағы компьютердің барлық бос жадысын толығымен қолдана алады.
  • Босаған жады бөліктерін пайдалану;
  • Динамикалық жады ең тиімді пайдаланылатын орта: жады көлемі белгісіз немесе процесс барысында күрт өзгеруі мүмкін болғанда, мысалы, стектар, кезектер, екібағытты, кестелік тізімдер немесе екілік ағаштар.

Паскаль тілінде компьютердің динамикалық жадысы «куча» деп аталады, кей кезде үлкен стек деп немесе мәліметтер байтынан тұратын үлкен жиын деп аталады. Стектың бастауы (алғашқы адрес немесе кучаның асты) стандартты айнымалы-көрсеткіш HeapOrg, ал стек шыңы, бағдарлама ізімен ораналасқан көрсеткіш, - HeapEnd. HeapPrt - ағымдағы стек бөлігінің мағынасын анықтайтын стандартты айнымалы. Кучаның шекарасын компиляторға бағытталған арнайы көрсетілімдер арқылы реттеуге болады. Негізінде, бастапқы қалыпта барлық бос аймақ кучаға арналған.

Динамикалық жадының жұмыс механизмна сондай үңілмей-ақ, көрсеткіштер арқылы әр түрлі типтағы айнымалылардың мағынасын ДЖ-да орналастырып және жоюға болытыны туралы қарастырайық.

2. 1. 3 Көрсеткіштермен жұмыс жасауға арналған процедуралар мен функциялар

NEW (I) процедурасы айнымалыға қажет динамикалық жадтты бөліп береді. POINTER-паскаль тіліндегі арнайы көрсеткіш тип. Ол кезкелген типті көрсеткіш терді қосу амалдарына қатысады.

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

NIL- арнайы резервтелген «нөлдік» адрес, оны кез-келген көрсеткішке қосуға болады.

MARK- динамикалық жадыда ағымдағы бос учаскінің мағынасын сақтайды.

RELEASE- MARK көрсеткіші арқылы динамикалық жадттың бастапқы облысын белгілеп, RELEASE көрсеткіші арқылы нәтижесінде белгіленген аймақты босатуға арналған.

Келесі жұп процедура GETMEM және FREEMEM үйіндідегі жадыны босату және бөлектеп алу алуға арналған. Процедураны жазу форматы : GETMEM (<көрсеткіш>, <көлем>) ;

FREEMEM процедурасы GETMEM процедурасынан кейін жұмыс істейді. Ол бұрын белгіленген блок жадының белгіленген көлемін босатады. Форматы: FREEMEM (<көрсеткіш>, <көлем>) ;

Келесі функциялар көрсеткіштермен жұмыс жасағанда қолданылады. Олар үйіндінің жад көлемін бақылауға немесе адрестермен амалдар қолданылады. Мысалы:

MemAvail функциясы, Longint типінде, динамикалық жадттың бос көлемінің жалпы өлшемін анықтайды.

MaxAvail Longint типінде, динамикалық жадттың ең үзіксіз учаскесін байтпен анықтайды.

SizeOf (<көрсеткіш>) Integer типіндегі функция берілген көрсеткіштің жад көлемін анықтайды (A:=SizeOf(I^) ;

Екінші топқа келесі функциялар жатады:

Cseg функциясы Word типті, С микропроцесорының ағымдағы регистрінің мағынасын анықтайды.

Dseg Seg функциясы Word типті, D микропроцесорының ағымдағы регистрінің мағынасын анықтайды.

Seg (<айнымалы>) айнымалы орналасқан сегмент адресін анықтайды. Айнымалы кезкелген типта блоуы мүмкін.

Ofs (<айнымалы>) айнымалы мағынасы орналасқан адрес жылжуын анықтайды.

Prt (< >, < >:word) типі pointer, көрсеткішті анықтауға арналған қайсыбір адресте орналасқан айнымалы мағынасының сегменті мен жылжуын өзгертеді.

Addr (<айнымалы>) функциясы қайсыбір айнымалының мағынасы орналасқан адресін анықтайды.

2. 1. 4 Екібағытты жазбалық тізімді ұйымдастыру

Қарапайым бірбағытты тізімнің басты кемшілігі, түрлі іздеу алгоритмдерін қолдануда шектеу қойылды. Бұл тізім құрылымы іздеу кезінде кезектеп көруді қажет етеді, яғни элементтерді тізімнің басынан (ZAGOL) соңына дейін қарап шығады.

Іздеу мүмкіншілігін кеңейту үшін жазбаға тағы бір өріс қосу ұйғарылды, бұл өріске алдыңғы элемент адресі жазылады (қалыпты жағдайда бұл өрісті OLD деп атайды) . Мұндай қосымша көрсеткіштер ұйымдастырудың басы ретінде соңғы жазба элементі ZAGOL2 болып табылады. Бірінші жазбаның OLD көрсеткіші мен соңғы жазбаның NEXT көрсеткішінің (ЗПN) мәні NIL-ға тең.

Қосымша көрсеткіштің болуы іздеу мүмкіндігін кеңейтеді, жәнеде оның қауіпсіздігін арттырады. Бірбағытты тізімде көрсеткіштің жоғалуы бүкіл тізімнің жоғалуына әкеп соғады, ал екібағытты тізімде жоғалған байланыстарды қалыпқа келтіруге мүмкіндік бар.

2. 1. 5 Циклдік тізімдерді ұйымдастыру

Тізімнің екі атауы болған әр кезде тиімді емес, сондықтан динамикалық жадта жазу екі бағытты тізімдерінің ұйымдастыруда келесі кезеңдері - циклдік тізімдері болып табылады, (ZAGOL^. OLD және ZAGOL2^. NEXT) мәндері ZAGOL1 және ZAGOL2 мәндеріне сәйкесінше тізімде ауыстырылады. 2. 1. 1суретті қарау.

2. 1. 1сурет.

ZAGOL1және ZAGOL2 көрсеткіштері тізімнің қатар тұрған екі элементтінде орналасқаны 3, 8 суретте көрсетіліп тұр. Сондықтан арнайы бөлінген ZAGOL2 көрсеткішінің функцияларын ZAGOL1 көрсеткішіне ауыстыруға болады, оны жай ZAGOL деп атаймыз. 2. 1. 2 сурет

2. 1. 2 сурет. Тақырыбы ерекшеленбеген циклдік тізім.

Беріліп отырған циклдік тізімнің басқалардан ерекшелігі элементтердің толық бірдей мәнділігі болып табылады (тізімнің элементтерің өз ішінде ақпаратты ұйымдастыруды ескермеген жағдайда ), ZAGOL көрсеткіші тізімнің түрлі элементтінде орналаса алады. Мысалы, кейбір іздеу операциясын орындағаннан кейін ZAGOL көрсеткішін табылған элементке орналастыруымызға болады және бұл элементке қайта команда беру ZAGOL көрсеткішіне команда берумен тең ( оның өрістерін өңдеу кезінде ) .

Бірақ көптеген іздеу жұмыстарының алгоритмі элементтер ақпараты белгілі ретпен орналасқан тізімді өңдеуге негізделген. Сондықтан ZAGOL көрсеткішінің бастауыш орналасуы қажет. Осы мақсатта мәндік ақпараты жоқ өрісті элементтерге ZAGOL көрсеткішін орналастыру ұсынылған еді, ал элементтің өзі бастауыш нүкте -циклдік тізімнің басы ретінде қажет. Тізімді осылайша ұйымдластыру ерекшеленген тақырыбы бар тізім атауын алды. (2. 1. 5 сурет)

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. 3. 1 - Бас мәзір.

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

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

2. 4 Енгізу және шығару деректерінің тізімі

Динамикалық жадыдағы мәліметтің адресіне сілтеме немесе көрсеткіш типті айнымалылар:

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

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

BIB, BIBF RECORD;

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

NAZ, AVTOR, GANR, IZDATEL, SODR, S NAZ1: STRING;

Бүтін сандар типі айнымалылары:

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

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

F, A;

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

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

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

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

Ең бірінші осы бағдарламаның солжақ батырмасымен екі рет басыңыз, содан мәзірден тышқанның сол батырмасын біррет басу арқылы таңдайсыз.

2. 6 Тәжірибелік тексеру нәтижелері

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

Қорытынды

Екібағытты тізім қолданысқа дайын. Осы бағдарламамен және мәзір арқылы қолданушы оздігінен осы бағдарламаны ашып үйренуіне, колдануына толық мүмкіндік бар. Бағдарлама әсем безендірілген. Бас мәзір және сонын ішіндегі қосымша мәзірлер оңай осы бағдарламамен жұмыс атқаруға көмектеседі.

Тапсырылған түсінік хат осы бағдарламаның принципін көрсетеді. Осы бағдарламамен жұмыс істеуге арналған әдіс-тәсілдерін толығымен ашып көрсетеді. Осы курстық жоба бағдарлама бойынша барлық мәліметті береді.

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

  1. Ж. Қ. Масанов, Б. А. Бельгибаев: Turbo Pascal. Алматы: Бастау, 2004.
  2. О. Камардинов. Информатика. Оқу құралы. Алматы: Ғылым, 2004
  3. Ғ. Ш. Тойкенов. Паскаль тілінде программалау: Алматы, Дәнекер, 2001
  4. Б. Бөрібаев, Б. Нақысбеков, Г. Мадиярова: Информатика және есептеуіш техника негіздері: Жалпы білім беретін мектептің 9-сыныбына арналған оқулық, - Алматы:Мектеп, 2005
  5. Б. Бөрібаев, Р. Дүзбаева, А. Махметова: Информатика және есептеуіш техника негіздері. Есептер мен жаттығулар жинағы: Жалпы білім беретін мектептің 9-сыныбына арналған оқу құралы, - Алматы: «Мектеп» баспасы, 2005. - 104 бет.
  6. Зуев Е. А. Язык программирования Turbo Pascal, М. : Унитех, 1992г.
  7. Никифоров В. Л. Программирование на языке Turbo Pascal, метод. Указ., 1, 2, 3 части. - ВКГТУ, 1997г.
  8. Фаронов В. В. Программирование на ПЭВМ в среде ТР - М., МГТУ, 1990 г.
  9. С. А. Немнюгин . «Turbo Pascal» - СПб, Питер, 2000 г.
  10. «Информатика» под ред. Макаровой, СПб - 2000г.

И. Г. Семакин, А. П. Шестаков. Основы программирования: Учебник. - М. : Мастерство, 2001

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('Номер читателя у которого на руках эта книга, если книга не на руках то вписываем цифру 0?') ;

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;

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Тест тапсырмаларын қалыптастыру және толтыру
«Тест» қосымшасын құру»
Нысандарды қарау терезесі
Delphi ортасында тестілеу бағдарламасын құру жобасы
Ақпараттық жүйелердің бөлінуі
Желі сипатын бағалау
Программа құру барысында қолданылған құралдар көзі
Тест бағдарламасын құру
STRUCT операторын қолдана отырып тестілеуші программа құру
Объектіге бағытталған бағдарламалау
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz