logo

Ma'lumotlar tuzilmalari ma’lumotlarning abstract turlarini ko'rsatish usullari sifatida chiziqli ma'lumotlar tuzilmalari

Yuklangan vaqt:

08.08.2023

Ko'chirishlar soni:

0

Hajmi:

38.80859375 KB
Mavzu:   Ma'lumotlar   tuzilmalari   ma’lumotlarning   abstract   turlarini   ko'rsatish
usullari sifatida: chiziqli ma'lumotlar tuzilmalari (qator, navbat, ro'yxat, stek)
Reja:
1)Ma’lumot. Ma'lumotlar tuzilmalari
2)Malumotlarning abstact turlari.
3) chiziqli ma'lumotlar tuzilmalari (qator, navbat, ro'yxat, stek) Ma’lumot   -   bu   biror   bir   ob’ekt,   jarayon,   hodisa   yoki   voqelikni   ifodalab
(tasniflab) beruvchi belgi yoki belgilar majmuasidir.
Berilgan   ma’lumot   (belgi)lar   qanday   qiymat   qabul   qilishiga   qarab   ma’lumotlarni
bir qancha turlarga ajratish mumkin.
Ma’lumotlar   tuzilmasi   va   algoritmlar   dastur   tuzish   uchun   zarur   bo’lgan
tushunchalar   sifatida   qaraladi.   O’rnatilgan   ma’lumotlar   tuzilmasi   ikkilik   miqdor
(kodlangan   ma’lumot)lar   saqlanadigan   registrlar   va   xotira   so’zlarini   ifodalab
beradi.   Qurilmani   loyihalash   uchun   ishlab   chiqilgan   algoritm   –   bu   elektron
mantiqiy   qurilmalarda   qat’iy   amalga   oshiriladigan   qoidalar   bo’lib,   xotirada
saqlangan ma’lumot bajarilishi lozim bo’lgan komanda sifatida bo’ladi.
Dasturlash   –   bu   nafaqat   aqliy   faoliyatni   avtomatlashtirish,   balki,   ilmiy   tadqiqot
predmeti hisoblanadi.
Qandaydir   amaliy   masalani   yechish   uchun   dastur   tuzish   jarayoni   quyidagi   bir
nechta bosqichlardan tashkil topgan:
1. Masalaning qo’yilishi (qo’yilgan masalaga texnik topshiriqni ishlab chiqish);
2. Rasmiylashtirish – formallashtirish (masalaning matematik qo’yilishi);
3. Masalani yechish usulini tanlash (yoki ishlab chiqish);
4. Algoritmni ishlab chiqish (algoritmlash);
5. Dastur tuzish (dasturlash);
6. Dasturni   testlash va otladka qilish ;
7.   Natijalarni   hisoblash   va   qayta   ishlash   hamda   dasturni   hujjatlashtirish
(foydalanuvchi yo’riqnomasini ishlab chiqish).
Dasturlash jarayonini quyidagicha sxema orqali iqodalash mumkin:
Matematik
model Ma’lumotlarning
abstrakt turlari Ma’lumot
tuzilmasi
Norasmiy
algoritm Psevdo tildagi dastur C++ tilidagi dastur Birinchi   bosqichda   qo’yilgan   masalaga   matematik   model   tuziladi,   buning   uchun
mos matematik model tadbiq qilinadi (masalan, graflar nazariyasiga o’xshash).
Keyingi  bosqichda   umumlashgan   psevdo  til  -  oddiy  operatorlar  va  – S++  tilidagi
konstruktsiyalar aralashmasi yordamida algoritm yoziladi.
Ushbu   bosqichni   norasmiy   (formal   bo’lmagan)   operatorlarni   almashtirish   bilan
davom ettiramiz.
Dasturlashning   uchinchi   bosqichida   ma’lumotlarning   har   bir   abstrakt   turining
tadbiqi   ta’minlanadi   va   ushbu   turdagi   ma’lumotlar   ustida   bajariladigan   turli   xil
operatorlar uchun protseduralar ishlab chiqiladi. Bu bosqichda barcha psevlo tilda
yozilgan   operatorlar   C++   tilidagi   kod   bilan   almashtiriladi.   Bosqichning   natijasi
ishlaydigan dastur bilan yakunlanadi.
Ma’lumot va uning xotirada tasvirlanishi
Hisoblash   mashinalari   yordamida   har   qanday   masalani   yechish   ma’lumotlarni
xotiraga   yozish,   xotiradan   o’qish   va   uni   qayta   ishlashni   hisobga   olgan   holda
bajariladi.
Nazariy jihatdan ma’lumot noaniqliklarni aniqlovchi vosita sifatida qaraladi.   Faraz
qilaylik ,   biror   bir   tizimning   N   ta   mumkin   bo’lgan   holati   mavjud   bo’lsin,   har   bir
holat   paydo   bo’lishi   mustaqil   P   ehtimolga   ega   bo’lsin.   U   holda   bu   tizimning
noaniqligi quyidagi ko’rinishda aniqlanadi:
∑=(P(i)*log2   P(i))
Tizimning   noaniqligini   o’lchash   uchun   bit   deb   ataluvchi   maxsus   birlik   qabul
qilingan.  Bit   hech   bo’lmaganda   ikkita   mumkin   bo’lgan   holatga   bog’liq   noaniqlik
(yoki   ma’lumot)ning   o’lchovi   hisoblanadi,   masalan   rost-yolg’on   yoki   bor-yo’q
holatlar. Bit  noaniqlik va axborotning o’lchovi  sifatida qo’llaniladi, ya’ni  olingan
axborotlar   soni   axborotlarni   olish   natijasida   yo’qotilgan   noaniqliklar   soniga   teng.
Ma’lumotlarni saqlash
Kompyuterda   eslab   qoluvchi   qurilmalarni   asosiy   uchta   ko’rinishi   mavjud:   o’ta tezkor,   tezkor   va   tashqi   xotira.   Odatda   o’ta   tezkor   xotira   registrlardan   tashkil
topgan   bo’ladi.   Registrlar   ma’lumotlarni   vaqtincha   saqlab   turish   va   akslantirish
uchun qo’llaniladi.
Juda   muhim   registrlardan   ba’zilari   komp’yuterning   markaziy   protsessorida
joylashgan.   Markaziy   protsessor   arifmetik   amallarning   argumentlari   (ya’ni
operandlar)   joylashadigan   (vaqtincha   saqlanadigan)   registrlardan   tashkil   topgan.
Registrga   yuborilagan   ma’lumotlarni   qo’shish,   ayirish,   ko’paytirish   va   bo’lish
amallar   juda   murakkab   mantiqiy   sxema   orqali   bajariladi.   Bundan   tashqari,
registrlarda boshqaruv ketma-ketligini  to’g’ri  bajarilishini  tekshirish zaruriyatidan
kelib   chiqqan   holda   alohida   bitlarda   tahlil   qilinadi.   Arifmetik   amallardagi
operandlar   va   natijalarni   vaqtincha   saqlashdan   tashqari,   registrlar   dastur
komandalarini   va   keyingi   bajariladigan   komandaning   tartib   raqami   haqidagi
boshqaruv ma’lumotlarini ham vaqtincha saqlash vazifasini bajaradi.
Tezkor   xotira   ma’lumotlarni   o’z   muhitida   nisbatan   doimiy   saqlash   uchun
mo’ljallangan.   Tezkor   xotiraning   muhim   xususiyatlaridan   biri
bu   adreslanganligi   hisoblanadi.   Bu   xotira   yacheykalari   massividagi   har   bir   xotira
yacheykasi   birqiymatli   o’z   nomi   (identifikatori)ga   egaligini   anglatadi.   Ushbu
nom   yacheyka adresi   deb ataladi. Yacheyka adresi tezkor xotiraga murojaat qilgan
mashina   kommandasining   operandi   hisoblanadi.   Zamonaviy   hisoblash   tizimlarida
adreslash   uchun   ikkilik   8   razryaddan   tashkil   topgan   bayt-yacheyka   birligi
qo’llaniladi.   Tezkor   xotiraning   aniq   yacheykalari   yoki   yacheykalar   majmuasi
dasturdagi   aniq   o’zgaruvchi   bilan   bog’liq   bo’lishi   mumkin.   Lekin   o’zgaruvchilar
ishtirok   etgan   arifmetik   hisoblashlarni   bajarish   uchun   hisoblash   boshlanmasdan
oldin   o’zgaruvchilar   xotira   yacheykasidan   registrlarga   o’tkazilishi   zarur   bo’ladi.
Agar   hisoblash   natijasi   ham   ushbu   o’zgaruvchiga   o’zlashtirilgan   bo’lsa,   u   holda
natija qiymat ham yana mos registrdan ushbu o’zgaruvchiga bog’liq bo’lgan tezkor
xotira   yacheykasiga   o’tkazilishi   kerak.   Dastur   bajarilishi   vaqtida   uning
komandalari   va   ma’lumotlari   asosan   tezkor   xotira   yacheykalarida   joylashadi. Tezkor   xotira   elementlarining   to’liq   to’plami   ba’zan   asosiy   xotira   deb   ham
yuritiladi.
Tashqi   xotira   ma’lumotlarni   uzoq   muddat   saqlab   turish   uchun   mo’ljallangan.   Bu
xotiraning   farqli   tomoni   shundaki,   undagi   ma’lumotlar   dastur   o’z   ishini
yakunlagandan keyin ham, hisoblash  mashinasi  elektr tokidan ajratib qo’yilganda
ham saqlanib  qoladi. Ya’ni biror  bir  dastur  yordamida hosil  qilingan (yoki tashqi
xotirada   saqlangan)   ma’lumot   ushbu   dastur   ishi   yakunlangandan   keyin   va   qayta
ishga   tushirilganda   foydalanish   uchun   alohida   saqlab   qo’yilishi   mumkin.   Tashqi
xotiradagi   ma’lumotlarda   bir   necha   marta   qayta   qayta   foydalanish   imkoniyati
mavjud   bo’ladi.   Tashqi   xotira   dasturning   o’zini   saqlab   qo’yish   uchun   ham
qo’llaniladi.  Tashqi  xotiraning qiymati   tezkor  xotiradan  kichik  bo’lsa  ham,  uning
ma’lumotlarni saqlash hajmi juda katta bo’ladi. Tashqi xotiraning yana bir vazifasi
bajarilayotgan   dasturning   bajarilishi   vaqtida   zarur   bo’lmagan   kodi   va
ma’lumotlarini vaqtincha saqlab turish hisoblanadi. Faol bajarilayotgan dastur va u
qayta ishlayotgan ma’lumotlar albatta tezkor xotiraga ko’chirib o’tkazilgan bo’lishi
kerak, ya’ni tashqi xotira bilan registrlar o’rtasida ma’lumotlarni to’g’ridan-to’g’ri
almashish imkoniyati mavjud emas.
Ma’lumotlarni   saqlovchi   qurilma   sifatida   tashqi   xotira   ham   tezkor   xotiraga
o’xshash   adreslangan   xususiyatga   ega.   Shuning   uchun   tashqi   xotiradagi
ma’lumotlar   tuzilmasi   ham   tezkor   xotiradagidek,   ularni   qayta   ishlash   algoritmlar
ham   bir   xil   bo’ladi.   Lekin   tashqi   xotiraning   fizik   muhitida   butunlay   boshqa
ko’rinishga ega bo’lib, undagi adreslarga kirish boshqa vaqtinchalik xususiyatlarga
ega.  Tezkor   xotira  uchun samarali  bo’lgan tuzilmalar  va  algoritmlar   tashqi   xotira
uchun ishlamasligini bildiradi.
Qayta   ishlanadigan   axborotlarning   katta   hajmi   real   hayotning   ajralmas   qismi
hisoblanadi.   Muayyan   masalalarni   yechish   uchun   zarur   bo’lgan   axborotlar ,
muammoga   bog’liq   bo’lgan   aniq   ma’lumotlar   majmuasidan   tashkil   topadi.
Ixtiyoriy masalani yechishda mavhumlashtirish darajasini tanlash zarur, ya’ni real
holatni tavsiflovchi ma’lumotlar to’plamini aniqlash kerak bo’ladi. Tanlab olishda hal qilinishi zarur bo’lgan masalani uchun ma’lumotlarni to’g’ri boshqarish zarur.
Keyinchalik ushbu ma’lumotlarni tavsiflash usulini tanlab olish kerak bo’ladi.
Ma’lumotlar   turi,   ma’lumotlarning   abstrakt   (mavhum)   turlari   va   ma’lumotlar
tuzilmasi
Ushbu   tushunchalar,   o’xshash   bo’lishi   mumkin,   lekin   ularning   ma’nosi   har   xil
hisoblanadi.
Dasturlash tillarida o’zgaruvchining   ma’lumot turi, ushbu o’zgaruvchi qabul qilishi
mumkin bo’lgan qiymatlar to’plamini anglatadi. Ma’lumotlar turi natural va butun
sonlar,   haqiqiy   (o’nlik   kasr   ko’rinishidagi)   sonlar,   satrlar,   belgilar   va   boshqalarni
o’z ichiga oladi.
Ba’zi   dasturlash   tillarida   har   bir   konstanta   yoki   o’zgaruvchilarning   turini   unga
ta’minlangan qiymatning yozilishiga qarab kompilyator aniqlaydi. Masalan, o’nlik
sonda   qo’llaniladigan   nuqta,   haqiqiy   son   belgisi   sifatida   qabul   qilinadi.   Boshqa
dasturlash tillarida esa, dasturchi  tomonidan kirtilayotgan har bir o’zgaruvchining
turi   aniq   ko’rsatilishi   talab   etiladi,   va   bu   muhim   vazifalardan   biri   hisoblanadi.
Dastur   bajarilishi   davomida   o’zgaruvchining   qiymati   bir   necha   marta   almashishi
mumkin, lekin uning turi o’zgarmasligi kerak. Bu kompilyator o’zgaruvchi ustida
bajariladigan   amallarni   uning   tavsiflanishiga   mos   ravishda   tekshirib   chiqadi.   Bu
tekshirish   to’liq   dastur   matni   bo’yicha   amalga   oshiriladi   va   natijada   dastur
bajaradigan barcha amallar aniqlab olinadi.
Dasturlash   tilining   maqsadiga   qarab,   kompilyatsiya   jarayonida   ma’lumotlarning
turi   himoyalanganlik   darajasi   mavjud.   Masalan,   Pascal   dasturlash   tilida
ma’lumotlarning turi qat’iy himoyalangan bo’lib, dasturning sarlavha qismidayoq
dasturda  qo’llaniladigan  barcha o’zgaruvchilar  va  konstantalarning  turlari  aniqlab
berilishi   talab   qilinadi.   C   dasturlash   tilida   esa   buning   teskarisi   bo’lib,
ma’lumotlarning   turini   aniqlash   dastur   bajarilishi   vaqtida   dasturchi   tomonidan
aniqlanishi ham mumkin. Bu esa C dasturlash tilida ma’lumotlarning turi kuchsiz
himoyalanganligini   bildiradi.   Shu   bilan   birgalikda   ma’lumotlarning   turi   qat’iy himoyalanmagan   dasturlash   tillarida   dasturning   to’g’ri   ishlashiga   javobgarlik
dasturchining o’ziga yuklatilgan.
Ma’lumotlarning   abstrakt   (mavhum)   turlari        –   bu   matematik   model   va   shu   model
doirasida   aniqlangan   turli   xil   operatorlardir.   Abstrakt   ma’lumotlar   turi   bilan
algoritmlarni   ishlab   chiqish   mumkin,   lekin   ma’lum   bir   dasturlash   tilida
algoritmlarni   qo’llash   uchun   ma’lumotlarning   abstrakt   turlarini   ushbu   dasturlash
tiliga mos ma’lumotlar turi va operatorlar yordamida ishlab chiqiladi.
Ma’lumotlarning abstrakt turlarini tavsiflash uchun o’zida o’zgaruvchilarning aniq
to’plamini,   mumkin   bo’lgan   ma’lumotlar   turini   mujassamlashtirgan   ma’lumotlar
tuzilmasidan foydalaniladi.
Algoritmlarda   qo’llaniladigan   ma’lumotlar   tuzilmasi   juda   murakkab   bo’lishi
mumkin.   Ma’lumotlarni   to’g’ri   taqdim   etish   natijasi   muvaffaqiyatli   dasturlash
kaliti   sifatida   xizmat   qiladi.   Ma’lumotlar   tuzilmasining   qurilish   materiali   tayanch
yoki   tarkibli   ma’lumotlar   turini   saqlashga   mo’ljallangan   yacheykalar   hisoblanadi.
Ma’lumotlar   tuzilmasi   yacheykalar   majmuasiga   boshqa   yacheykalar   vakili   (ya’ni
ko’rsatkichlar) sifatida nom berish orqali ishlab chiqiladi.
 chiziqli ma'lumotlar tuzilmalarida ma'lumotlar elementlarini tashkil qilish ketma –
