Бағдарламалау ортасының негізгі элементтері

Автор работы: Пользователь скрыл имя, 04 Января 2014 в 11:30, курсовая работа

Описание работы

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

Содержание работы

Кіріспе 2
1 Бағдарламалау ортасының негізгі элементтері 4
1.1 Delphi-дi iске қосу. Delphi интерфейсi. Проект 4
1.2 Оқиғалар. Программалық код терезесi. әдiс 6
1.3 Компоненттер палитрасы 12
1.4 Компоненттердi пайдаланып қарапайым проект құру 14
1.5 Проектiнi сақтау және ашу 17
2 Жиындар 19
3. Delphi-де қолданылатын мәліметтер қорының түрлері 27
3.1. Delphi-де МҚ байланысты ұйымдастыру 30
3.2. TQuery компонентімен жұмыс 33
4. «МЕЙРАМХАНА ЖҰМЫСЫН АВТОМАТТАНЫДРУ» БАҒДАРЛАМАСЫН СИПАТТАУ 36
4.1. Бағдарламаның негізгі сипаты 36
4.2. Тағамды іздеу 37
4.3. Мәліметтерді қосу, өзгерту және өшіру 39
4.4. Тапсырыс беру 41
4.5. Тапсырыстар кестесі 42
ҚОРЫТЫНДЫ 43
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР 44
Қосымша 45

Файлы: 1 файл

теори.doc

— 703.00 Кб (Скачать файл)

 

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

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

a)  TYPE Dosye=RECORD

A,C:String;

B, E:Integer;

D: Char; END;

VAR X, Y : Dosye;

мұндағы:

- Dosye – барлық жазба  компанентерінің ортақ типі ретінде  белгіленген идентификатор;

- RECORD... END жазбаны анықтайтын  операторлық жақшалардың қызметін атқарады;

- A,C – жолдық қатар  болатын айнымалылар;

- B, E -  сандар

- D – символдық шама

- X, Y – жазба аты  ретінде белгіленген жазбалық  айнымалылар

 

 

 

ә)  TYPE   Futboll=RECORD

A:Array[ 1..17]Of String;

B, C:Array[1..17]Of Byte;

D:Array[1..17] Of Integer; END;

                  VAR  X:Futboll;

мұндағы:

- Futboll  - барлық жазба компоненттерінің ортақ типі ретінде белгіленген идентификатор;

- RECORD ... END жазбаны анықтайтын қызметші сөздер, операторлық жақшалардың қызметін атқарады;

- Операторлық  жақшалардың ішінде жазбалар  өрісінің айнымалылары сипатталған;

- A - элементтері жолдық қатардан тұратын массив(мыс: командалар аты);

- B, C, D - бүтін сандар массивтері(мыс: жеңістерінің, тең өткізген ойындар, ұпайлар сандары);

- Х,Ү - жазба аты ретінде белгіленген жазбалық айнымалылар (Х және Ү идентификаторлары Futboll - типті жазбаларды анықтайды).

Көптеген  есептеулерде жазбаны анықтайтын идентификатор ретінде элементтері жазба өрістері болатын массивтерді қолданған ыңғайлы болып табылады, олар бағдарламада төмендегідей сипатталады:

TYPE Dosye=RECORD

A,C:String;

В,Е: Integer;

D:Char;

END;

VAR X:Array[ 1..10]Of Dosye;

мұндағы:

- Dosye - жазбалардың аты ретінде белгіленген идентификатор;

- RECORDS ... END жазбаны анықтайтын операторлық жақшалардың қызметін атқарады;

- Жақшалардың ішінде жазбалар өрісі  идентификаторлары сипатталған,

- A, C - жолдық қатар болатын айнымалылар(мыс: фамилиясы, аты),

- B, Е - бүтін сандар(мыс: туған жылы, оқитын класы), 
- D - символдық шама(мыс: қан тобы),

- X - жазбалық массив(Х массиві Dosye-типті жазбаларды анықтайды).

Жазба өрістерінің мәндерін өрнектерде қолдану үшін айнымалылар құрама атпен жазылады. Айнымалылардың құрама аты: жазбаны анықтайтын идентификатордан, нүктеден және жазба өрісінің атынан тұратын тізбектен тұрады(Х.А, Х.С, Х.Е). Құрама атпен белгіленген жазба өрістерінің айнымалылары өздерінің көрсетілген типтерімен орындауға болатын барлық есептеулерге қатыса алады, мысалға жазбалармен төмендегідей амалдар орындалады:

 Y:=X // Үжазбаы Хжазбаның  барлық компонентерін меншіктейді

 Х.А:='Ахметова'; // А айнымалысы Ахметова қатарын  меншіктейді

 Х.С:=1987;  // С айнымалысы 1987 санын меншіктейді

 X.D.:='B'; // D айнымалысы В символын меншіктейді

Бағдарламалауда жазба  өрісінің айнымалыларын құрама атпен жазба бірқатар қиындықтар туғызады (бағдарламалық текст ұзақ болып кетеді және оны теру бағдарламашының көп уақытын алады). Сондықтан Turbo Pascal-да жазба айнымалыларын біріктіру үшін WITH операторын қолданылады. Жазбалар айнымалыларының алдында WITH операторын жазып кетсе, онда олардың алдында жазбады анықтайтын идентификаторды жазбаса да болады, жалпы жазылу түрі:

