UF

 Қатарлар. Символдық мәліметтерді өңдеудің есептерін программалау.

 

 жоспары:

  1. Жолдық түр.
  2. Жолдық айнымалыларға қолданылатын процедуралар мен функциялар

 

Негізгі ұғымдардың сөздігі: қатар, символдар тізбегі, процедура, функция.

Студенттерде қалыптасу керек білім мен дағды:  Паскаль тілінде қатарларды қолданып, программалау дағдыларын меңгеру.

 

 

1. Жолдық түр.

Программалау тілдерінде көптеген жағдайларда символдар тізбектерін қолдану қажет болады. Ол үшін char типін пайдалану ыңғайсыз. Сол себепті символдар тізбегін тұтасымен қарастыру мүмкіндіктерін қарастырған жөн. Бұл жағдайда Паскальда жолдық (String) түр пайдаланылады.

Турбо Паскальда символдар тізбегінен тұратын тұрақтылар – жолдық тұрақты, ал мәндері осы тұрақтылар болатын айнымалылар - жолдық айнымалылар деп аталады.

 

Жолдық  айнымалының сипатталынуы: String [<мәні тұрақты өрнек>].

Мұндағы <мәні тұрақты өрнек> – қатардың ұзындығын білдіреді және көрсетілуі міндетті емес. Қатар ұзындығы көрсетілмеген жағдайда 255-ке тең деп есептелінеді. Өрнектерде жол екі жағынан апострофқа алынып, жолдық тұрақты ретінде қарастырылады.

Жолдық қатарға бөлінген орынның 0-ші байтына осы қатардың ұзындығының мәні жазылады. String типті айнымалыны тип тарауында жариялау арқылы немесе бірден айнымалылар тарауында сипаттауға болады.

Жазылуы: Type <типтің аты> = String [жолдың ең үлкен ұзындығы];

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

 

                     Var <айнымалылар>: String [жолдың ең үлкен ұзындығы]

Мысалы:

Type   jol = string[6];

Var     Fam : jol;

 Esim : string[15];

Begin

Fam : = ‘Әбдраимқызы’;

Esim : = ‘Айгүл’;               {жолдық айнымалыға меншіктелген жолдық тұрақты}

 

Жолдың байтпен есептелетін ұзындығын анықтау үшін, оның ең үлкен ұзындығына 1- ді қосамыз. Бұл қосымша байт жолдың ең алғашқы позициясына (0-дік) орналасады да, Ord функциясының көмегімен жолдың ұзындығын табуға пайдаланылады. (sise:= ord(str1[0])). Жолдың ұзындығын анықтау үшін арнайы Length функциясы да бар.

Жолдарды өңдеуде ‘+’ таңбасымен белгіленетін конкатенция (жалғастыру) операциясы қолданылады. Нәтижесінде тұтас бір жол алуға алуға пайдаланылады.

              ‘A’+’Б’+’В’+’Г’+’Д’                ->    АБВГД

               ‘1’ + ’+’ +’топ’ +’студенті’     ->    1- топ студенті

Нәтиже жол болғандықтан, ұзындығы  255 символдан аспауы керек.

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

                 ‘COSM1’ <= ‘COSM2’     -> True

                 ‘DOS1.0’ < ‘Dos1.0’           -> True

                  ‘a’ < ‘A’                              -> False

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

Мысап.  tz1:= ‘Бірінші курс’;

               tz2:= tz1+’студенттері’;

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

Мысалы, ‘9’<’25’;  {жолдық тұрақтылардың ұзындықтары әр түрлі болғандықтан, логикалық өрнекте қате бар}

fam айнымалысына ұзындығы 6-дан аспайтындықтан меншіктелетін мән << Әбдраи>>.

А-ның сипатталуы                          Меншіктеу                                 Нәтиже

A:string[9]                                        A:=’1-курс студенті’                 ‘1- курс’

A:string[12]                                      A:=’1- курс студенті’                ‘1-курс ст’

A:string[6]                                        A:=’1- курс студенті’                ‘1- к’

 

 

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

Турбо Паскальда жолдық айнымалыларға қолданылатын процедуралар: Read, Readin, Write, Writeln, Delete, Insert, Str, Val, және функциялар:

Length, Concat, Copy, Pos.

Delete (S,  m,  n ) – берілген S қатардағы m-ші нөмірден бастап,  n таңбаны өшіреді.

Insert (s1,  s2,  n) - s1 қатарды  s2 қатарға,  n- ші нөмірлі таңбадан бастап қосады.

Str (x[: ені [:дәлдігі ]], S)- x –сандық мәнді  S жолдық қатарға өзгертеді.

Мұндағы  S- қатардың ені, дәлдігі (үтірден кейінгі таңба саны)- міндетті емес параметрлер.