ket bo’ladi
Ma'lumotlar   tuzilmasi   -   bu   ma'lumotlarni   samarali   yig'ish   va   ishlatishga   imkon
beradigan   ma'lumotlarni   tartibga   solish   va   saqlash   usuli.   Chiziqli   ma'lumotlar
tuzilishi   -   bu   ma'lumotlar   elementlarini   birin   -ketin   tartibga   soluvchi   tuzilma.
Chiziqli   ma'lumotlar   tuzilmalarini   tashkil   qilish   kompyuter   xotirasini   tashkil
etishga o'xshaydi. Chiziqli ma'lumotlar tuzilmalari nima?
Chiziqli   ma'lumotlar   tuzilmalari   o'z   ma'lumotlar   elementlarini   chiziqli   tarzda
tashkil   qiladi,   bu   erda   har   bir   ma'lumotlar   elementi   birin   -ketin   biriktiriladi.
Chiziqli   ma'lumotlar   tuzilmalarida   ma'lumotlar   elementlari   ketma   -ket   o'tadi   va
o'tish   paytida   faqat   bitta   elementga   to'g'ridan   -to'g'ri   erishish   mumkin.   Bundan tashqari,   chiziqli   ma'lumotlar   tuzilmalarini   amalga   oshirish   juda   oson,   chunki
kompyuter xotirasini tashkil qilish ham chiziqli uslubda.
Ba'zi   tez   -tez
ishlatiladigan   chiziqli   ma'lumotlar   tuzilmalari   qatorlar,   bog'langan   ro'yxatlar   ,
to'plamlar   va   navbatlardir.   Birinchidan,   massiv   -   bir   xil   turdagi   ma'lumotlar
elementlarining yig'indisi. Indeks massivdagi har bir elementni aniqlashga yordam
beradi. Ikkinchidan, bog'langan ro'yxat - bu tugunlar ketma -ketligi, bu erda har bir
tugun   ma'lumotlar   elementidan   va   ketma   -ketlikdagi   keyingi   tugunga   havola
qilingan.   Uchinchidan,   stack   ham   chiziqli   ma'lumotlar   tuzilishi.   Ma'lumot
elementlarini   faqat   ro'yxatning   yuqori   qismidan   qo'shish   yoki   o'chirish   mumkin.
To'rtinchidan,   navbat   ham   ro'yxatdir.   Ro'yxatning   bir   chetidan   ma'lumotlar
elementlarini qo'shish va ro'yxatning boshqa uchidan olib tashlash imkonini beradi.
Stek   –   massiv   tuzilmasidan   farqli   ravishda ,   elementlarni   kiritish   yoki   chiqarib
tashashga  imkon beradigan o’zgaruvchan o’lchamning chiziqli  tuzilmasidir, ya’ni
stekda ma’lumotlar hajmi dasturning bajarilishi vaqtida uyg’un ravishda oshishi va
kamayishi mumkin. 
Stekli   tuzilmaning   xususiyati   shundan   iboratki ,   elementlardan   erkin   foydalanish,
elementlarni   kiritish   va   chiqarib   tashlash   faqat   tuzilmaning   bir   tomonidan   –   stek
cho’qqisidan   mumkin   bo’ladi.   Shuning   uchun   stekka   oxirida   kiritilgan   element birinchi bo’lib o’qiladi yoki tanlanadi. Bunday tuzilmada axborot “oxoroda keldi,
birinchi   ketdi”   tamoyili   bo’yicha   qayta   ishlanadi.   Stekning   tuzilmasini   ba’zan
LIFO   (inglizcha   Last   In,   First   Out)   tipidagi   tuzilma   deyiladi ,   bu   qachonki   faqat
yuqoridai   likobchani   olish   mumkin   bo’lgan   likobchalar   to’plami   misolida   yaxshi
tushuniladi.   Avval   yuqoridagi   likobchani,   so’ngra   keyingisini   olish   mumkin.
Likobchalar   to’plamning   yuqori   qismiga   bittadan   qo’shiladi.   Stekning   tuzilmasi
erkin   foydalanish   cheklangan   ma’lumotlar   tuzilmasi   hisoblanadi ,   chunki   faqat
stekning cho’qqisida joylashkan elementdan erkin fordalanish mumkin bo’ladi. Bu
element   joriy   element   deb   ataladi.   Joriy   elementning   joyi   to’g’risidagi   axborot
odatda   stekning   bosh   uyasida   joylashadigan   stek   cho’qqisining
ko’rsatkichida(SCHK) saqlanadi. 
Ro’yxat : Mazkur   ko’rinishdagi   ro’yxat   elementi       
ko’rsatkichining o’ziga   xosligi   shundan   iboratki,   u   faqatgina  
ro’yxatning   navbatdagi (o’zidan   keyin   keluvchi) elementi  
adresini ko’rsatadi.   Bir   tomonlama yo’naltirilgan   ro’yxatda eng  
so’ngi   element   ko’rsatkichi bo’sh,   ya’ni   NULL bo’ladi.   Lst   –  
ro’yxat   boshi   ko’rsatkichi.   U   ro’yxatni   yagona   bir butun        sifatida       
ifodalaydi. Ba’zan   ro’yxat   bo’sh   bo’lishi   ham mumkin ,   ya’ni  
ro’yxatda   bitta   ham element bo’lmasligi   mumkin.   Bu   holda   lst  
=   NULL   bo’ladi.   Hozir   chiziqli   bir   bog’lamli   ro’yxat   hosil  
qilish dasturini ko’rib   chiqsak. Buning   uchun   biz   foydalanuvchi  
tomonidan yaratiladigan   nostandart   toifa   yaratib   olishimiz  
kerak. Buning   bir   qancha   usullari   mavjud,   ya’ni   klasslar yoki  
strukturalar   bilan   amalga   oshirish   mumkin   Bir   bog’lamli   ro’yxat   deb
elementlarning   shunday   tartiblangan  
ketmaketligiga   aytiladiki,   har   bir   element   2   ta   maydonga:  
informatsion   maydon   info   va   ko’rsatkich   maydoni   ptr   ga   ega  
bo’ladi

