Жолдық типтер. Жолдар


Жоспар:

Кіріспе:

1. 2. Жолдық типтер. Жолдар.

Негізгі бөлім:

2. 1. String және Short String типтері.

2. 2. Символдық информациялармен жұмыс істеу.

2. 3. Паскаль тілінде текстік информацияларды өңдеу.

2. 4. Жолдық өрнектер.

2. 5. Жолдық стандартты функциялар мен процедуралар.

Қорытынды бөлім:

3. 1. Жолдық процедуралар.

Қолданылған әдебиеттер:

II. Hегізгі бөлім.

2. 1. String және Short String типтері .

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

While (Length (STS) < >0) and (STS [Length (STS) ] =’’) do

Set Length (STS, Length (STS) -1) ;

Бұл мысалды стандартты Set Ltngth процедурасы жолдың жаңа ұзындығын тағайындайды. Жолдарға жалғастыру операциясын қолдануға болады. Мысалы,

STS: =’a’ + ’b’; // S T S ” a b”

STS: = STS +’c’; // S T S ”a b c”

Егер жалғанған жолдың ұзындығы жолдың көрсетілген N ұзындығынан артып кететін болса, онда артық символдар түсіп қалады. Мысалы келесі программа “ 1 ” символын береді.

Procedure TfmExample. bbRunClick(Sender:TObjects) ;

VAR

SSS: String [1] ;

Begin

SSS: =’123’;

LB Output. Caption: =SSS;

End;

Қатынас операциялары =, < >, >, <, > =, < =, символдардың ішкі кодталуын ескере отырып, символмен тексерілетін екі жол үшін орындалады. Мысалы, төмендегі қатынастар True мәнін береді:

‘A’>’1’

‘Object’< ‘Object Pascal’

Жолдар мен символдарға қолданылатын қалған операциялар арнайы стандартты прцедуралар мен функциялар арқылы жүзеге асырылады.

Ал, Combo Box компоненті List Box тізімі мен Edit редакторының комбинациясын береді, сондықтан осы компоненттердің барлық қасиеттері біріктірілген деуге болады. Жөндеу терезесімен жұмыс істеу үшін Edit компонентіндегідей Text қасиеті пайдаланылады, ал List Box компонентінде тізімнен таңдау үшін Items қасиеті пайдаланылады. Stile қасиетімен анықталатын компоненттің түрі бар. Cs Simple түрінде тізім барлық уақытта ашық болады, ал қалған жағдайларда редактордың оң жағындағы ашу батырмасын басқаннан кейін ашылады. List Box және Combo Box компоненттері Standard бетінде орналасқан.

Ал, BitBtn компоненті Additional бетінде орналасқан және стандартты Button батырмасының бірнеше түрін беретіні 4-тарауда айтылған болатын. Бұл жағдайда BkClose батырмасы негізгі терезені жауып, программа жұмысын аяқтайды.

Қосымшаны шақырғаннан кейін интерфейс панелі экранда пайда болған кезде ComboBox компонентінің өрісінде курсордың тұрғаны ыңғайлы болады. Ол үшін ComboBox компонентінің өрісіне курсорды келтіретін форманы екпінді жасағанда пайда болатын OnActivate оқиғасын пайдалануға болады. Бұл оқиға өңдеушіні құру үшін Объектілер инспекторы терезесінен Form1 компонентін таңдап, Events бетінен OnActivate оқиғасын тауып, оның оң жақ бөлігін тышқанмен жылдам екі рет белгілейміз. Курсор оқиға өңдеуші процедурасының мәтінінде орналасып тұрады. Процедура денесіне Combo Box компонентіне енгізу фокусын беретін оператор жазылады.

Есеп шартына сәйкес, Enter клавишын басқанда символдар ComboBox компонентіндегі таңдалынатын тізімге енгізілуі үшін орындалатын оқиға өңдеуші процедураны қарастырайық. Ол үшін Объектілер Инспекторы терезесінен ComboBox компонентін таңдап, Events бетінен OnKeyPress оқиғасын тауып, оның оң жақ бөлігін тышқанмен жылдам екі рет белгілейміз. Нәтижесінде курсор оқиға өңдеуші procedure ComboBox1KeyPress(Sender:TObject; var Key:Char) ; процедурасының мәтінінде тұрады. Дәл осылайша тышқанның батырмасын басқанда тізіммен таңдауды жүзеге асыратын ComboBox1 компоненті үшін OnClick оқиға өңдеуші procedure ComboBox1Click(Sender:TObject) ; процедураны алу орындалады.

