Delphi программалау тілінде есепті реализациялау

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

Краткое описание

Есептеуіш техниканың қарқынмен дамуы тиімді программалық құралдарды жасау – объектілі бағдарланған программалау жүйелерінің жасалуына әкелді. Жылдам құру жүйесінің негізіне (RAD-Rapid Application Development –қосымшаларды жылдам құру ортасы)визуалды жобалау мен оқиғалы объектілі бағдарланған программалау технологиясы алынған.

Содержание

Кіріспе
1 Теориялық негізі және ақпаратпен жабдықталуы
1.1. Объектілі бағыттылған программалау ортасының мүмкіндіктері
1.2. Delphi тілінде айнымалыларды түрлендіру функциялары
1.3 Матрицаларды өңдеуде қолданылатын компоненттер
2 Массив элементтерін ЕНГІЗУ ЖӘНЕ ШЫҒАРУ
2.1 Массивтерді сипаттау
2.2 Массив элементтерін өңдеу
2.3 Екі өлшемді массивтерді өңдеу алгоритмі
3 dELLLPHI ОРТАСЫНДА есептерді шешу және талдау
3.1 Delphi программалау тілінде есепті реализациялау
3.2 Есептің нәтижесін талдау
ҚОРЫТЫНДЫ
ҚОЛДАНЛҒАН ӘДЕБИЕТТЕР

Прикрепленные файлы: 1 файл

ТП массивтер.doc

— 1.16 Мб (Скачать документ)

 

Сурет 55. StringGrid компоненті


Edit компоненті - - символдар жолын енгізуге жане жөндеуге арналған.

Name – компонент аты.

Text – енгізу жане жөндеу өрісінде орналасатын мәтін.

Top – компоненттің жоғарғы шекарасынан форманың жоғарғы шекарасына дейінгі қашықтық.

Left – компоненттің сол жақ шекарасынан форманың сол жақ шекарасына дейінгі қашықтық.

        Width - өрістің ені.

        Height - өрістің биіктігі.

Visible – компоненттің кӛрінуін немесе көрінбеуін басқарады.

Enabled – енгізу өрісінде мәтінді өзгерту мүмкіндігін шектеу үшін пайдаланылады.

Font – мәтінді шығару ҥшін пайдаланылатын қаріп.

 

Button компоненті – оқиғаға жауапты қалыптастыратын командалық батырма болып табылады.


Name – компонент қасиетіне кіру мүмкіндігін алу ҥшін пайдаланылатын компонент атауы.

Caption – батырманың үстіне орналасатын мәтін.

Top – батырманың жоғары шекарасынан  форманың жоғары шекарасына дейінгі  қашықтық.

Left - батырманың сол жақ шекарасынан  форманың сол жақ шекарасына  дейінгі қашықтық.

       Width – батырманың ені. Height – батырманың биіктігі.

Visible – батырманың көрінуін немесе кӛрінбеуін басқарады.

Enabled – батырманың пайдаланылу  мҥмкіндігін көрсетеді, егер оның қасиетінің мәні ақиқат болса, онда батырма пайдаланылады, кері жағдайда пайдаланылмайды.

Hint – командалық батырмаға курсор  келгенде тышқанның көрсеткішінің қасында нұсқау-мәтін пайда болады.

Show Hint – егер мән ақиқат болса, нұсқау көрінеді, кері жағдайда кӛрінбейді.

Memo компоненті –   бірнеше жолдан тұратын, мәтінді жӛндеу элементі болып табылады. Экранға нәтижені шығару ҥшін, тҥсіндірме шығару ҥшін пайдаланылатын компонент.


Name – компонент қасиетіне кіру мүмкіндігін алу үшін пайдаланылатын компонент атауы.

Text – Memo өрісінде орналасатын мәтін.


Combobox компоненті –       Combobox компоненті тізімдер редакторына пернетақтадан мәліметтерді енгізіп, бағдарламаның орындалу барысында енгізілген тізімнен бір элементті таңдау мҥмкіндігін береді.

Name – компонент қасиетіне кіру  мҥмкіндігін алу ҥшін пайдаланылатын компонент атауы.

Text – енгізу ӛрісінде орналасатын мәтін. Items – тізім элементтері – жолдар жиыны. Count – тізім элементтерінің саны

ItemIndex – тізімде таңдалған элемент  нөмірі.

Sorted – тізімге кезекті элементті  қосқаннан кейінгі автоматты  сұрыптау қажеттілігін көрсетеді.

DropDownCount – ашылған тізімде бейнеленетін  элементтер өлшемі.

Top – компоненттің жоғары шекарасынан форманың жоғары шекарасына дейінгі қашықтық.

Left - компоненттің сол жақ шекарасынан  форманың сол жақ шекарасына  дейінгі қашықтық.

 

 

 

2 Массив элементтерін ЕНГІЗУ ЖӘНЕ ШЫҒАРУ

 

2.1  Массивтерді сипаттау

 

