Құрылымдық типтер және жолдық процедуралармен функциялар


Қазақстан Республикасының Білім және Ғылым министірлігі

Ш. Есенов атындағы Каспий мемлекеттік техналогиялар және инжиниринг

университетінің колледжі

“Бағдарламалау - оқу тәжрибесі бойынша”.

Мамандығы: 1304000 - Электрондық есептеуіш техникасы және бағдарламалық қамтамасыздандыру.

Такырыбы: “Құрылымдық типтер және жолдық процедуралармен функциялар”.

Орындаған: ВТ-10-01 тобының

студенті Баймухаммедов А. Т.

Тексерген: оқытушы Сабитова А. Н.

Ақтау-2011ж.

Жоспар

  1. Кіріспе… . . . 3
  2. Негізгі бөлім . . . 4Құрылымдық типтер және оларды Delphi-де ұйымдастыру . . . 4Мәліметтерді енгізу-шығару. Кескіндеу және түзетү компоненттері . . . 15Жолдар . . . 16Жолдық процедуралар мен функциялар . . . 23
  1. Қорытынды . . . 24
  2. Пайдаланған әдебиеттер тізімі . . . 25
  1. Кіріспе

Мен осы “ДЭЕМ операторы” - оқу танысу тәжрибесі бойынша “ ” атты тақырыптарға есепті жаза отырып, бұл есепте Delphi бағдарламалау ортасында құрылымдық типтер, компоненттер палитрасындагы меліметтерді енгізу-шығару компоненттері мен Delphi-де жолдар және жолдық процедуралар мен функциялар қарастырдым.

Қурылымдық типтер Delphi бағдарламалау тілінде оларды 4-ке белуге болады: массивтер, жазулар, жиындар және файлдар.

Delphi-дің 4-нұсқасынан бастап динамикалық массивтер енгізілген.

Жазулар - бұл өріс деп аталатын шектеулі компонентгер мөлшерінен тұратын мәліметтер құрылымы.

Жиындар - бір-бірімен логикалық байланысқан бір типті объектілер жиыны. Объектілердің арасындағы байланыстардың сипатын программист көрсетеді, оны Delphi бағдарламалаутілі ешқандай да бақыламайды. Жиынға кіретін элементтер саны 0 мен 256 аралыгында өзгеруі мүмкін.

Файл деп дербес компьютердің сыртқы жадысының атау берілген бөлігін түсінеміз. Кез келген файлдың өзіне тән үш ерекшелігі болады.

Ішкі орналасуындағы айырмашылыққа қарамастан қысқа ShortString және ұзын String жолдарының қасиеттері программист үшін бірдей. Жолдың ағымдагы ұзындығын Length функциясының көмегімен алуға болады.

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

  1. Негізгі бөлім
  1. Құрылымдық типтер және оларды Delphi-де ұйымдастыру.

Кез келген қурылымдық типтер осы элементтер типін құрайтын жиынмен сипатталады. Delphi бағдарламалау тілінде оларды 4-ке белуге болады: массивтер, жазулар, жиындар және файлдар.

Delphi бағдарламалау тілінде типтер бірінің ішінде бірі еркін орналаса алады, олардың кез келгенінің ұзындығынын қосындысы 2 Гбайттан аспауы тиіс.

  1. Массивтер.

Динамикалық массивтер. Delphi-дің 4-нұсқасынан бастап динамикалық массивтер енгізілген. Программада мүндай массивтерді бейнелегенде индекстің шекараларын көрсетудің қажеті жоқ:

Var

A: array of integer;

В: array of array of char;

C: array of array of array of real;

Бұл мысалдағы динамикалық A массивінің бір, В массивінің екі, С массивінің үш елшемі бар. Жадыны белу мен динамнкалык массивтердің әрбір елшемі бойынша индекстердің шекарасын керсету программаның орындалуы барысында SetLength функциясының көмегімен массивті тагайындау жолымен жұзеге асырылады, Мұндай оператордың орындалуы барысында:

SetLength(A, 3) ;

бір өлшемді А динамикалық массиві тағайындалады, яғни үш бүтін санды орналастыруға жететін жадыдан орын бөлінеді.