Таңдалған жолдағы символдар санын есептейтін негізгі алгоритмді жүзеге асыратын программа мәтіні төмендегідей:

unitUnit1;

Inter face

Uses

Windows, Messages, Sys UTILS Variants, Classes, Graphics, Controls, Forms,

Dialogs, STD ctrl, Buttons;

Type

TForm1=class (T Form)

ComboBox1: T Combo box

Label1: T Label;

Label2: T Label

Label3: T Label;

BitBtn1: T BITBTN;

Procedure Combobox1 Key Press (Sender: T Object; VAR Key: Char) ;

Procedure ComboBox1 Click (Sender: T Object) ;

Procedure Form Activate (Sender; T Object) ;

Private {Private declarations}

Public {Public declarations}

End;

VAR

Form1:TForm1;

Implementation {$R*/DFM}

Procedure TForm1. Form Activate (Sender: T Object) ;

Begin

ComboBox1. SetFocus;

End;

Procedure TForm1. ComboBox1Key Press (Sender: T Object; VAR Key: Char) ;

Begin

If key=#13 then

Begin

N: =0;

IND: =0

NST: =ComboBox1. ItemIndex;

St: = Combo Box. Items [NST] ;

For I : =1 to length (ST) do

Case IND of

1: if ST [I] =’then IND: =0;

End;

Label3. Caption: = INT TOSTR (n) ;

End;

End.

2. 2. Символдық информациялармен жұмыс істеу.

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

Мұндағы көрсетілген ішкі құрылғы қатарына дисплей, дискеттен енгізгіш, баспа құрылғысы, телетайп, перфораторлар жатады.

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

Клавиатура және дисплей енгізу және шығарудың стандартты құрылғылары болып табылады да, оларды пайдалану үшін сәйкес INPUT және OUTPUT қызмет сөздерін пайдаланады. Сандық информацияларды енгізгенде және шығарғанда сәйкес READ және WRITE операторының көмегімен стандартты процедураларды /INPUT, OUTPUT/ пайдаланған тәрізді символдық информацияларды да сол операторлар және сол процедуралар пайдаланылады.

Символдық берілгендерді өңдеу, символдық типті беретін CHAR / ағылшынның CHARACTER -символ деген сөзінің қысқартылып алынған / қызмет сөзі арқылы орындалады. CHAR типтегі айнымалының мәні, сол машинада пайдаланыла алатын кез келген жеке символдар, белгілер бола алады.

Егер программада мынадай бейнелеу болса: А, В: CHAR; онда меншіктеу операторын: А:=’к’ B:A, B:=’5', A:=’*’ және т. с. с. түрінде жазуға болады. Мұндағы ‘’(апостроф) символдық мән екенін білдіреді. Символдық мән дисплейден немесе принтер арқылы алынған қағаздан көрінгенде белгісі алынып қалады да, тек символдың өзі көрінеді.

Символдық берілгендер үшін =, (<>), >, >=, <, <= қатынас белгілері пайдаланылады, себебі барлық символдар, белгілер, цифрлар реттелініп орналасқан. Тізімде қай символ бұрын орналасса, келесі символға қарағанда оның коды кіші деп есептеледі. әріптер алфавит бойынша орналасады. Кіші латын әріптері бірінен соң бірі алфавит бойынша бір топ құра орналасады, мысалы: …а, b, . . . , z, …, араб цифрлары өсу тәртібі бойынша: …012, …, 9, … орналасады. Олай болса: ‘a’<’c’; ‘y’>’x’; ’2’>’1’; ‘x’, . ’z’, IF C=’c’сияқты белгілерді жазуға болады.

әріптерді орналасуы бойынша параметрлі қайталану операторының көмегімен мына программа арқылы экранға шығаруға болады:

program AR;

VAR c: char;

Begin

For c: =’a’ to ‘z’

Write (c)

End;

