Muhammad al-Xorazmiy nomidagi Toshkent axborot texnalogiyalari universiteti




Download 485,74 Kb.
Pdf ko'rish
Sana16.12.2023
Hajmi485,74 Kb.
#120812
Bog'liq
1-mustaqil ish



Muhammad al-Xorazmiy nomidagi
Toshkent axborot texnalogiyalari universiteti
Qarshi filiali “Kompyuter injiniringi” Fakulteti
KI-11-21S guruh talabasi Qudratov Shavkat
Ma’lumotlar tuzilmasi va algoritmlar 
1-MUSTAQIL ISH 


Reja; 
1. Ma’lumotlar, algoritmlar va ma’lumotlar tuzilmasi 
tushunchalar 
2. Ma’lumotlarni ifodalash bosqichlari, Ma’lumotlar toifalari. 
3. Ma'lumotlar tuzilmalarining umumiy ko‘rinishlari. 
Ma’lumotlar tuzilmasi bu xotirada tashkil etiladigan elementlar 
yig’indisi bo’lib, ular ustida dastur yordamida amallar bajariladi.
Ma’lumotlar tuzilmasi – bu bironta toifaga tegishli bo’lgan va 
o’zaro ma’lum munosabatga ega bo’lgan elementlar to’plamiga 
aytiladi.
Ma’lumot – bironta qiymat yoki qiymatlar to’plami 
hisoblanadi.Misol uchun bu bironta eksperiment natijalari, yoki 
talabalarning imtixon ballari bo’lishi mumkin.
Ma’lumotlar tuzilmasi elementi – bu qiymatlar to’plamining bir 
bo’lagi hisoblanadi. Tuzilma elementi – qiymatlar jamlanmasi 
bo’lib, misol uchun talabalarning ismi, sharifi, yoshi har bir 
fandan olgan bahosi va x.k. larni keltirish mumkin.
Elementlar 2 taga bo’linishi mumkin: 
• 


Element sifatida ma’lumotlar guruhi olib qaraladi. Bunda 
e;lementlar yana qism bo’lak;arga bo’linishi mumkin. Masalan, 
ota-onalar maydoni talabalarning ota va onalari xaqida 
ma’lumot saqlaydigan alohida maydonlardan tashkil topadi.
• 
Elementar, ya’ni bo’linmas, bunda element qism bo’laklarga 
ajratilmaydi.
Ob’ekt – bu xususiyatlar va attributlariga ega bo’lgan va bu 
xususiyatlarga qiymat qabul qilishi mumkin bo’lgan tuzilma 
hisoblanadi. Masalan, talaba bu ob’ekt deb qaralishi mumkin 
tuzilma.
Maydon – bu ob’ektlarning attributlari yoki xususiyatlarini 
ifodalovchi tushuncha bo’lib, sonli yoki son bo’lmagan 
qiymatlarni o’zlashtirishi mumkin.
Yozuv – bu bironta ob’ektga tegishli turli toifadagi maydonlar 
to’plamidir.
Fayl- bu bir-biriga bog’liq bo’lgan yozuvlar to’plamidir. Masalan, 
barcha talabalar xaqidagi yozuvlarni o’z ichiga olishi mumkin,
Kalit – bu yozuvdagi maydon bo’lib, aynan shu yozuvni boshqa 
yozuvlardan ajratib turishga xizmat qiladi, uning qiymati boshqa 
yozuvlarda takrorlanmas hisoblanadi. Ba’zida bittadan ko’p 