Динамикалық массивтің кез келген өлшемі бойынша индекстін төменгі шекарасы 0 (нольге) тең, сондықтан А массивінің индексінің жоғарғы шекарасы 2-ге тең болады. Динамикалық массивтің идентификаторы жадының алғашқы байтының адресінен тұратьш көрсеткішке сілтеме жасап, бөлінген орынға массивті орналастырады. Сондықтан осы жадыны босату

үшін идентификаторға Nil мәнін меншіктеу жеткілікті (Баска тәсілмен Finanalize процедурасын пайдалану болып табылады) :

Var

А, В: array of integer:

Begin //Жадыны үлестіреміз:

SetLength(A, 10) ;

SetLength(B, 20) ; //Массивтерді пайдаланамыз:

A:=Nil;

Finanalize(B) ;

End;

Орнатылған динамикалық массивтің үзындыгын өзгертуге алдымен жаңа массивті орналастыруға қажетті жады даярланады, одан кейін екі массивтің элементтері жаңа орынға тасымалданады да, бұрынғы массивке бөлінген жады босатылады. Үлкен динамикалық массивтің шекараларын өзгертуге байланысты қосымша уақытты қысқарту үшін бірден ұзындығы үлкен массив құру қажет.

Көп өлшемді массивтерде алдымен оның алғашқы өлшемінің ұзыныдығы тағайындалады, одан кей і н екінші, үшінші т. сс. мысалы,

Var

A:array of array of integer; //Екі өлшемді динамикалық массив;

Begin //Бірінші өлшемнің ұзындыгын тағайындаймыз

(багандар мелшері) ;

SetLength(A, 3) ;

//Әрбір бағанның ұзындығын береміз;

SetLength(A[0], 3) ;

SetLength(A[10J, 3) ;

SetLengthCAP] ^) ;

end;

Динамикалык массивтің әдеттегі массивтен айырмашылығы оның екінші, үшінші өдшемінде ұзындыктары эртурлі болуы мүмкіи. Алдыңғы мысалда өлшемі 3x3 жвадрат массив аныкталған. үшбұрыш массив құрып керейік:

SetLength(A, 3) ;

//Әрбір бағанның ұзындығын береміз.

SetLength(A[0] 53) ;

SctLength(A[10], 4) ;

SetLength(A[2], 5) ;

Кепөлшемді динамикалык массивтерде N-1 елшемнің әрбір элементі динамикалык массив болуы мүмкін, сондай- ақ, ол тагайындауды тал ал етеді. Мысалы, 3x3x3 өлшемді нақты куб массивті тағайындау қажет болсын:

Var

A:array of array of array of real;

Ijunteger;

Begin

SetLength(A, 3) ;

For i:=0 to 2 do

Begin

SetLength(A[i] ?3) ;

Forj:=0to2 do

SetLength(A[iJ] 93) ;

end;

end;

Енді Delphi ортасында массив элементтерімен жұмыс істеуге қажетті компоненттерді қарастырайық. Delphi ортасында экранға массив элементтерін енгізу және шығаруды компоненттер палитрасының Additional бетінде орналасқан StringGrid компонентінің көмегімен ұиымдастырган ыңғайлы. Бұл компонент ақпаратты кесте түрінде бейнелеу үшін пайдаланылады. Кесте белгіленген жэне жұмыс аймағынан тұрады. Белгіленген аймақ жұмыс аймағының жол және баған атауларын шығару және тышқанның көмегімен олардьщ өлшемін басқару қызметін атқарады. Белгіленген аймақ басқа түспен ерекшеленген және оған клавиатурадан ақпарат енгізуге болмайды. Белгіленген аймақтың жолдары мен бағандар саны FixedRows жэне FixedCols касиетінде көрсетіледі. Ал, жұмыс аймағы RowCount - жол және ColCount баған ақпараттарынан тұрады, оны программалық жолмен де, тышқанның немесе клавиатураның да кемегімен өзгертуге болады. Программадағы ақпаратпен қатынас

Cclls[Acol, AROW:integer] . string ; қасиетінің көмегімен жүзеге

асырылады. Мұндағы, Асоі - кестенің баған нөмірі, ал AROW - жол иомірі, ал немірлеу нольден басталады. Сонымен қатар, косымша батырмаларсыз кестенің өлшемін басқару үшін компоненттер палитрасының Samples бетінде орналасқан SpinEdit редактор өрісін пайдалануға болады. Енді осы компоненттердің кызметін пайдаланатын мысал қарастырайық.

  1. Жазулар.

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