Нәтижеде дисплейден a b c d…z көрінеді. Ал алфавитті кері ретпен алу қажет болса, онда for операторын мына түрде For c:=’z’ downto ‘a’ do жазса болғаны. Символдық берілгендерді енгізудің төмендегідей ерекшеліктері бар.

1. Бос символ Паскаль тілінде символ орнына жүретіндіктен, символдық айнымалылардың мәндері бос орынсыз жазылады, ол енгізу оператор READ көмегімен енгізіледі.

2. Бір айнымалыға бір ғана символ меншіктеледі.

3. Символдық айнымалылардың басқа ерекшелігі ENTER басылса да, оны бос орын символы ретінде қабылдайды.

4. Символдық айнымалыларды енгізгенде SHIFT, PYC, CAPS. ЛАТ -клавиштарын басқанда оларды жеке символ ретінде қабылдайды да, мән орнына олардың кодтары қабылданады.

5. Символдық және сандық мәндерді енгізгенде, көбінесе EOLNстандартты функциясын пайдалану қолайлы болады. Бұл функцияның мәні жолдың соңы немесе мәндер беріліп болды дегенді білдіретін /ENTER/ клавишы басылғанда ғана ақиқат /TRUE/ болады да, қалған жағдайлардың барлығында жалған /FALSE/ болады. Бұл функция көбінесе операторлық циклдерде жиі пайдаланылады.

6. WHILE NOT EOLN DO oператорының алдында міндетті түрде READLN; операторы тұруы қажет.

2. 3. Паскаль тілінде текстік информацияларды өңдеу.

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

Текст деп жолдар тізбегін айтады. Паскаль тілінде жол символдар тізбегінен құралады. әдетте текстерді өңдегенде тек литерлік шамаларды пайдалану тиімсіз келеді, себебі көп есептерде символдарды өңдеу емес, жолдарды өңдеу қажет болады. Паскаль тіліндегі программада жолдық тұрақтыларды пайдалануға болатыны жоғарыда көрсетілген болатын. Жолдық тұрақты деп енетін символдардың саны 256-дан (0-255) артпайтын апостроф ішіне алынған символдар тізбегін айтады. Егер жолдың ішінде апострофты пайдалану қажет болса, оны екі апострофпен алмастырады.

Басқа тілдер тәрізді Паскаль тілінде де жолдық айнымалылар пайдаланылады. Жолдық айнымалылардың типін көрсету үшін тік жақша ішінде жолдың максимальды ұзындығы көрсетілген STRING қызмет сөзі пайдаланылады.

Жолдық айнымалының типі программаның тип бөлігінен кейін қарастырылады немесе тікелей айнымалы бөлігінде бейнеленеді.

Айнымалы бөлігінде бейнеленуі:

Var <айнымалы аты, …> : string [жолдың max. ұзын. ] ;

Мысалы:

VAR Tex: string [29] ;

At: string [40] ;

F TAY: string [275] ;

Мұндағы соңғы -дағы жол ұзындығы дұрыс көрсетілмеген, себебі, 255>275 сондықтан мұнда компьютер «қате» деп хабар береді. ЭЕМ-нің жадысынан жолдың алатын көлемін байт өлшемі арқылы алуға болады, ол үшін жолдың максимум ұзындығына 1 қосу жеткілікті. Мысалы, алдағы мысалдағы АТ-тың өлшемі 41 байт. Қосымша байт жолдың алдында орналасады да, онда жолдың ағымдағы ұзындығы сақталады.

Сонымен, жолдың жадыға орналасу схемасын былай көрсетуге болады:

У-те жолдың ағымдағы ұзындығы А сақталады;

У+1- де жолдың 1символы,

У+2-де жолдың 2символы,

. . .

У+А-да ағымдағы жолдың соңғы символы,

У+А+1-бос ұяшық

Мұндағы У -жады ұяшығын, А-ағымдағы жолдың ұзындығын, М жол үшін алынған максимум ұзындықты белгілейді.

2. 4. Жолдық өрнектер

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

1. Жолға төмендегі амалдар пайдаланылады.

Жалғастыру амалы, ол қарапайым «+» белгісімен белгіленеді. Бұл амал бірнеше жолдан және символдан бір жол құру үшін пайдаланылады.

Мысалы:

Жолдық өрнек Нәтиже

‘Ауыл’+ ‘адамдары’ ауыл адамдары

‘А’+’р’+’п’+’а’ Арпа

‘Ал’+ ’ма’ + ‘ты’ Алматы

‘19’+’92 жыл’ 1992 жыл

2. Салыстыру амалдары, олар:=, < >, >, >=, <, <= белгілерімен белгіленеді. Жол мен жолды салыстыру олардың символдарын солдан оңға қарай біртіндеп бір-бірімен салыстырылғанда, оларға сәйкес кодтар салыстырылады. Егер жолдық символдары бірдей болса, онда қай жолдың символы көп болса, сол жол үлкен деп есептеледі. Егер өрнекте жалғастыру және салыстыру амалдары болса, ең алдымен жалғастыру амалы, одан соң салыстыру амалдары орындалады. Жолдарды салыстыру амалының нәтижесі логикалық шама TRUE немесе FALSE болатынын мысалмен келтірейік:

Өрнек Нәтиже

‘SAM’=’SAM’ TRUE

‘SAM’>’SAM’ TRUE

‘BBB’<’BB’ FALSE

‘TAM1’>’TAM2’ FALSE

Меншіктеу амалы, ол “:= « арқылы белгіленеді. Оның қызметі алгоритмдік тілдегі қызметімен сәйкес келеді. Бірақ мұнда, егер меншіктелетін мән ұзындығы типте көрсетілген ұзындықтан артық болса, онда артық символ алынып тасталады, мысалы:

Бейнелеу Өрнек Нәтиже

а) А: string[6] ; А:’ҚАЛАМ ҚАС; ‘ ‘Қалам’

б) В: string[3] ; В: ‘ТАМАША; ‘ ‘Там’

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

1-МЫСАЛ

Program BK1;

VAR L: char;

S: string [5] ; R: string [25] ;

Begin

WRITELN (‘L, S- енгіз :’) ; READLN (L, S) ;

R: = L+S+’біздікі‘;

WRITELN(R)

End.

Егер программа орындалғанда L-ге’A’, ‘S’-ке ‘класс’ деген мән берсек, нәтижесінде ‘А класс біздікі’ сөзі шығады.

Жолдың символдарын олардың орналасу орындары /индексі/ бойынша табуға болады. Индекстің типі бүтін болады, ол айнымалы атауынан соң квадрат жақша ішіне алынып жазылады. Мысалы, S= ‘Алматы’ болса, онда S[2] =’л’, S[4] ’a’ береді.

2. 5. Жолдық стандартты функциялар мен процедуралар

Паскаль тілінде төмендегі стандартты функциялар пайдаланылады: 1. CHR-санына /кодына/ сәйкес символды береді. Мысалы, CHR(1) =’!’, CHR(250) =’з’, CHR(255) =’ч’ және т. с. с.

2. ORD(S) -S cимволының кодын береді. Мысалы, ORD(!) =1, ORD (з) =250, ORD() =255.

2 -мысал. Коды 1-ден 255-ке дейінгі сәйкес символдарды шығаруға, А-дан Z-ке дейінгі латынның бас әріптерінің кодын анықтауға программа құрайық.

Program BK2;

VAR I, n: integer; s: char;

Begin

WRITELN (‘n-енгіз :’) ;

READLN (n) ;

For I: = 1 to n do begin

S: = CHR (I) ;

Write (s) end;

WRITELN; WRITELN;

for S: =’A’ to ‘Z’ BEGIN

I: =ORD(s) ;

WRITE (I, ’’) end

End.

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Turbo Pascal 7.0. программалау тілі
SQL тілінде деректерді өңдеудің негізгі операторлары. Деректер базасын құру
Құрылымдық типтер және жолдық процедуралармен функциялар
Есептеу техникасынан дәрістер
Turbo Pascal жүйесінде жолдарды ұйымдастыру технологиясы
SQL кестелеріндегі мәліметтердің модификациясы
Кафе жұмысын автоматтандыру (Delphi ортасында)
Turbo Pascal бағдарламалау тілі
Delphi программалау ортасымен зертханалық жұмыстарды жүргізуге арналған әдістемелік нұсқаулар
Массивтер. Ашық типті жолдар
Пәндер



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