Паскаль тілінде жеке-дара мәліметтермен қатар, қандай да бір жүйеде жиналыстырылған олардың топтарын да қарастыруға болады. Осындай топтардың бірі - құрылымдық типті ARRAY (массив) мәліметтері.

Массив дегеніміз - бір типті шамалардың реттелген белгілі бір тобы. Массивке кіретін айнымалыларды массивтің элементтері дейіді, олардың саны сипаттама бөлімінде жарияланып анықталады да, программаның орындалу барысында өзгермейді. Массив элементтерінің типі файлдан басқа кез келген (бүтін, нақты, символдық, жолдық, массивтік т.б.) типті бола алады. Яғни Паскаль тілінде жолдар массивін, символдар массивін, массивтер массивін т.с.с. қарастыруға мүмкіншілік бар. Массив элементтерінің типін массивтің негізгі базалық типі деп атайды.

Массив тұтасымен бір атпен аталады, ал элементтерінің реті индекс арқылы көрсетіледі. Индекс массивтің идентификаторынан соң тік жақшаға алынып жазылады, мысалға: a[1], a[2], a[3],… a[i],… a[n]. Индекстің типі массив элементтерінің ретінің өзгеру аралығын көрсетеді де, шектелген жай типтердің (байттық, логикалық, аралық, атау) бірімен беріледі. Массивтің типін анықтау үшін Array … of (тұратын массив) қызметші сөздері қолданылады. Массив алдын ала типтерді сипаттайтын Type тарауында жарияланады немесе айнымалылар Var тарауында аталады.

Жазылуының жалпы түрі:

Type

<Массив аты>=array[<индекстер типі>]: of<элементтер типі>;

Var

<айнымалылар>:<типтің аты>;

Мұндағы: индекстер типі - 1-индекс, 2-индекс, ...

элементтер типі - массивті құрайтын негізгі элементтерінің типі.

Немесе массив айнымалылар тарауында анықталуы:

Var

<Массив аты>:array[<индекстер типі>]:of<элементтердің типі>;

 

Бір өлшемді массивтердің жариялануын көрсететін мысал.

Бірінші түрі.

Var

    M1:array[1..10] of integer; - 10 бүтін саннан тұратын массивті жариялау.

Осы жариялау арқылы келесі айнымалылар келтіріледі:

M1[1]    M1[2] M1[3] …M1[10]

Тура осылай басқа да типті элементтерден тұратын массивтерді жариялауға болады, мысалға:

M2:array[1..14] of Char; - 14 символдан тұратын массив.

M3:array[1..100] of Real; - 100 нақты саннан  тұратын массив.

M4:array[1..5] of string; - 5 тестік жолдан тұратын массив.

M5:array[1..7] of Boolean; - 7 логикалық типті элементтерден тұратын массив.

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

Екінші түрі.

Жоғарыда көрсетілген мысалдарда массив тікелей айнымалылар Var тарауында анықталуы қарастырылады, бірақ бұрынырақ айтқанымыздай массив көбінесе Type тарауында жарияланады да, кейін айнымалылар Var тарауында осы жарияланған типті айнымалылар аталады, мысалға,

Type

R1: array [1..10] of integer;

R2: array [1..6] of Char;

R3: array [1..3] of real;

R4: array [1..8] of string;

R5: array [1..5] of Boolean;

Бұл жағдайда, массивтердің типтері алдын ала типтер тарауында анықталғандықтан, айнымалылар тарауында массивтер жариялануы келесі түрде болады:

Var

M1 : R1;

M2 : R2;

M3 : R3;

M4 : R4;

M5 : R5;

Массивті Type тарауында жариялаудың басымдылығын келесі нақты мысалдан көруге де болады.

Type

Gruppa=(G1,G2,G3,G4);

Famil=array(byte) of char;

AI=(I,II,III,IV,V,VI,VII,VIII,IX,X,XI,XII);

Var

B2:Famil;

N2:array[1..60] of integer;

M3:array[‘a’..’d’] of gruppa;

Vector:array[1..10] of real;

M5:array[AI] of 28..31;

LOG: array[boolean] of integer;

B2 бұл мысалда типтер тарауында жарияланған Famil типімен сипатталған, мұнда индекстің типі байттық (byte) болғандықтан, B2 массиві char типті 255 элементтен (В2[0],B2[2],…B2[255]) тұрады.

N2 бірден айнымалылар тарауында сипатталған integer типті 60 элементтен (N2[1],N2[2],…N2[60]) тұрады.

M3 бірден сипатталған G1,G2,G3,G4 мәндерінің бірін қабылдай алатын 4 элементтен (M3[‘a’]), (M3[‘b’]), (M3[‘c’]), (M3[‘d’])

Vector real типті 10 элементтен (Vector[1], Vector[2], …, Vector[10]) тұрады.

M5 массивінің индексінің типі AI аталу типімен берілген, яғни элементтері: M5[I],M5[II], M5[III],… түрінде көрсетіледі де, 28, 29, 30, 31 сандарының бірін қабылдайды.

LOG массиві индексінің типі логикалық, яғни екі бүтін саннан тұратын массив. (LOG(True):=9; LOG(False):=4).

Массивтің индексі мен элементтерінің мәндерін ажырата білу керек: индекстің көмегімен элементтің мәнін табамыз. Мысалға М5 массивінің элементтерінің орналасуын схема түрінде көрсетейік.

31

28

31

30

31

30

31

30

31

30

31

30

I

II

III

IV

V

VI

VII

VIII

IX

X

XI

XII


 

Жоғарыда бірінші жолдың ұяшықтарында массив элементтерінің мәндері, ал екінші жолда массив элементтерінің индекстері келтірілген, яғни М5[I]=31, М5[II]=28,… М5[VII]=31.

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

Мысал.

Type

Vector=array[1..3] of integer;

Matrix=array[1..5] of vector;

Var

A: matrix:

Мұндағы А - екі өлшемді массив болып табылады, элементтері А[1][2] немесе А[1.2] түрлерінің бірімен көрсетіледі.

А массивін былайша сипаттауға да болатын еді:

Var

A: Array[1..3, 1..5] of integer;

Осылай кез келген өлшемді массивтерді сипаттауға болады. Паскаль тілінде массивтің өлшеміне шек қойылмайды, ол тек падаланатын компьютер жадының сыйымдылығымен шектеледі.

Іс жүзінде бір және екі өлшемді массивтер жиі қолданылады. Жалпы бір өлшемді массив элементтерін вектор, ал екі өлшемді массив матрица ұғымдарымен парапар болып саналады.

Массивті сипаттау үшін алдына ала анықталған тұрақтылар да пайдаланады:

Const

T1 = 4; T2 = 6;

Var

Tab1Y: array[1..T1, 1..T2] of real;

Массив элементтері жадыда жүйелі түрде бірінен соң бірі орналасады. Мысалы M: array[1..3,1..3] of integer массивінің элементтері жадында индекстерінің өсуі бойынша келесі түрде орналасады:

M[1,1] M[1,2] M[1,3] M[2,1] M[2,2] M[2,3] M[3,1] M[3,2]M[ 3,3]

 

 

2.2 Массив элементтерін өңдеу

 

Массив жарияланған соң оның әр элементі массив идентификаторы арқылы шақырылып, өңдеу процесіне қатыса береді. Мысалы келесі жазу Fam[3] болсын, онда Fam массивінің үшінші элементін, ал Tabl[2,3] - екі өлшемді Tabl массивінің 2-жолы мен 3-бағанасының қиылысқан элементін шақыруға мүмкіндік береді.

Массив элементтерін өңдеу операцияларына мысалдар қарастырудан бұрын келесі үш массивке және төрт қосымша айнымалыға сипаттамасын келтірейік:

Var

   A,D : array [1..4] of real;

   B : array [1..10,1..15] of integer;

   I,J,K : integer;

        S : real;

Массив элементтеріне бастапқы мәндерін меншіктеу. Бұл ұғым массивтің әр элементіне базалық типке сәйкес болатын бір мәнді меншіктеуді білдіреді. Бұл операцияның For операторы арқылы орындалуы тиімді болады:

For I:= 1 to 4 do A[I]:=0;

Екі өлшемді массив элементтеріне бастапқы мәнді меншіктеу үшін бірінің ішіне бірі орналасқан For операторлары арқылы ұйымдастырған жөн:

For I:= 1 to 10 do

        For J:= 1 to 15 do

B[I,J]:=0;

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

Массив элементтерінің мәнін жоғарыда көрсетілгендей меншіктеу операторы арқылы жүргізуге болады, бірақта іс жүзінде олардың мәндері Read немесе Readln операторлары арқылы клавиатурадан енгізіледі:

For I:=1 to 4 do Readln(A[I]);

Ал екі өлшемді массив үшін:

For I:=1 to 15 do

       Readln(B[I,J]);

Программада Readln операторын пайдалануға байланысты енгізілетін әр шама жаңа жолдан бастап жазылады.

Массив элементтерін экранға немесе баспаға шығару үшін енгізуге ұқсас программалар жазылады, бірақ Read, Readln орнына Write немесе Writeln операторлары пайдаланылады:

For I:=1 to 4 do

         Writeln (A[I]); {А массивінің элементтерін шығару}

Ал екі өлшемді массив үшін:

For I:=1 to 10 do

For J:=1 to 15 do

         Writeln (B[I,J]); {B массивінің элементтерін шығару}

Массив элементтерін көшіру үшін бір массивтің барлық элементтерінің мәндерін екінші массивтің элементтеріне меншіктеу керек, қойылған мақсатқа жету үшін программада бір меншіктеу операторы А:=D немесе For операторынан құрылған операторлық жол жеткілікті:

For I:=1 to 4 do A[I]:=D[I];

Екі жағдайда да D массивінің элементтері өзгеріссіз қалады, ал А массивінің элементтерінің мәндері D массивінің элементтерінің мәндеріне тең болады.

Информация о работе Delphi программалау тілінде есепті реализациялау