Mavzu: Ma'lumotlar tuzilmalari ma’lumotlarning abstract turlarini ko'rsatish usullari sifatida: chiziqli ma'lumotlar tuzilmalari (qator, navbat, ro'yxat, stek) Reja: 1)Ma’lumot. Ma'lumotlar tuzilmalari 2)Malumotlarning abstact turlari. 3) chiziqli ma'lumotlar tuzilmalari (qator, navbat, ro'yxat, stek)

Ma’lumot - bu biror bir ob’ekt, jarayon, hodisa yoki voqelikni ifodalab (tasniflab) beruvchi belgi yoki belgilar majmuasidir. Berilgan ma’lumot (belgi)lar qanday qiymat qabul qilishiga qarab ma’lumotlarni bir qancha turlarga ajratish mumkin. Ma’lumotlar tuzilmasi va algoritmlar dastur tuzish uchun zarur bo’lgan tushunchalar sifatida qaraladi. O’rnatilgan ma’lumotlar tuzilmasi ikkilik miqdor (kodlangan ma’lumot)lar saqlanadigan registrlar va xotira so’zlarini ifodalab beradi. Qurilmani loyihalash uchun ishlab chiqilgan algoritm – bu elektron mantiqiy qurilmalarda qat’iy amalga oshiriladigan qoidalar bo’lib, xotirada saqlangan ma’lumot bajarilishi lozim bo’lgan komanda sifatida bo’ladi. Dasturlash – bu nafaqat aqliy faoliyatni avtomatlashtirish, balki, ilmiy tadqiqot predmeti hisoblanadi. Qandaydir amaliy masalani yechish uchun dastur tuzish jarayoni quyidagi bir nechta bosqichlardan tashkil topgan: 1. Masalaning qo’yilishi (qo’yilgan masalaga texnik topshiriqni ishlab chiqish); 2. Rasmiylashtirish – formallashtirish (masalaning matematik qo’yilishi); 3. Masalani yechish usulini tanlash (yoki ishlab chiqish); 4. Algoritmni ishlab chiqish (algoritmlash); 5. Dastur tuzish (dasturlash); 6. Dasturni testlash va otladka qilish ; 7. Natijalarni hisoblash va qayta ishlash hamda dasturni hujjatlashtirish (foydalanuvchi yo’riqnomasini ishlab chiqish). Dasturlash jarayonini quyidagicha sxema orqali iqodalash mumkin: Matematik model Ma’lumotlarning abstrakt turlari Ma’lumot tuzilmasi Norasmiy algoritm Psevdo tildagi dastur C++ tilidagi dastur

Birinchi bosqichda qo’yilgan masalaga matematik model tuziladi, buning uchun mos matematik model tadbiq qilinadi (masalan, graflar nazariyasiga o’xshash). Keyingi bosqichda umumlashgan psevdo til - oddiy operatorlar va – S++ tilidagi konstruktsiyalar aralashmasi yordamida algoritm yoziladi. Ushbu bosqichni norasmiy (formal bo’lmagan) operatorlarni almashtirish bilan davom ettiramiz. Dasturlashning uchinchi bosqichida ma’lumotlarning har bir abstrakt turining tadbiqi ta’minlanadi va ushbu turdagi ma’lumotlar ustida bajariladigan turli xil operatorlar uchun protseduralar ishlab chiqiladi. Bu bosqichda barcha psevlo tilda yozilgan operatorlar C++ tilidagi kod bilan almashtiriladi. Bosqichning natijasi ishlaydigan dastur bilan yakunlanadi. Ma’lumot va uning xotirada tasvirlanishi Hisoblash mashinalari yordamida har qanday masalani yechish ma’lumotlarni xotiraga yozish, xotiradan o’qish va uni qayta ishlashni hisobga olgan holda bajariladi. Nazariy jihatdan ma’lumot noaniqliklarni aniqlovchi vosita sifatida qaraladi. Faraz qilaylik , biror bir tizimning N ta mumkin bo’lgan holati mavjud bo’lsin, har bir holat paydo bo’lishi mustaqil P ehtimolga ega bo’lsin. U holda bu tizimning noaniqligi quyidagi ko’rinishda aniqlanadi: ∑=(P(i)*log2 P(i)) Tizimning noaniqligini o’lchash uchun bit deb ataluvchi maxsus birlik qabul qilingan. Bit hech bo’lmaganda ikkita mumkin bo’lgan holatga bog’liq noaniqlik (yoki ma’lumot)ning o’lchovi hisoblanadi, masalan rost-yolg’on yoki bor-yo’q holatlar. Bit noaniqlik va axborotning o’lchovi sifatida qo’llaniladi, ya’ni olingan axborotlar soni axborotlarni olish natijasida yo’qotilgan noaniqliklar soniga teng. Ma’lumotlarni saqlash Kompyuterda eslab qoluvchi qurilmalarni asosiy uchta ko’rinishi mavjud: o’ta

tezkor, tezkor va tashqi xotira. Odatda o’ta tezkor xotira registrlardan tashkil topgan bo’ladi. Registrlar ma’lumotlarni vaqtincha saqlab turish va akslantirish uchun qo’llaniladi. Juda muhim registrlardan ba’zilari komp’yuterning markaziy protsessorida joylashgan. Markaziy protsessor arifmetik amallarning argumentlari (ya’ni operandlar) joylashadigan (vaqtincha saqlanadigan) registrlardan tashkil topgan. Registrga yuborilagan ma’lumotlarni qo’shish, ayirish, ko’paytirish va bo’lish amallar juda murakkab mantiqiy sxema orqali bajariladi. Bundan tashqari, registrlarda boshqaruv ketma-ketligini to’g’ri bajarilishini tekshirish zaruriyatidan kelib chiqqan holda alohida bitlarda tahlil qilinadi. Arifmetik amallardagi operandlar va natijalarni vaqtincha saqlashdan tashqari, registrlar dastur komandalarini va keyingi bajariladigan komandaning tartib raqami haqidagi boshqaruv ma’lumotlarini ham vaqtincha saqlash vazifasini bajaradi. Tezkor xotira ma’lumotlarni o’z muhitida nisbatan doimiy saqlash uchun mo’ljallangan. Tezkor xotiraning muhim xususiyatlaridan biri bu adreslanganligi hisoblanadi. Bu xotira yacheykalari massividagi har bir xotira yacheykasi birqiymatli o’z nomi (identifikatori)ga egaligini anglatadi. Ushbu nom yacheyka adresi deb ataladi. Yacheyka adresi tezkor xotiraga murojaat qilgan mashina kommandasining operandi hisoblanadi. Zamonaviy hisoblash tizimlarida adreslash uchun ikkilik 8 razryaddan tashkil topgan bayt-yacheyka birligi qo’llaniladi. Tezkor xotiraning aniq yacheykalari yoki yacheykalar majmuasi dasturdagi aniq o’zgaruvchi bilan bog’liq bo’lishi mumkin. Lekin o’zgaruvchilar ishtirok etgan arifmetik hisoblashlarni bajarish uchun hisoblash boshlanmasdan oldin o’zgaruvchilar xotira yacheykasidan registrlarga o’tkazilishi zarur bo’ladi. Agar hisoblash natijasi ham ushbu o’zgaruvchiga o’zlashtirilgan bo’lsa, u holda natija qiymat ham yana mos registrdan ushbu o’zgaruvchiga bog’liq bo’lgan tezkor xotira yacheykasiga o’tkazilishi kerak. Dastur bajarilishi vaqtida uning komandalari va ma’lumotlari asosan tezkor xotira yacheykalarida joylashadi.

Tezkor xotira elementlarining to’liq to’plami ba’zan asosiy xotira deb ham yuritiladi. Tashqi xotira ma’lumotlarni uzoq muddat saqlab turish uchun mo’ljallangan. Bu xotiraning farqli tomoni shundaki, undagi ma’lumotlar dastur o’z ishini yakunlagandan keyin ham, hisoblash mashinasi elektr tokidan ajratib qo’yilganda ham saqlanib qoladi. Ya’ni biror bir dastur yordamida hosil qilingan (yoki tashqi xotirada saqlangan) ma’lumot ushbu dastur ishi yakunlangandan keyin va qayta ishga tushirilganda foydalanish uchun alohida saqlab qo’yilishi mumkin. Tashqi xotiradagi ma’lumotlarda bir necha marta qayta qayta foydalanish imkoniyati mavjud bo’ladi. Tashqi xotira dasturning o’zini saqlab qo’yish uchun ham qo’llaniladi. Tashqi xotiraning qiymati tezkor xotiradan kichik bo’lsa ham, uning ma’lumotlarni saqlash hajmi juda katta bo’ladi. Tashqi xotiraning yana bir vazifasi bajarilayotgan dasturning bajarilishi vaqtida zarur bo’lmagan kodi va ma’lumotlarini vaqtincha saqlab turish hisoblanadi. Faol bajarilayotgan dastur va u qayta ishlayotgan ma’lumotlar albatta tezkor xotiraga ko’chirib o’tkazilgan bo’lishi kerak, ya’ni tashqi xotira bilan registrlar o’rtasida ma’lumotlarni to’g’ridan-to’g’ri almashish imkoniyati mavjud emas. Ma’lumotlarni saqlovchi qurilma sifatida tashqi xotira ham tezkor xotiraga o’xshash adreslangan xususiyatga ega. Shuning uchun tashqi xotiradagi ma’lumotlar tuzilmasi ham tezkor xotiradagidek, ularni qayta ishlash algoritmlar ham bir xil bo’ladi. Lekin tashqi xotiraning fizik muhitida butunlay boshqa ko’rinishga ega bo’lib, undagi adreslarga kirish boshqa vaqtinchalik xususiyatlarga ega. Tezkor xotira uchun samarali bo’lgan tuzilmalar va algoritmlar tashqi xotira uchun ishlamasligini bildiradi. Qayta ishlanadigan axborotlarning katta hajmi real hayotning ajralmas qismi hisoblanadi. Muayyan masalalarni yechish uchun zarur bo’lgan axborotlar , muammoga bog’liq bo’lgan aniq ma’lumotlar majmuasidan tashkil topadi. Ixtiyoriy masalani yechishda mavhumlashtirish darajasini tanlash zarur, ya’ni real holatni tavsiflovchi ma’lumotlar to’plamini aniqlash kerak bo’ladi. Tanlab olishda