Val (S, X, code) – S жолдық мәнді X сандық түрге өзгертеді. Ал       code – бүтін айнымалы. Егер функция жолдық мәнді сандық түрге өзгерте алмаса, онда code – нің мәні нөлден өзгеше болады.

Length (S) – S жолдық қатардың ұзындығын, яғни таңбалар санын анықтайды.

Concat(S1[,S2,…SN ]) –S1 қатарды қалған қатарлармен жалғастырады.

Copy(S,m,n) –S қатардан m-ші нөмірден бастап  n таңбаны бөліп алады.

Pos(Substr,S)- Pos функциясы – S-қатардан ізделінетін  Substr таңбалар тізбегі басталатын таңба нөмірін анықтайды.

 

Жаттығу есептері:

 

Мысал1: Ұзындығы 255-тен аспайтын текст берілген («БАҚЫЛАУ БАҒАСЫ»). Қазақ алфавиті бойынша әріптер жиілігін анықтайтын программа құр:

Program EX1:

Var S:string;

      Alf:string[42];

Ch: array [1..42] of integer;

        i, j:integer;

Begin

Alf:=’АӘБВГҒДЕЕЖЗИЙКҚЛМНҢЩӨПРСТУҮҰФХһЬЪЫІЦЧШЩЭЮЯ’;

For i:=1 to 42 do Ch[i]:=0;

Write(‘Тексті бас әріптермен енгіз:’);

Readln(s);

For i:= 1 to 42 do

If s[i]=Alf[j] then Ch[i]:=Ch[i]+1;

Writeln(‘Жиілік сөздік:’);

For i:=1 to 42 do Writeln (‘ ‘,Alf[i],’ ‘,Ch[i]);

End.

Программаның орындалу нәтижесі:

Тексті бас әріптермен енгіз: БАҚЫЛАУ БАҒАСЫ

Жиілік сөздік:

А 3

Ә 0

Б 2

В 0

Г 0

Ғ 1

Д 0

..

 

6. Әдебиеттер

1. Н.С. Заурбеков, Б.Ж.Жумажанов. Алгоритмдеу және программалау тілдері. Экономика баспасы. Алматы-2008.

2. Ж.Қ. Масанов, Б.А.Белгибаев, А.С.Бижанова, Қ.Қ.Мақұлов «Turbo Pascal». Алматы 2004.

3. Фаронов В.В.  Тurbo Pascal 7.0. Практика программирования.  Оку құралы.- М.: Нолидж, 2000ж. 416 бет.

 

Мәлімет сізге көмек берді ма

  Жарияланған-2014-05-27 22:19:08     Қаралды-7435

ЕРТЕДЕ БОЯУЛАР НЕДЕН ЖАСАЛҒАН?

...

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

ТОЛЫҒЫРАҚ »

ІНЖУ ҚАЙДАН АЛЫНАДЫ?

...

Інжу - жануарлардан шыққан жалғыз асыл тас

ТОЛЫҒЫРАҚ »

КҮН НЕДЕН ЖАСАЛҒАН?

...

Әдетте біз Күнді газдың үлкен шары деп айтамыз.

ТОЛЫҒЫРАҚ »

ДЫБЫС ҚОРШАҒАН ОРТАНЫ ЛАСТАУЫ МҮМКІН БЕ?

...

Біздің әлем жанды да, жансыз да табиғат тудыратын дыбыстарға толы.

ТОЛЫҒЫРАҚ »

БҰЛТТАРДЫҢ ҚАНДАЙ ТҮРЛЕРІ БАР ЖӘНЕ ОЛАР НЕНІ ХАБАРЛАЙДЫ?

...

Бұлттар жер беті мен тропосфераның жоғарғы қабаттары арасындағы кеңістікте шамамен 14 км биіктікке дейін қалыптасады.

ТОЛЫҒЫРАҚ »

ПЛАСТМАССА ДЕГЕНІМІЗ НЕ?

...

Металдардың көне тарихы бар, олар мыңдаған жылдар бұрын адамдарға белгілі болды.

ТОЛЫҒЫРАҚ »

ПЛАСТМАССА ЫДЫРАУЫ МҮМКІН БЕ?

...

Әдетте пластиктің ыдырауы өте ұзақ уақытты алады - 50-100 жыл.

ТОЛЫҒЫРАҚ »

СУ ҮЙДІ ЖАРЫП ЖІБЕРУІ МҮМКІН БЕ?

...

Су зиянсыз зат сияқты. Ал кейде су мылтықтай жарылып кетеді.

ТОЛЫҒЫРАҚ »

МҰНАЙ НЕДЕН ТҰРАДЫ?

...

Мұнай – қою қызыл-қоңыр, кейде дерлік қара түсті майлы сұйықтық.

ТОЛЫҒЫРАҚ »