With X Do операторлар бөлімі;

мысалы:

With X Do Readln(A);

Жазбаны анықтайтын идентификатор массив болған жағдайда жанына тік жақшалар ішіне массивтің индексі қосыла жазылады:

With X[K] Do Readln(A);

Егер жазба  айнымалыларынан тұратын операторлар  бөлімі бірнеше операторлардан тұрса, олар операторлық жақшаларға алынады:

With X Do Begin операторлар бөлімі End;

Егер жазбалар бірінің ішінде бірі орналасса, онда With операторы да бірінің ішіне бірі орналасады. Олардың жазылу принципі цикл ішінде циклдер ұйымдастыру принципіне ұқсас келеді:

With X Do Begin

With Y Do Begin

Write ('Фамилиясы');

ReadIn (A);

Write('аты"); Readln(C);

Write('Tуған жылы'); Readln(B);

Write('Тобы'); Readln(E); End;

 

 

Мысал. Екі   сыныптың  параллельдігін  анықтайтын  бағдарламама.

program мысал;

type сынып= record

оқу  жылы:integer;

arip: char 

end;

var x,y: сынып;

begin read (х. оқу  жылы, х. әріп у.оқу  жылы  у.әріп )

if (х. оқу   жылы = у.оқу  жылы) and (х. әріп  ≠ у.әріп)

then write (‘иә’) else write (‘жоқ’)

end.

 

Айтылғанды   қорытындылайық   және   толықтырайық.  Егер v типі   бағдарламамада record..end,  конструкциясымен  анықталса,  онда  ол   құрамды (комбинационный)  тип  деп  аталады. V құрамды  (комбинированный)  типінің   жалпы   түрі    былай  анықталады.

V = record l1: r1; l2 : r2; ... ; lк :  rк end

Мұндағы r1, r2, ..., rк - әрқайсысы - real, integer, char немесе   бұрын  анықталған  типтің  аты l1,... , lк- -нің  әрқайсысы  - немесе   алаң   аты (идентификатор)  немесе  үтірмен  ажыратылған  алаң  аттары, v типіне   қатысты   алғанда r1, r2, ..., rк базалық  типтер  деп  аталады. Егер  х  айнымалысы v типті  айнымалысы   және   де,  мысалы , li-дің типі, q,..., s болса,  онда x.p, ..., x.s – ол r, типінің    айнымалысы   және  т.т.  болады. V типті   объектілерге   операциялар - ол алаңның  атын  көрсетіп   жазбалаудың   кейбір   алаңына    кіру,   сонымен   қатар   амалдар  атын  көрсетіп    жазбалаудың   кейбір   алаңына  кіру,  сонымен   қатар  амалдар  қолдану   арқылы   базалық  типтерге   байланысты   кейбір  алаңдарды  өзгерту  болып   табылады.

    Егер х, у екі  құрылымды   айнымалыларды   сипаттамасы   бірдей  болса,  онда  оларға  меншіктеу   операторын   қолдануға   болады. х:=у

Бағдарламада  базалық   тип  анықталса,  онда оқушы типін  сипаттай  аламыз. Жазбалауда   осы  типтің   объектілері   белгіленеді   оқушының  фамилиясы аты (ұзындығы  15  элементтен   тұратын char типті массивтер)  және  сынып (сыныптың  типі қос   бағдарламамадағыдай    анықталады)

фа=array [1..15] of char;

оқушы = record ф, а: фа; сын: сынып end;

егер  ж  сынып типті  айнымалы   болса, онда х.а, х.ф- фи типті  айнымалылар х.а[j],

 х.ф [j]-char типті   айнымалылар

Х.сын – сынып  типті   айнымалылар 

Х.сын ..оқу  жылы-integer типті    айнымалы

 Х.сын..әріп–char  типті   айнымалы

Элементтері  оқушы  типті  массивтерді  қарастыруға  болады.

mektep = array [1...500] of оқушы 

 онда, егер s мектеп  типті айнымалы  болса,  онда

S [i]- сынып   типті   айнымалы ..

S [i].a, S [i].ф – фа типті   айнымалы 

S [i].a [i], S [i].С[j] – char типті   айнымалы

S [i].сын –сынып, типті   айнымалы 

S [i].сын.оқу  жылы-integer типті   айнымалы 

S [i].сын. әріп – char типті   айнымалы.

 

Мысал. Мектептің   параллель  сыныбында   фамилиялас   оқушылардың    барлығын  анықтайтын   бағдарламама   жазайық.  Оқушылар   туралы   мәліметтер   тәртібі  мынадай:  аты,  фамилиясы,  оқу  жылы  әріп.  Фамилиясы  мен   аты  15- тен   аз  әріптермен   жазылған  болса,  онда  қалған   соңғы   элементтері   бос   орындар.

program фс (input, output);

label 1,2;

type sinip=record оқу   жылы: integer; arip: char end;

fa= array [1..15] of char;

okyshi = record ф,а: фа: сын: сынып end;

mektep = array [1..500] of оқушы;

var s: mektep ; i,j,k: integer;

begin

for i:= 1 to 500 do

begin for j:=1 to 15 do read (s[i].a [j]);

for j:=1 to 15 do read  (s[i].fa [j]);

read (s [i].сын.оқу  жылы, s [i].сын.әріп)

end;

for i:=1 to 500 do

for j:=I+1 to 500 do

begin if (s [i].сын.оқу  жылы = s [j].сын.оқу  жылы)

and (s [i].сын.әріп≠s[j].сын.әріп) then

begin for k:=1 to 15 do

if s [i].ф[k]≠s [j].ф [k] then goto 2;

write (‘бар’); goto 1 end;

2: end; write (‘жоқ’);

1: end.

 

3.  Delphi-де қолданылатын мәліметтер қорының түрлері

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


                                              Файл-Сервер


  Локальдік машина                                       МҚ


       МҚ     


                             Желі


   BDE                    


   


        Бағдарлама                BDE                                           BDE


                                                              …           ……..


                                Бағдарлама                              Бағдарлама



                                         Клиент

                           

 Файл – сервер мәліметтер  қорында мәліметтер желілік файл  – серверде орналасады, ол бір  мезгілде бірнеше пайдаланушы жұмыс істей алады, сондықтан мұндай мәліметтер қорында қөп пайдаланушы режимінде пайдалануы мүмкін. Мәліметтер қорында ғы мәліметтердің жалғыз ғана сақталады, әрбір клиент әр уақыт мезетінде осы мәліметтердің локалдік қөшірмесімен жұмыс істейді, мәліметтерді басқару түгелімен клиент бағдарламасына жүктеледі.Олар әрбір клиент орнындағы мәліметтердің локалдік қөшірмесін негізгі мәліметтер қоры құрамымен синхрондауды жүргізуі тиіс.

Екеуінде де BDE  клиент машинасында  болады, және бағдарламамен бірігіп локалдік мәліметтер қорын басқару жүйесін құрады, мұнда қөшірме саны мен пайдаланушы саны тең болады.Бұл жүйеде қашықтағы орналасқан компьютерлермен INTERNET желісіне шығуға болады. BDE локалдік және клиент – серверлік мәліметтер қорын төмендегідей пайдалануды қамтамасыз ететін PLL- библиотека жиынын білдіреді. Ол Delphi – де жазылған мәліметтер қорымен жұмыс істеу үшін қолданылатын қосымшаларды пайдаланатын әрбір компьютерге қондырылады.

Клиент – серверлік мәліметтер қоры.

Клиент – сервер архитектурасында BDE мен мәліметтер қоры арасында мәліметтер қор сервері (арнайы бағдарлама, мәліметтер қоры басқарады) – деген маңызды аралық звено пайда болады.

Клиент – серверге реляциялық мәліметтер қоры (бір – бірімен байланысы  бар кестелерден тұратын мәліметтер қоры) үшін өндірістін стандарт болатын SQL(Structured Query Language – құрылымдық сұраныс тілі) сұраныс тілінде сұраныс құрады. SQL сервер сұраныс интерпретациясын қамтамасыз етеді, оны орындайды, нәтижесін құрады және оны клиентке жібереді. Мұнда клиент компьютері сұранысты физикалық орындауға қатыспайды, ол тек қана сұранысты мәліметтер қоры серверіне жібереді және нәтижені алады, содан кейін оны керекті түрге келтіреді және пайдаланушыға береді. Клиенттің қосымшасына тек қана сұранысты орындау нәтижесі жіберіледі, ал желімен тек қана клиентке қажет мәліметтер беріледі. Қорытындысында желіге жүктеме азаяды. Сондай- ақ SQL-сервер алынған сұранысты тез арада орындау үшін тиімді жағдайларды қарастырады. Мұның бәрі жүйенің орындалу әрекетін күшейтеді және сұраныс нәтижесін күту уақытын азайтады.

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

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

Сервер қосымшасымен біріккен архитектура.

Клиент – сервер архитектурасын дамыту идеясы (ойы) мәліметтер қорын ашық пайдаланудың үш звенолы архитектурасының пайда болуына әкелді.(N-tier немесе multi-tier архитектурасы)

Клиент – сервер архитектурасы  екі звенолы: бірінші звено клиент бағдараламасы, ал мәліметтер қор сервері мен мәліметтер қоры екінші звено болады.

Үш звенолы архитектурада қосымша  бағдарлама құрылады, онда бұрын клиент қосымшасының меншігі болып есептелетін  барлық мәліметті теру компонеттері, сондай – ақ қосымша компонеттер TDatabase және TSession кіреді. Содан кейін бағдарлама COM немесе  CORBA сервері ретінде тіркеледі, ары қарай сервер қосымшасы болады. Клиент машинасында BDE болмауы мүмкін. Серверлік мәліметті пайдалану үшін олар сервер қосымшасына жүгінеді, ол қажетті мәлімет алмасуды өткізеді.

Информация о работе Бағдарламалау ортасының негізгі элементтері