Жазуларды сипаггаудың форматы төмендегідей:

<тип аты>=тесог(1

<өрістер тізімі>

end;

Мұндагы <тип аты>- жазудың атауы;

ecord, end; - қызметші сөздер (жазу соңы дегенді біддіреді) ;

<өрістер тізімі> - өрістер тізімі, ол нүктелі үтір арқылы

ажыратылып жазылған жазулар бөлімдерінің тізбегі.

Жазудың әрбір бөлімі бір немесе бірнеше өріс атауларьшан (идентификатор) тұрады, олар бір-бірінен үтір арқылы ажыратыльт жазылады. Идентификатордан кейін қос нүкте қойылып, өрістер типі сипатталады. Мысалы:

Type mm*»j*

BirthDay=Tecord

Day, Month: Byte;

Year: Word;

End;

A, B: BirthDay

. . .

Бұл мысалда BirthDay типі, өрістері Day, Month, Year болып келген жазу; А жэне В айнымалылары BirthDay типті жазудан тұрады.

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

a:=b;

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

a. day:=27;

b. year:=1963;

Қабаттасқан өрістер үшін нақтылауды жалғастыра беруге болады:

type

BirthDay=record

Day, Month: Byte;

Year: Word;

end;

Var

C: record

Name: string;

Bd: BirthDay;

end:

begin

ifcJ3dYear=1963then . . .

end;

Жазудың өрісіне кіруді жеңілдету үшін Width жалғастыру операторы пайдаланылады.

Width <айнымалы> do <оператор>;

Мұндағы Width, do - қызметші сөздер; <айнымалы> - жазу типті айнымалы, мұнда бірінің ішіне бірі орналасқан ерістер тізімі жазылады; <оператор> - Delphi бағдарламалаутілінің кез келген операторы.

c. MMonth:«9;

Бұл төмендегі жазумен бара-бар:

Width c. Bd. do Month:=9; немесе

Width с do Width Bd do Month:=9; немесе

Width c, Bd do Month:=9;

Delphi бағдарламалаутіліқце бірнеше вариантты өрісі бар жазуларды

пайдалануға болады, мысалы:

Type, : g ¥ШШІ[

Forma=record

Name: String;

Case byte of

0:(BiidthPlace: String[40] ) ;

l:(Country: String[20] ;

EntryPort: String[20] ;

EntryDate: 1„31;

EntryDate: 1. . 31)

end;

Бұл мысалда Forma типі бір шектеулі Name өрісімен жэне «case . . . оf» қызметші сөзі арқылы өзгермелі бөлігі берілетін жазуды анықгайды. Өзгермелі бөлігі бірнеше варианттан тұрады. Әрбір вариант таңдау тұрақтысы бойынша анықталады; таңдау тұрактысынан кейін қос нүкте қойылып, өрістер тізімі жазылады. Кез келген жазуда өзгермелі белігі тек біреу ғана болады.

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

var

Mem4:record

Case Byte of

0:(By: array[0. . 3] of byte) ;

l:(Wo: array[0. . 1] of word) ;

2:(lo; longlnt) ;

end;

Бұл мысалда Mem4 жазуының үш варианты бар, олардың әрқайсысы f жадыдан 4 байттың біреуін ғана алады. Біз программадағы жазудың қай орісіне оралатынымызға байланысты сол белік массив ретінде қарастырылады. 4 байт - by ерісі, Word тәрізді екі бүтін типтен құрылған массив (Wo-өрісі) ; longlnt тәрізді бір бүтін типті сан (Lo-өрісі) . Бұл мысалда алдымен ең ұзын бүтін мәнді меншіктеп, одан кейін нәтижені байт немесе сөз бойынша талдауға болады:

Var it

х: word;

Xb: byte;

XI: Longlnt;

Begin

width m do

begin

lo:=Trunc (2*Pi*x) ;

ifwo[l] =Othen

if by[l] =0 then

xb:=x[0]

else

x. ^wofO]

else

xl:=lo

end;

end.

Өзгермелі бөлікті ашатын case . . . of сөзі сыртқы түрі таңдау операторына ұқсағанымен, бұл жерде тек өзгермелі боліктің басын көрсететін қызметші сөзді ғана атқарып түр. Сондықтан өзгермелі бөліктің соңына case . . . of қызметші сөзінің жұбы ретінде end сезін жазбауга болады, (Өзгермелі бөлігі барлық уақытта жазудың соңында болғандықтан end сөзі жазылады, бұл record сөзінің жұбы),

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

  1. Жиындар.

Жиындар - бір-бірімен логикалық байланысқан бір типті объектілер жиыны. Объектілердің арасындағы байланыстардың сипатын программист көрсетеді, оны Delphi бағдарламалаутілі ешқандай да бақыламайды. Жиынға кіретін элементтер саны 0 мен 256 аралыгында өзгеруі мүмкін. Бірде бір элементі болмайтын жиын бос жиын деп аталады. Элементтер санының тұрақты болмайтындығы арқылы жиындарды массивтер мен жазулардан ажыратамыз.

Екі жиын эквивалента деп есептеледі, сонда тек сонда ғана олардың элементтері тең болса (яғни бірдей болса), жиын элементтерінің орналасу ретіне ешқандай мән берілмейді (қалай орналасса да бәрі бір) . Енді жиындардың берілуі мен анықталуына мысалдар келтірейік:

Type

DigitChar=set of 0e. /9';

Digit=setof0. . 9;

Var

Begin

si, s2, s3: DigitChar;

s4, s5, s6: digit;

begin

si = [ ' 1 7 2 7 3 ' ] ;

s2 = [ ' 3 7 2 7 1 ' ] ;

s3 '=['273'] ;

s4 :=[0. . 3, 6] ;

s5 :=[4, 5] ;

s6 :=[3. . 9] ;

end.

Бұл мысалдағы si мен s2 жиындары эквивалентті, ал s3 жиыны s2 жиынының ішіне кіреді.

Жиын типтерінің жазылу форматы төмендегідей:

<тип аты> = set of <базалық тип>;

Мұндағы <тип аты>- жиын типінің идентификаторы, set,

of - қызметші сөздер, <базалық тип> - жиын элементгерінің базалық типі ретінде word, integer, Longlnt, Intb типтерінен басқа кез келген реттелген тип алынады.

Жиын элементтерін беруде жиын конструкторы пайдаланылады: бір-бірінен үтір арқылы ажыратылған жиын элементтерінің тізімі, тізім квадрат жақшаның ішіне орналасады. Жиындарға төмендегідей операцияларды қолдануға болады:

1) жиындардың қиылысуы - (*) ; екі жиынның қиылысу нәтижесінде алынған жиынға екі жиьганың ортақ элементтері де иреді. Мысалы, s4*s6- ның нәтижесі [3] болады; s4*s5 -тың нэтижесі бос жиын болды.

2) жиындардың бірігуі (+) . Екі жиынның бірігуі бір мезгілде ею жиынға да кіретін ортақ элементтерден тұратын үшінші жиын болып табылады.

3) Жиындардың айырымы. Екі жиынның айырымы екінші жиын элементтері кірмейтін, бірінші жиын элементтерінен тұратын үшінші жиын болып табылады.

Жиындарга цолданылатын амалдар

Жиындық типтердің берілгендері үшін қиылыстыру,

біріктіру, айырымдық жэне in амалдары анықталған. Сондай-ақ,

"<', '' >'', ''<='', ''>='', ''='' жэне "<>'' қатынас белгілері пайдаланылады.

"=" ңатынас белгісі. Егер А жэне В жиындары бірдей

элементтерден тұратын болса, онда бұл жиындар тең болып есептеледі. Салыстырылатын жиындардағы элементтердің орналасу ретінін теңдік шартына әсері болмайды.

А жиынының мәні В жиынының мэні Өрнек Нэтиже

[1, 2, 3, 4] [1, 2, 3, 4] А=В True

['a', 'b\ 'с'] ['с', 'а'] А = В False

[V. . V] ['z'. . 'a'] А = В True

Тец емес цашынас белгісі (<>) . А жэне В жиындарының кем дегенде бір элементі өзгеше болатын болса, онда олар тең емес болып есептеледі.

А жиынының мэні В жиынының мэні Өрнек Нэтиже

[1, 2, 3] [3, 1, 2, 4] АоВ True

['a'. . 'z'] ['b'. . 'z'] АоВ True

['c'. . 't'] ['t'. . 'c'] AoВ False

Үлкен немесе тец цатынас белгісі (>-) . Егер В жиынының

барлық элементтері А жиынының құрамына кіретін болса, А>=В

қатынасының нэтижесі ақиқат болады, ал керІ жағдайда жалган

болады.

А жиынының мэні В жиынының мәні Өрнек Нәтиже

[1, 2, 3, 4] [3, 2, 4] A>=B True

['a'. /z'] ['b'. . 't'] A>=B True

['с', 'х', 't'] [t', 'с'] A>=B True

Кіші немесе тең (<-) қатынас белгісі. Алдыңғы операцияда пайдаланылғанындай, егер А жиынының барлық элементтері В жңьшының құрамына кіретін болса, онда А <= В өрнегінің нәтижесі ақиқат болады, кері жағдайда жалған болады.

А жиынының мәні В жиынының мәні Өрнек Нәтиже

[1, 2, 3] [2, 3, 4] А<=В Тruе

['d'. . 'h'] ['b'. . 't'] А<=В True

['с', ' x', ' t'] ['t', 'c'] А<=В True

In операциясы. Бұл операция қандай да бір мәннің көрсетілген жиында жататьшдығын тексеру үшін пайдаланылады. Әдетте шартты операторда пайдаланылады.

А жиынының мәні Өрнек Нэтиже

2 if A in [2, 3, 4] then . . . True

'v' if A in ['a'. . 'n'] then False

xl if A in [x0, xl, x2, x3] True

In операциясы бірқатар басқа да амалдарды алмастыра отьфьш, күрделі шартты тексерулерді тиімді, көрнекі сипаттауға мүмкіндік береді. Мысалы,

if (а=1) or (а=2) or (а=3) or (а=4) or (а=5) then . . . өрнегін өте

қысқа, әрі көрнекі түрде былай сипаттауға болады:

If A in [1. . 6] then . . .

Бұл операцияларға қосымша төмендегідей екі процедураны

пайдалануға болады:

INCLUDE - жиынға жаңа элемент қосады. Процедураның

шақырылуы төмендегідей:

INCLUDE(S, I)

Мұндағы S - TSETBASE базалық тип элементтерінен тұратын жиын;

I - жиынға қосуға қажетті TSETBASE элементінің тапі.

EXCLUDE - жиыннан элементті шығарады. Процедураның

ақырылуы темендегідей:

EXCLUDE (S, I)

Шақыру параметрлері INCLUDE процедурасындағыдай.

  1. Файлдар.

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

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

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

<аты>=Ғі1е of <тип>;

<a*na>=TextFile;

<аты>=Ғі1е;

Мұндағы <аты> - файлдық типтің аты; File of - қызметші

сөздер (файл, содан) ; TextFile - стандартты мэтіндік файл типінің

атауы;

  1. Мәліметтерді енгізу-шығару. Кескіндеу және түзетү компоненттері.

STANDARD беті

Label - форманың бетіне мәтін шығаруга арналған. Компоненттің қасиеті мәтіннің түрі мен орналасуын анықтайды.

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

ADDITIONAL беті

MaskEdit - арнайы мәтіндік редактор. Енгізілген мәтінді сүзгілеуге мүмкіндік береді, мысалы, датаны дұрыс енгізу үшін қажет.

StringGrid - жолдар кестесі. Бүл компонент мәтіндік ақпаратты кесте түрінде шығаруға мүмкіндік береді.

WIN 32 беті

Hotkey - басқару клавишы. Компонент басқару клавиштерін енгізу үшін пайдаланылады.

DateTimePicker - күн, уақыт селекторы. Бұл компонент күнді немесе уақытты енгізіп, бейнелеуге арналған.

DIALOGS беті

SaveDialog - сақтау. Стандартты "файлды сақтау" терезесін шығарады.

OpenPictureDialog - суретті ашу. Суретті алдын ала көру мүмкіндігін сақтай отырып, графикалық файлды таңцайтын арнайы терезені шығарады.

SavePictureDialog - суретті сақтау. Суретті алдын ала көру мүмкіндігін сақтай отырып, графикалық файлды сақтайтын арнайы терезені шығарады.

FontDialog - шрифт. Шрифті таңдайтын стандартты сүхбат терезесін шығарады.

CoIorDialog - түс. Түсті таңдайтын стандартты сүхбат терезесін шығарады.

PrintDialog - басып шығару. Құжатты басып шығаруға арналған параметрлерді таңдау сұхбат терзесін шығарады.

PrinterSetupDialog - принтерді баптау. Басу қүрылғысын баптауға арналған стандартты сұхбат терезесін шығарады.

FindDialog - іздеу. Мэтін фрагментін іздеуге арналған стандартты сұхбат терезесін шығаруға мүмкіндік береді.

ReplaceDialog - Мәтін фрагментін іздеу мен алмастыруға арналған стандартты сүхбат терезесін шығаруға мүмкіндік береді.

  1. Жолдар.

Delphi бағдарламалау тілінде мәтіндерді өңдеу үшін төмендегідей типтер пайдаланылады:

- ShortString шағын жол немесе StringfN], мұндағы N<=255

- String ұзын жол;

- WideString кең жол;

- Рсһаг нөлдік терминалдық жол.

Бұл типтердің бәріне ортақ нәрсе эрбір жол символдардан құралған бір өлшемді массив ретінде сипатталуында, ал жұмыс істейтін программада символдар мөлшері өзгеріп отырады: String[N] үшін жолдың үзындығы 0-ден N-re дейін, ал String жэне Рсһаг үшін 0- ден 2 Гбайтқа дейін өзгереді.

Ең үдкен ұзындықты шағын жолды хабарлау ShortString стандартты типі арқылы жүзеге асады. Windows-де нөлдік терминалдық жол жиі пайдаланылады, ол #0 символымен шектелген символдар тізбегін береді. Мұндай жолдардың ең үлкен үзындығы жадының үлкендігімен шектеледі. OLE технологиясына негізделетін компоненттермен үйлесімділік үшін Delphi 32 -де WideString стандартты типімен хабарланатын кең жолдар ентізілген. Олар өздерінің қасиеттері бойынша String жолымен бірдей, бірақ әрбір символды беру үшін 2 байт пайдаланылады.

STS ұзын жолын хабарлағандағы жадының жұмыс механизмі төмендегідей болады: компилятор жады үяшығының нөмірін орналастыруға жеткілікті болатын айнымалы үшін 4 байт орын бөледі. Бөлінген орынға символдық жол орналасады. Мұны STS айнымалысы жолға сілтеме жасады дейді. Мұндай өңдеушінің бірінші операторы орындалғанда программа "символдар жолы"

символдар тізбегінің ұзындығын анықтап, операциялық жүйеден 15+5=20 байт орын бөлуді талап етеді. STS айнымалысына бірінші бөлінген байттың нөмірін орналастырады.

Procedure TrmExample. bbRunClick(Sender: TObject) ;

Var

STS, STSS:String;

• begin

STS:='CHMB(wwap жолы';

STSS:=STS;

STS:='Bp'+STS;

STS[7] :+'д' ; //Жолдағы символдар 1-ден бастап нөмірленеді.

LBOutput. Caption:=STS; //"B:pi символдар жолы" деген жол

шығады.

End;

Сондай-ақ, осы бөліктен бастап символдар тізбегін орналастырады да. терминалдық нольмен жэне 4 байттық есептегішке сілтемемен аяқтайды. Программаны жүргізу кезеңіндегі мұндай орналастыру динамикалық деп аталады, сонымен бірге компиляция кезеңіндегі орналастыру статикалық деп

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Turbo Pascal тілі туралы
Тілдің алфавиті
Паскаль тіліндегі негізгі элементтері тілдің алфавиті мен сөздігі
Енгізу және шығару функциялары мен процедуралары
Turbo pascal программалау жүйесі туралы ақпарат
SQL кестелеріндегі мәліметтердің модификациясы
Турбо Паскаль жүйесінде қосалқы программаларды ұйымдастыру технологиясы
Есептеу техникасынан дәрістер
Информатика пәнінен лекция тезистері
Орта мектепте программалау негіздерін оқыту
Пәндер



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