maydonlar qiymatlari elementlararo betakror bo’lishi mumkin 
va bunga karrali kalit deyiladi. Ko’pincha asosiy kalit 
hisoblanadigan bitta maydon ma’lumoti ishlatiladi va u 
boshlang’ich kalit deyiladi, qolganlari esa alternativ kalit 
deyiladi. Ba’zida esa yozuvlaning yagona qiymatlatli kalit 
maydonni yo’qligi sababli kalit sifatida bir nechta maydonlar 
olinadi va ularga tarkibli kalit deyiladi. Eng yomon holatda, 
ba’zan shunaqa bo’lishi mumkinki, bironta maydon kalit bo’la 
olmasa, xar bit elementga qo’shimcha, qiymati yagona bo’lgan 
kalit maydon kiritiladi.
Axborot.Ko’pincha ma’lumot va axborot tushunchalarini bir xil 
ma’noda ishlatishadi. Lekin aslida esa axborot bu ma’lumotga 
qaraganda kengroq tushunchadir.Axborot bu qayta ishlangan 
ma’lumotdir.Ma’lumot esa qiymatlar yig’indisidir, yani bironta 
yakuniy xulosa bermaydi.Qaror qabul qilishda hali foyda 
bermaydi. Ma’lum qoidalar asosida qayta ishlangach, yangi 
hosil qilingan ma’lumotlar axborotga aylanadi va qaror qabul 
qilishda foydali hisoblanadi.
Ma’lumotlar toifasi – qandaydir qiymatlar yig’indisi bo’lib, ular 
ustida ma’lum amallar o’rinli bo’ladi. Ma’lumotlar toifalari 
dasturda oldindan aniqlangan yoki foydalanuvchi tomonidan 
aniqlangan bo’lishi mumkin va quyidagi aspektlarni nazarda 
tutadi.
1.
Qiymatlar to’plami
2.


Amallar to’plami
Misol uchun int - butun toifalar va ustida bajariladigan arifmetik 
amallar(+,-,*,/).
Ma’lumotlar toifalari 3 turga ajratiladi: 
1.
Primitiv (sozlangan) toifalar (ma’lumotlarning sodda toifalari). 
Oldindan ma’lum bo’ladigan, sozlangan toifalar deb ham 
ataladigan toifalar bo’lib, turli dasturlash tillarida turlicha 
bo’lishi mumkin. Masalan, C++ tilida int (long, short,… ), 
float(double), char,…
2.
Foydalanuvchi tomonidan aniqlanadigan toifalar, qachonki 
mavjud sozlangan toifalar qo’yilgan masalani yechishga yetarli 
bo’lmasa qo’llaniladi.
3.
Abstrakt toifalar. Ma’lumotlar toifalarining mantiqiy 
xususiyatlarini aniqlashda foydali instrument hisoblanadi. 
“Abstrakt toifa” atamasi bazaviy matematik tushunchasiga 
bog’liq. Ushbu toifalardagi ma’lumotlar qisman apparat va 
dasturiy ta’minot yordamida tuzilma sifatida fizik amalga 
oshirilishi mumkin. Biz abstrakt toifalarni matematik tushuncha 
sifatida aniqlaganimizda, muhit va vaqtiy munosabatlarni 
e’tiborga olmaymiz. Bular amalga oshirish masalalari 
hisoblanadi.


Ma’lumotlar tuzilmasi
Ma’lumotlar turli yo’lar asosida tashkil etilishi mumkin, 
mantiqiy yoki matematik modelni tashkil etilishi ma’lumotlar 
tuzilmasi deyiladi. Konkret bir ma’lumotlar tuzilmasini tanlash 
quyidagilarga bog’liq: 
• 
Real voqe’likda elementlararo munosabatni yaqqol ifodalay 
olishi kerak;
• 
U shunday soda tuzilishi kerakki, zarur bo’lganda ustida 
samarali amal bajarish mumkin bo’lsin.
Ma’lumotlar tuzilmasini o’rganish quyidagilardan iborat:
• 
Tuzilmani mantiqiy ifodalash;
• 
Tuzilmani fiizik amalga oshirish;
• 
Tuzilmani sifatiy taxlili, ya’ni elementlarni saqlash uchun qancha 
xotira xajmi sarflanishini aniqlash (xotira sarfi) va qayta 
ishlashga ketadigan vaqtni (vaqt sarfi) xisoblash nazarda 
tutiladi.


