Дастурлаш асослари фанидан маърузалар матни doc



Download 2,87 Mb.
Pdf ko'rish
bet78/235
Sana15.01.2022
Hajmi2,87 Mb.
#366280
1   ...   74   75   76   77   78   79   80   81   ...   235
Bog'liq
dasturlash asoslari

Dasturning bajarilishi 
BubbleSort-algoritm funktsionalligini yaxshi Nassi/Shneidermann-Diagramm diagrammasi bilan ham 
ko‘rsatish mumkin edi, unga mos kodlash (deyarli) har qanday dasturlash tilida amalga oshishi mumkin.   
 
 
BubbleSort Algorithm 
 
x from 0 to ArrayLength 
 
y from 0 to ArrayLength 
 
 
yes 
n

 
yes 
no 
temp = Array[y] 
Array[y] = Array[y+1] 
 
 
Array[y+1] = temp 
 
 
 
 
4.1-rasm. BubbleSort dasturining Nassi/Shneidermann-Diagramm diagrammasi 
 
Element  o‘zidan  keyingi  elementdan  katta  emasligini  tekshirishdan  navbatdagi  tekshirish  amalga 
oshiriladi. Ikkinchi so‘roqda ma’lumotlar maydoning y+1 indeksi foydalanishi sababli y indeksi ma’lumotlar 
maydonining  eng  yuqori  indeksidan  (ArrayLength)  kichik  bo‘lishi  kerak.  y  eng  katta  element,  deb  faraz 
qilamiz, unda y+1 ma’lumotlar maydoni chegarasidan tashqaridagi xotira doirasida yotadi, biroq u mumkin 
bo‘lgan  qiymatga  ega  bo‘lmaydi.  Ba’zi  kompilyatorlar  (Compiler)  bu  o‘rinda  ushbu  so‘roqdan  o‘tkazish 
bo‘lmasa darrov bajarilgan bo‘ladi (bu erda u juda ma’qul va foydalidir).  
Shunday  qilib  «agar»  (if-so‘rov)  ichki  so‘rovda  eng  muhim  element  uning  ortitagi  elementdan 
kattami, degan savol tekshiriladi. Agar shunday bo‘lsa, har ikkala qiymat o‘rni almashtiriladi.   
Bu  namunada  ko‘tariluvchi  ketma-ketlikda  saralash  o‘tkaziladi.  Agar  saralashni  pasayuvchi  ketma-
ketlikda olib borish zarur bo‘lsa, qiyoslashni atigi “nisbatan katta”dan “nisbatan kichikka o‘zgartirish kerak 
bo‘ladi”. 
Dasturiy kod  
Nassi/Shneidermann-Diagramm  diagrammasidagi  dasturiy  funktsiya  yuqori  darajadagi  istalgan  tilda 
tuzilishi  mumkin.  Namuna  sifatida  bu  o‘rinda  C  dasturlash  tilidan  foydalanish  mumkin.  Funktsiyaga 
ma’lumotlar  maydonining  birinchi  elementi  uzatilishi  mumkin  (indeks  kabi),  biroq  u  keyin  funktsiyada 
odatdagiday burchak qavslari bilan ajratilishi mumkin. Keyinda ma’lumotlar maydonining yuqorigi indeksi 
talab qilinadi (ArrayLength).  
 
void BubbleSort(int *Array, int ArrayLength) 

 
int x, y; 
 
int temp; 
 
for(x=0;x<=ArrayLength;x++) 
 

 
 
for(y=0;y<=ArrayLength;y++) 
PDF created with pdfFactory trial version 
www.pdffactory.com


 
 

 
 
 
if(y < ArrayLength) 
 
 
 

 
 
 
 
if(Array[y] > Array[y+1]) 
 
 
 
 

 
 
 
 
 
temp = Array[y]; 
 
 
 
 
 
Array[y] = Array[y+1]; 
 
 
 
 
 
Array[y+1] = temp; 
 
 
 
 

 
 
 

 
 

 


 
Endi, dastur bekamu-ko‘stmi, u istalgan talablarga javob beradimi, degan savolga javob berish uchun 
uni tekshirib ko‘rish kerak. 

Download 2,87 Mb.

Do'stlaringiz bilan baham:
1   ...   74   75   76   77   78   79   80   81   ...   235




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish