Informaciyalıq texnologiyaları
.pdf
qılıwdı belgileydi. Bunday dizim eki baǵdarlı dep ataladı. Kórsetkish maydanına logikalıq bul jazıwdan aldın keletuǵın jazıwlı uya mánzili kiritiledi (5.10a-súwret). Bas uya bul jaǵdayda dizimniń birinshi hám aqırǵı uyası kórsetkishlerine iye boladı. Eki baǵdarlı dizimde izlew jumısları dizimniń basınan da, aqırınan da baslaw múmkin. Jazıwlardı qosıw (óshiriw) processinde eki baylanıslı dizimde, 5.10b-súwrette kórsetilgenindey, tuwrı hám keri kórsetkishlerdiń ózgeriwi júz beredi. Keri kórsetkishtiń bar ekenligi kórsetkishlerdi ózgertiw algoritmin ápiwayılastırıw imkaniyatın beredi, sebebi óshirilip atırǵan jazıwdıń keri kórsetkishi logikalıq bul jazıwdan aldıńǵı jazıw uyasınıń mánzilin saqlap qaladı.
5.10-súwret. Eki baǵdarlı dizim, a) dáslepki dizim, b) jańa jazıw dizimine kiritiw.
Bir ǵana baylanıslı dizimde bul mánzildi qosımsha proceduralar járdeminde anıqlaw zárúr. Eki baǵdarlı dizimnen paydalanıwda informaciya massivlerin izlew hám júritiw procesleri tezlesedi, biraqta kórsetkishler ushın yad jumsaw asadı.
Maǵlıwmatlardı baylanıslı jaǵdayda ańlatıwdı ámelge asırıw ushın programmalastırıw tili belgili qurallarǵa, tiykarınan «kórsetkish» tipindegi maǵlıwmatlarǵa iye bolıwı kerek. «Kórsetkish» tipindegi maǵlıwmatlarǵa iye bolmaǵan programmalastırıw tilleri menen islewde maǵlıwmatlardı baylanıslı jaǵdayda ańlatıw massiv dúzilisi járdeminde modellestiriledi.
171
5.11-súwret. Baylanısqan dizimdi massiv strukturası járdeminde modellestiriw
Maǵlıwmatlar dúzilisi M (I) massiv cıpatında belgilengen bolsın. Jazıwlar jaylasıwınıń fizikalıq tártibine sáykes kelmeytuǵın massiv elementlerin oqıw tártibin belgilew ushın kórsetkishlerdiń járdemshi vektorın N(J) shólkemlestiriw múmkin, onıń elementleri – pútin sanlar – tiykarǵı massiv jazıwlarınıń tártip nomerin (indeksin) belgilep beredi. 5.11-súwrette eki bir ólshemli massiv: kórsetkishler massivi N(J) hám M(I) jazıwlardıń tiykarǵı massivi, bunnan tısqarı modellestirilip atırǵan dizim sáwlelendirilgen. Tiykarǵı massivin oqıw procedurası Í = N(J) ekenligin esapqa alǵan jaǵdayda shólkemlestiriledi. Sonday qılıp N(J) vektor J mánisi 1 den 4 ke she ózgergende tiykarǵı massivtıń jazıwların okıwdıń tómendegi tártibin belgilep beredi: A jazıw, V jazıw, S jazıw, D jazıw. Massiv dúzilisi járdeminde baylanısqan jaǵdayda usınıs etilgen maǵlıwmatlardı modellestiriwdiń basqa usılınan paydalanıw múmkin. Bunda massivtiń hár bir elementi bir neshe (keminde eki) maydannan ibarat bolıwı kerek. Keyingi maydan k órsetkish ushın ajıratıladı. Bul maydannıń mánisi (pútkil san) baylanısqan dizimniń keyingi elementi esaplanatuǵın massiv elementiniń indeksi yamasa nomerinen ibarat boladı.
5.5. Elementar maǵlıwmatlar.
Elementar maǵlıwmatlar (sanlar, simvollar, logikalıq maǵlıwmatlar, kórsetkishler) mashina ishinde málim tárizde jaylasadı hám EEM yadınıń belgili birliklerin iyeleydi. Bul informaciya massivlerin jaylastırıw ushın zárúr yad kólemin esaplap shıǵıw imkaniyatın beredi.
Sanlı maǵlıwmatlar barlıq programmalastırıw tillerinde bar. Olarǵa pútin,
172
haqıyqıy hám kompleks sanlar kiredi.
Pútin sanlar ekilik hám onlıq kóleminde beriliwi múmkin. Pútin sanlardı ekilik kórinislerinde saqlawda bir ǵana san ushın bir ǵana mashina sózi ajıratıladı shetki oń bit belgi ushın ajıratıladı. Oń 0 menen, teris – 1 menen kodlanadı (5.12súwret). Sanlar ushın orınlar ońnan shepke qarap ajıratıladı, sanlar menen iyelenbegen qalǵan orınlar noller menen toltırıladı. Teris sanlar ádette qosımsha kod penen beriledi.
Sanlardı onlıq formasında saqlawda sannıń hár bir onlıq nomeri tórt razryadlı ekilik kodı menen kodlanadı, yaǵnıy baytta ekewden onlıq nomerler eslep qalınadı. Sanlardı saqlaw onıń bunday kórinisi orınlanǵan onlıq kórinis dep ataladı. Belgi ushın shetki oń yarım bayt ajıratıladı, oń 1100, teris – 1101 kodına iye boladı. Máselen, jaylasqan onlıq formasında usınıs etilgen +9613 sanı tómendegi kóriniste jazıladı: 1001 0110 0001 0011 1100.
5.12-súwret. Pútin oń onlıq sannıń mashinada kórinisi
5.13-súwret. Pútin oń onlıq sanın ańlatıw
Haqıyqıy sanlar belgilengen hám jıljıwshı útirli formada beriliwi múmkin. Belgilengen útir (noqat) lı haqıyqıy sanlar pútin sanlar sıyaqlı saqlanadı. Saqlaw sistemasında nokattıń awhalı kórsetilmeydi, ol translyator menen belgiledi.
Úlken razryadlılıqqa iye sanlar ádette jıljıwshı noqatlı formada usınıs etiledi. Olar eki bólim: mantissa hám tártipten ibarat boladı. Hár eki bólimdi saqlaw ushın ádette mashina sózi, bazı bir kompyuterlerde qos sóz ajıratıladı. Tártip tómendegishe saqlanadı – úlken shep baytta, bul bayttıń shep bitinen mantissa beligsin saqlaw ushın paydalanıladı (5.14-súwret). San mantissası ekilik, segizlik yamasa on altılıq formasında kórsetiliwi múmkin. Kóp kompyuterler jıljıwshı noqatlı sanlardı ekilengen anıqlıq penen beriw imkaniyatına iye. Olar ushın ajıratılatuǵın yad kólemi eki márte kóbeytiriledi.
173
5.14-súwret. Jıljıwshı noqatlı sanlardı mashinadaǵı kórinis
Simvollı maǵlıwmatlarǵa latın hám krill álipbesiniń háripleri, bas hám kishi háripler, nomerler, operaciya belgileri hám arnawlı simvollar, basqarıwshı simvollar kiredi. Latın hám rus háripleri, nomerler, operaciya belgileri hám arnawlı simvollardan maǵlıwmatlardı qayta islew wazıypaların orınlaw, tekstti qáliplestiriw, programmalardı jazıw ushın paydalanıladı. Basqarıw simvollarınan maǵlıwmatlardı strukturalaw, informaciyalardı uzatıw, fayllardı dúziw ushın paydalanıladı.
Hár qıylı kompyuterler simvollardıń hár qıylı kóplikleri menen isleydi hám hár qıylı simvol kodlarınan paydalanadı. Ádette simvollar úsh razryadlı segizlik kod ASSÍÍ menen kodlanadı. Yadda saqlaw ushın hár bir simvoldıń segizlik kodı ekilik kodqa ózgertiledi hám oǵan bir bayt ajıratıladı. Bayttıń shetki shep bitinen qadaǵalaw razryadın saqlaw ushın paydalanıladı.
Logikalıq maǵlıwmatlar tek ǵana eki nátiyje: «awa» hám «yaq» tı qabıl etedi. Logikalıq maǵlıwmatlar menen Bull algebrasınıń hár qıylı operaciyaları ámelge asırıladı: OR, AND, N0T - inversiya hám basqalar.
Logikalıq birliklerdiń mashina yadında kórsetiliwi programmanı qayta islewshi translyator hám kompyuter túrine baylanıslı. Logikalıq maǵlıwmatlardı saqlaw ushın eger olar «haqıyqat» bolsa mánisi 1 ge teń, «jalǵan» bolsa 0 ge teń bolǵan bir ǵana bitten paydalanıw múmkin bolatuǵın edi, biraqta kópshilik mashinalarda yadtıń birden-bir bitinen paydalanıw imkaniyatı joq. Saqlawdıń basqa usılında logikalıq elementti kórsetiw ushın mashina sózi ajıratıladı. Bul jaǵdayda -TRUE- i -FALSE- nátiyjeleri mashina sóziniń shetki shep baytında tiyisli segiz birlik hám segiz nolli bitler menen kórsetiledi. Logikalıq birliklerdi bunday kórsetiw usılı mashina yadınan nátiyjesiz paydalanıwǵa alıp keledi. Biraqta bunda logikalıq informaciyaǵa tez kiriw támiyinlenedi, sebebi mashina buyrıqlardı orınlawda mashina sózi OYa hám processor ortasındaǵı almasıwınıń birden-bir birligi esaplanadı.
Logikalıq birlikti payda etiw ushın 1 bayttan paydalanıw múmkin. «Haqıyqat» mánisi shetki oń razryadda noller hám bir ǵana birden ibarat bolǵan bitlerdiń izbe-izligi menen kodlanadı. «Jalǵan» mánisi nollerden ibarat bolǵan bitlerdiń izbe-izligi menen kodlanadı. Bunday kórsetiw júdá nátiyjeli, sebebi ol tezletilgen erkin paydalanıwdı támiyinleydi hám mashina yadınan tejep paydalanadı.
Sheksiz operaciyalardı ámelge asırıwshı programmalarda maǵlıwmatlardıń júdá paydalı túri belgili simvollar emes, bálkim belgili simvollardan konkatenaciya (jalǵanıw) operaciyası menen payda etiletuǵın simvollar qatarı esaplanadı. Qatarlar
174
ústinde konkatenaciya, kishi qatardı izlep tabıw hám almastırıw, qatarlardıń uqsaslıǵın tekseriw, qatar uzunlıǵın belgilew sıyaqlı belgili operaciyalardı ámelge asırıw múmkin.
Qatardı payda qılıwshı simvollar yadnıń izbe-iz jaylasqan baytlarında eslep qalınadı. Simvollardı ASSÍÍ da kodlawda hár bir simvol ushın bayt ajıratıladı, sonıń ushın mashina sózinde simvollardıń pútkil sanı jaylastırıladı. Uzunlıǵı belgilengen qatardı jaylastırıw ushın talap etiletuǵın yad kólemi programmada jaylastırılǵanda translyator menen qosımsha sıpatında saqlap qoyıladı. Eń úlken ólshemi programmada kórsetilgen uzunlıǵı ózgeriwsheń qatarlar ushın qatardıń eń úlken uzunlıǵı boyınsha yad ajıratıladı.
Bitler qatarı «0» hám «1» simvollarınan ibarat bolǵan simvollar qatarınıń ayrıqsha túri esaplanadı. Bit qatarların yadta saqlap qalıw ushın hár bir elementke bir ǵana ekilik razryad ajıratıladı. Mashina sózinde, máselen, uzunlıǵı 32 bitten ibarat bolǵan bit qatarı jaylasıwı múmkin. Bit qatarları ústinde simvol qatarları ústinde orınlanatuǵın operaciyalardı orınlaw múmkin.
Kórsetkish (biriktirme, dáliyl) — bul ólshemi belgilengen maǵlıwmatlardıń elementi. Onnan mashina yadında maǵlıwmatlardı baylanısqan jaǵdayda kórsetiw ushın paydalanıladı. Kórsetkish maǵlıwmattıń ulıwma yamasa salıstırmalı mánzili bolıwı múmkin. Salıstırmalı kórsetkish usı tarawdıń bazı bir bazalıq mánziline qarata yad tarawındaǵı súriliw mánisine iye boladı. Kórsetkish mánzil bolǵanlıǵı ushın ol da sanday mánzil sıyaqlı saqlanadı. Kópshilik kompyuterlerde mánzildi saqlaw ushın yadta sóz yamasa yarım sóz ajıratıladı.
175
6-BAP. MAǴLÍWMATLARDÍŃ SÍZÍQLÍ DÚZILMESI
HÁM OLARDÍ SAQLAW
6.1.Massivler.
6.2.Stekler.
6.3.Náwbet.
6.4.Keste.
176
6.1. Massivler.
Massiv – bul maǵlıwmatlardı izbe-iz kórsetiwden paydalanıp ámelge asırılatuǵın qatań belgilengen ólshemdegi maǵlıwmatlardıń sızıqlı dúzilmesi. Maǵlıwmatlar dúzilmesi sıpatında massiv túsinigi AIS tárepinen qayta islenetuǵın maǵlıwmatlar jıynaǵın anıqlawshı informaciya massivi túsinigi menen tek ǵana bir qıylı emes. Onıń sebebi tómendegishe.
Massivtiń hár bir elementi bir yamasa bir neshe indeksler menen identifikaciyalanadı. Indeks – bul mánisi tiyisli elementtiń massivtegi ornın anıqlaytuǵın pútin san hám ol bul elementten erkin paydalanıw ushın isletiledi. Massivtiń bólek elementleri ózgeriwi múmkin (yaǵnıy jazıwlar modifikaciyalanıwı múmkin), biraqta massiv elementleriniń ulıwma sanı hámiyshe ózgermes bolıp qaladı, demek, massivler ushın qosıw hám óshiriw operaciyaları joq.
Massivtiń hár bir elementin identifikaciyalanatuǵın indeksler sanına qarap bir óshemli hám kóp ólshemli massivler parıqlanadı.
Bir ólshemli massiv vektor dep ataladı. A = {A(1) A(2)... A(Í)... A(N)} vektorı – bul yadtıń jaqın uyalarında jaylasqan elementler (jazıwlar)diń izbe-izligi. Vektordıń birlik indeksi hár bir elementtiń izbe-izliktegi ornın kórsetedi.
Vektordıń birinshi elementi ushın ajıratılǵan birinshi bayttıń mánzili vektor bazasınıń mánzili delinedi. Vektor, ulıwma alǵanda, bazanıń mánzili, elementler ólshemi hám olardıń sanı yamasa elementler ólshemi hám indeks ózgeriwiniń diapazonı menen anıqlanadı (6.1-súwret). Eger L0 – vektordı saqlaw ushın ajıratılǵan yad blogındaǵı birinshi bayttıń mánzili, s – hár bir elementti saqlaw ushın ajıratılǵan baytlar sanı bolsa, qálegen i-elementtiń mánzili tómendegishe boladı:
loc (Ai) = L0 + c (i – 1),
(1os inglizshe 1osation – jaylasqan ornın anıqlaw).
L0 bazasınıń mánzili programmanı translyaciyalaw processinde translyator tárepinen anıqlanadı. Usı waqıttıń ózinde vektor ushın deklaraciyada anıqlanǵan onıń ólshemine muwapıq yad zapasqa alınadı. Translyaciya processinde yad mánzillerdiń izbe-iz asıp barıwı tártibinde bólistiriledi. Mánzillerdiń kemeyip barıwı tárepine yad bólistiriliwi de bolıwı múmkin. Bul jaǵdayda s (i – 1) mánis L0 dan ayırıp taslanadı.
177
6.1-súwret. Vektordı yadta kórsetiw
Vektordı yadta kórsetiw olar programmalastırıw tilinde qanday táriyplengenligine baylanıslı emes. Qálegen táripte bul kórsetiw bir qıylı boladı.
Eki ólshemli massiv matrica dep ataladı. Matricanıń hár bir elementi eki indeks menen anıqlanǵan. Ulıwma jaǵdayda matrica qálegen ólshemge iye bolıwı, yaǵnıy kóp ólshemli bolıwı múmkin. Kóp ólshemli massiv bir ólshemli ekvivalent massiv penen kórsetilgen bolıwı múmkin. Máselen, matrica elementleri óz náwbetinde vektor esaplanatuǵın vektor sıpatında qaraw múmkin. Bunda matrica kompyuter yadında «qatarlar qatarı» hám «baǵanalar qatarı» sıpatında kóriliwi hám saqlanıwı múmkin. Birinshi jaǵdayda matricası tómendegi vektor kórinisinde kórsetiledi:
A(1, 1) A(1, 2) A(1, 3) A(2, 1) A(2, 2) A(2, 3) A(3, 1) A(3, 2) A(3, 3). Matrica elementlerin sonday izbe-izlikte saqlaw qatarlar boyınsha jaylastırıw delinedi.
Basqa jaǵdayda, matrica «baǵanalar qatarı» sıpatında kórilse, onıń elementleri yadda baǵanalar boyınsha tómendegi tártipte jaylasadı:
A(1,1) A(2,1) A(3,1) A(1,2) A(2,2) A(3,2) A(1,3) A(2,3) A(3,3).
Qatarlar boyınsha jaylastırılǵanda A (i,j) matrica elementiniń mánzili tómendegi ańlatpa menen anıqlanadı:
loc (Ai,j) = L0 + ct(i - 1) + s(j - 1), bul jerde m – baǵanalar sanı.
Ulıwma jaǵdayda massiv qálegen ólshemge iye bolıwı múmkin. n-ólshemli massiv ushın ólshemler sanı, bunnan tısqarı, indeksler ózgeriwi diapazonnıń joqarı hám tómendegi shegaraları kórsetiledi.
Bir qatar jaǵıdaylarda bir massivte hár qıylı tiptegi maǵlıwmatlardı saqlawǵa tuwrı kelip qaladı. Bunday massiv hár qıylı túrdegi massiv delinedi. Máselen, stu-
178
denttiń jeke kartochkasın saqlawda familiya, jası, mánzil, ortasha ball hám basqalar massiv elementleri esaplanadı. Bul bir student haqqındaǵı maǵlıwmatlar yadta qatań belgilengen uzınlıqtaǵı bir ólshemli hár qıylı túrdegi massiv sıpatında saqlanıwı múmkin. Sonday massiv elementlerinen erkin paydalanıw belgi formasında usınıs qılınǵan indeks boyınsha ámelge asırılıwı múmkin. Máselen, massivtiń birinshi elementinen erkin paydalanıw ushın NAME indeksi boyınsha, ekinshi elementke bolsa AGE indeksin isletiw múmkin hám t. b.
Bir ólshemli hár qıylı túrdegi massivlerden kóp ólshemli hár qıylı túrdegi massivler, Máselen, topardıń barlıq studentlerin táriyplewshi massiv duziliwi múmkin.
6.2. Stekler.
Stek – massiv duzilmesinen parıqlı ráwishte, elementlerdi kiritiw yamasa shıǵarıp taslawǵa imkaniyat beretuǵın ózgeriwshi ólshemniń sızıqlı sisteması, yaǵnıy stekte maǵlıwmatlar kólemi programmanıń orınlanıwı waqtında sáykes ráwishte artıwı hám kemeyiwi múmkin.
Stekli duzilmeniń qásiyeti sonnan ibarat, elementlerden erkin paydalanıw, elementlerdi kiritiw hám shıǵarıp taslawdı tek ǵana dúzilmeniń bir tárepinen – stek tóbesınan ámelge asırıw múmkin boladı. Sonıń ushın stekke aqırında kiritilgen element birinshi bolıp oqıladı yamasa tańlanadı. Bunday dúziliste informaciya
«aqırında keldi, birinshi ketti» principi boyınsha qayta islenedi. Stektiń dúzilmesi bazıda LÍFO (inglizshe Last Ín, First Out) tipindegi dúzilis delinedi, bul qashan, tek ǵana joqarıdaǵı tarelkanı alıw múmkin bolǵan tarelkalar kópligi mısalında jaqsı túsiniledi. Dáslep joqarıdaǵı tarelkanı, soń keyingisin alıw múmkin. Tarelkalar kópliktiń joqarı bólimge birewden qosıladı.
6.2-súwret. Stekti izbe-iz usınıwda onıń artıwı kemeyiwi
179
Stektiń dúzilmesi erkin paydalanıw sheklengen maǵlıwmatlar dúzilmesi esaplanadı, sebebi tek ǵana stektiń tóbesıda jaylasqan elementten erkin paydalanıw múmkin boladı. Bul element aǵımdaǵı element dep ataladı. Aǵımdaǵı element ornı haqqındaǵı informaciya, ádette, stektiń bas uyasida jaylasqan stek tóbesiniń kórsetkishi (SShK)de saqlanadı.
Steklerdi saqlaw ushın maǵlıwmatlardı izbe-iz, baylanısqan ańlatıwdan paydalanıw múmkin. Izbe-iz ańlatıwdan paydalanǵanda stektiń eń sońı ólshemin biliw zárúr. Kózde tutılatuǵın bul eń shetki ólshem ushın sáykeslep yad saqlaǵıshqa alınadı hám onıń ishinde stek artadı hám qısqaradı. Bloktıń birinshi uyası stek tóbesiniń kórsetkishin óz ishine aladı. Stek bos bolǵanda kórsetkish ózin-ózi kórsetedi. Hár bir jańa element kiritilgende tóbe kórsetkishi bir birlikke kóbeyedi. 6.2-súwrette yad blogi hám onda jaylasqan baslanǵısh stek, bunnan tısqarı kiritilgen hám shıǵarıp taslanǵan elementli stekler kórsetilgen. Stekten erkin paydalanıwdı sonday etip shólkemlestiriw múmkin, bunda tóbe kórsetkishiniń mánisi stek bar bolǵan hámme waqıt dawamında ózgermes bolıp qaladı. Bunday jaǵdayda erkin paydalanıw hár dayım stek ushın sáykes qosımsha zapasqa alınǵan yad blogınıń bir uyasında ámelge asırıladı. Usı uyaǵa tóbe kórsetkishi ornatıladı, onda stektiń aǵımdaǵı (eń joqarı) elementi saqlanadı. Element kiritilgende yamasa shıǵarıp taslanǵanda stek barlıq elementleri yad blogınıń ishinde sáykes ráwishte tómenge yamasa joqarǵa jıljıydı. Bunday jaǵdayda kiritiw operaciyasın «iyterip kirgiziw», shıǵarıp taslaw operaciyasın bolsa – «iyterip shıǵarıw» delinedi.
1 |
2 |
…. |
m |
6.3-súwret. Ózgermes kórsetkish penen stektiń artıwı hám kemeyiwi
Izbe-iz ańlatıwdıń kemshiligi sonnan ibarat, stektiń tolıp ketiwi qáwipi bárhama boladı; keri jaǵdayda zapasqa alınǵan yadtıń bir bólegi isletilmey qaladı.
Maǵlıwmatlardı baylanısqan ańlatıwdan paydalanǵanda stek ushın sáykes yadtı aldınan qosımshaǵa alıwdıń zárúrligi bolmaydı. Stektiń barlıq elementleri yad boyınsha jayıp taslanadı hám óz-ara kórsetkishler menen baylanısadı. SShK stektiń eń joqarıdaǵı elementi jaylasqan uyaǵa kórsetedi. Elementler kiritilgende
180