Vaqt sarfi.Tuzilma ustida amal bajarish algoritmini bajarilish 
vaqtini hisoblash ko’zda tutiladi.Buni hisoblashda mashxur katta 
“O” notatsiya tushunchasi ishlatiladi.
Xotira sarfi.Kirish ma’lumotlarini inobatga olmagan xolda, 
ishlatilayotgan algoritm uchun xotiradan talab qilinadigan 
qo’shimcha joy sarfi tushuniladi.Bunda xam katta “O” 
notatsiyasi qo‘llaniladi. 
Ma’lumotlar tuzilmasini asosiy ko‘rinishlari (turlari):
1) To‘plam - munosabat to‘plami bo‘sh R=0 bo‘lgan elementlar 
majmuasi. 
2) Ketma-ketlik – shunday abstrakt tuzilmaki, bunda R to‘plam 
faqatgina bitta chiziqli munosabatdan iborat (ya’ni, birinchi va 
ohirgi elementdan tashqari har bir element uchun o‘zidan oldin 
va keyin keladigan element mavjud.
3) Matritsa – shunday tuzilmaki, bunda R munosabatlar 
to‘plami ikkita chiziqli munosabatdan tashkil topgan bo‘ladi. 
4) Daraxt – bunda R to‘plam iyerarxik tartibdagi bitta 
munosabatdan tashkil topgan bo‘ladi.
5)Graf – bunda R munosabatlar to‘plami faqatgina bitta binar 
tartibli munosabatdan tashkil topgan bo‘ladi. 
6) Gipergraf – bu shunday ma’lumotlar tuzilmasiki, bunda R 
to‘plam ikki yoki undan ortiq turli tartibdagi munosabatlardan 
tashkil topgan bo‘ladi.
Foydalanuvchi dasturida va EHM hotirasida MT klassifikatsiya 
qilish 


MT klassifikatsiya qilishda asosiy belgi bu ma’lumotlar 
tuzilmasini dastur ishlashi mobaynida o‘zgarishi hisoblanadi. 
Masalan, agar dastur bajarilishi mobaynida elementlar soni 
va/yoki ular orasidagi munosabatlar o‘zgarsa, u holda bunday 
MT dinamik ma’lumotlar tuzilmasi, aks holda statik ma’lumotlar 
tuzilmasi deyiladi.
D1
D1
Ma’lumotlar tuzilmasiga misollar:
Ma’lumki, matematikada o‘zgaruvchilarni, ularning ba’zi bir 
kerakli tavsiflariga mos ravishda klassifikatsiya qilish qabul 
qilingan. O‘zgaruvchilarga misol sifatida quyidagilarni keltirib 
o‘tish mumkin: haqiqiy o‘zgaruvchilar, kompleks o‘zgaruvchilar, 
mantiqiy o‘zgaruvchilar, bundan tashqari ba’zi bir qiymatlarni 
qabul qiluvchi o‘zgaruvchilar va boshqalar. Ma’lumotlarni qayta 
ishlashda ularni klassifikatsiya qilish ham katta ahamiyatga ega. 
Bu yerda ham klassifikatsiya qilinayotganda har bir konstanta, 
o‘zgaruvchi, ifoda yoki funksiya biror bir toifarga tegishli bo‘ladi, 
degan tamoyilga asoslanadi.


Umuman olganda toifalar o‘zgaruvchi yoki ifoda qabul qilishi 
mumkin bo‘lgan qiymatlar to‘plami orqali tavsiflanadi. 
Ko‘plab dasturlash tillarida ma’lumotlar standart va 
foydalanuvchi tomonidan beriladigan toifalarga ajratiladi.
Ma’lumotlarni standart toifalariga quyidagi 5 ta tur 
o‘zgaruvchilari kiradi:
a) butun (INT);
b) haqiqiy (FLOAT) ;
c) mantiqiy (BOOL);
d) belgili (simvol) (CHAR);
e) ko‘rsatkichli (*).
Foydalanuvchi tomonidan aniqlanadigan toifalar esa:
a) sanaladigan;
b) diapazonli (oraliqli).


Ma’lumotlarning ixtiyoriy toifasi qiymatlar sohasi va ular ustida 
bajarilishi mumkin bo‘lgan amallar orqali tavsiflanadi.
Butun toifa – INT
Mazkur toifa butun sonlar to‘plamini qandaydir qism to‘plami 
bo‘lib, uning o‘lchami mashina, ya’ni EHM konfiguratsiyasiga 
bog‘liq ravishda o‘zgarib turadi. Agar butun sonni mashinada 
tasvirlash uchun p ta razryaddan foydalanilsa (bunda 
qo‘shimcha koddan foydalanilganda), u holda x butun sonning 
qiymat qabul qilish oralig‘i quyidagicha bo‘lishi zarur, ya’ni 
quyidagi shartni qanoatlantirishi lozim: -2 n-1<= x< 2 n-1. 
Butun toifadagi ma’lumotlar ustida bajariladigan barcha amallar 
to‘g‘ri amalga oshiriladi deb hisoblanib, ushbu amallar 
arifmetikada qabul qilgan qoidalariga bo‘ysunadi. Agar ushbu 
toifada amallar bajarilganda natija ruxsat etilgan oraliqdan 
chiqib ketsa, u holda hisoblash to‘xtatiladi. Bunday hol to‘lib 
ketish deb ataladi. 
Statik ma’lumotlar tuzilmasi haqida tushuncha
Ma’lumotlar tuzilamasi (MT) ni dasturda ifodalashning 2 ta usuli 
mavjud:
1.
Statik MT. Bunday tuzilmalar uzunligi (elementlar soni) 
oldindan aniqlangan bo’ladi va dastur bajarilish mobaynida 
o’zgarmas hisoblanadi. Elementlar orasidagi munosabatlar ham 
o‘zgarmas bo’ladi. Bunday tuzilmalar elementlar soni ma’lum va 
o’zgarmas bo’lgan masalalarda yaxshi qo’l keladi. Statik tuzilma 
elementlariga qanday qiymat berilsa berilaveradi, ammo 
tuzilma uchun ajratilgan xotira xajmi o’zgartirilmaydi.


2.
Dinamik MT. Bu tuzilmalar elementlar soni oldindan ma’lum 
bo’lmagan xollarda qo’llaniladi . Bunda elementlar soni dastur 
bajarilishi mobaynida o’zgaruvchan hisoblanadi (YarimStatatik 
MT). Ammo imkoni bo’lsa, dasturchi xotirada ziddiyatlarga duch 
kelmaslik uchun tuzilma o’lchamini oldindan aniqlasa ham 
bo’ladi.
Quyida statik va dinamik tuzilmalar qiyosi keltirilgan.
Dinamik tuzilmalar
Statik tuzilmalar
Elementlar xotirada tarqoq xolda joylashishi mumkin.
Elementlar xotiraja ketma-ket yachseykalarda joylashadi.
Elementlar soni cheklanmagan. Agar xotirada fizik joy mavjud 
bo’lsa, element kiritilishi mumkin.
Elementlar soni cheklangan. Dastur bajarilishi mobaynida 
tuzilma uzunligini o’zgartirib bo’lmaydi.
Tuzilma elementlarida indeks degan tushuncha yo’q. 
Tuzilmaning istalgan joyiga element kiritish va o’chirish amallari 
oson bajariladi. Lekin ba’zi amallar qiyin bajariladi. Chunki 
elementlar orasida qat’iy ketma-ketlik mavjud emas.


Tuzilmada indeks degan tushuncha mavjud. Shu sababli 
saralash amalini bajarish oson. Lekin eng og’ir holatni olib 
qaraydigan bo’lsak, tuzilma boshiga yangi element kiritish va 
o’chirish amalini bajarish noqulay.
Statik MT ga quyidagilarni kiritish mumkin:
1.Тo’plam
2.Massivlar
3.Yozuvlar
4.Jadvallar
1.
Тўплам тушунчаси.
Маълумки, тўплам тушунчаси билан қайсидир маънода 
мактаб даврларидан танишмиз. Тўплам математикада 
бошланғич, фундаментал тушунчалардан бири бўлиб, 
элементлар мажмуасидан ташкил топади.
Таъриф. Тўплам бу бир турга тегишли бўлиб, 
такрорланмайдиган элементлар мажмуасидир.
Тўплам базавий турга тегишли бўлган барча қийматларни 
қабул қилиши мумкин. Шуни эслатиб ўтиш лозимки, 
базавий 256 тадан ортиқ қийматни қабул қилмаслиги 
лозим. Шу сабабли тўпламнинг базавий тури byte, char ва 
улар орқали ҳосил қилинган турлар бўлиши мумкин.
Тўплам тури маълумотлари учун ажратилган байтлар сони:


ByteSize = (max div 8)-(min div 8) + 1, бу ерда max ва min – 
тўплам базавий турининг юқори ва қуйи чегараси.
Аниқ бир Е элементнинг байт рақами қуйидагича 
аниқланади: ByteNumber = (E div 8)-(min div 8).
Тўплам устидаги амаллар:
Қўшиш (тўпламлар йиғиндиси, A+B); Айриш (тўпламлар 
айримаси, A-B); Кўпайтмаси(A*B);
Элементни тўпламга тегишли ёки тегишли эмаслигини 
аниқлаш (a in
A).
Massivlar
Massiv bir toifadagi elementlarning tartibli ketma – ketligi 
hisoblanadi. Massiv bironta nom va undagi elementlar toifasi 
orqali ifodalanadi.
Massivlar:
• 
bir o’lchamli
• 


ikki o’lchamli
• 
ko’p o’lchamli
bo’lishi mumkin. 1 o’lchamli massivlar sodda bo’lib, undagi xar 
bir element xotirada ketma-ket joylashadi. Uning uchun 
xotiradan joy ajratilganda xar bir elementiga massivning 
toifasidan kelib chiqib sarflanadigan xotira xajmi elementlar 
soniga ko’paytiurilib topiladi.
A0
A1
A2

An
Masalan, int a[n] massiv qaraladigan bo’lsa, uning bitta 
elementiga 4 bayt joy ketadigan bo’lsa, massiv uchun 
ajratiladigan xotira sarfi 4*n bayt shaklida hisoblanadi. 
H=
H – bu massivga sarflanadigan xotira xajmi;
h – bu 1ta elementga ajratiladigan xotira xajmi
Ikki o’lchamli massivlarda bir nechta qator va bir nechta 
ustunlar mavjud bo’ladi. Ustun va qatorlar kesishgan joyda 


massivning elementi joylashgan bo’ladi u elementni massivning 
qator va ustun raqami bilan aniqlanadi. Masalan, beshinchi 
qator va uchinchi ustunda turgan B matritsaning elementi 
B[5][3] kabi belgilanadi. Massivlar ustida matematik amallarni 
bajarish mumkin.
Ikki o’lchovli massivlarni matrisalar deb ham atashadi. 
Matrisalar xam statik tuzilma hisoblanadi.
A00
A01
A02

A0m
A10
A11
A12

A1m
A20
A21


A22

A2m





An0
An1
An2

Anm
Chunki uni dasturda ifodalaganda, o’lchamini ko’rsatish kerak. 
Dastur ishga tushishidan oldin matrisaning satr va ustunlar soni 
va toifasini aniqlanishidan kelib chiqib kompyuter uning uchun 
xotiradan joy ajratadi. Matrisa elementlari xotirada ketma-ket 
yacheykalarda joylashtiriladi, garchi uning alohida satr 
elementlari mantiqan quyidagicha keltirilsada, bitta satr 
elementlari xotirada ketma-ket joylashtirilgandan keyin uning 


davomidan ikkinchi qator elementlari joylashtiriladi va uchunchi 
va x.k.
A00
A01
A02

A0m
A10
A11
A12

A1m
A20
A21
A22

A2m
Undan tashqari ma’lumotlar tuzilmasi sifatida massivlar ustida 
boshqa maxsus amallarni ham bajarish mumkin. Dasturda 
massiv ustida ishlash uchun avval uning toifasi va o’lchami e’lon 


qilinadi. Massivni e’lon qilish ikki xil usulda amalga oshirilishi 
mumkin. 
1.
Initsializatsiya qilmasdan e’lon qilish – bu holda massiv toifasi 
va nomi ko’rsatilib kvadrat qavs ichida uning elementlari soni 
ko’rsatiladi: int A[50].
2.
Initsializatsiya qilish orqali e’lon qilish – bu holda massiv toifasi 
ko’rsatilib elementlariga qiymat o’zlashtiriladi. Masalan, 
A[5]={1,2,3,5,4}
Massiv elementlari bir toifaga tegishli bo’lgani uchun ular 
hotiradan bir xil hajmli joyni egallaydi va ular operativ hotirada 
joylashadi. Massiv dasturda foydalanilayotgan o’rniga qarab 
global yoki lokal bo’lishi mumkin. 

Download 485,74 Kb.




Download 485,74 Kb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



Muhammad al-Xorazmiy nomidagi Toshkent axborot texnalogiyalari universiteti

Download 485,74 Kb.
Pdf ko'rish