• Dastlabki holat: 19 5 32 8 Birinchi ko‘rikdan o‘tkazish 19 5
  • Dasturning bajarilishi
  • Dasturiy ta’minot ishlab chiqish masalasining qo‘yilishi 6




    Download 1.18 Mb.
    bet23/60
    Sana21.02.2023
    Hajmi1.18 Mb.
    #42999
    1   ...   19   20   21   22   23   24   25   26   ...   60
    Bog'liq
    2. 1 Dasturiy ta’minot ishlab chiqish masalasining qo‘yilishi 6
    7-sinf-informatika-testlar, Автомобил электр ва электрон ТХК ва Т 2017, 163532874710984126, Mavzu6, file, Eshimbetov.N at m.ish, 713824, Matematik induksiya prinsipi, turistik mahsulotlar, kombinatorika elementlarida o\'rin almashish va guruhlashlar, Kurs ishi so‘z ustida ishlash sarik, Kirish kuchlanishi rostlash qurulmalari, Iboralar lug\'ati (eng yangi, mukammal-2019), 638 09.10.2020
    4.1 Oddiy misol: Bubblesort

    Ma’lumotlar maydonini rez-tez ko‘tariluvchi va pasayuvchi yo‘nalish bo‘yicha navlab turish zarur (Array). Buning uchun bir nechta algoritmlar mavjud. Algoritm BubbleSort shuni bajaradi, eng yirik unsurlar sovun ko‘piklari singari ko‘tariladi, eng yirik sovun ko‘pigi ohirida eng balandda, eng kichigi esa eng pastda joylashadi.




    Vazifa
    BubbleSort algoritmida har doim ikkita yonma-yon joylashgan unsurlar bir-biri bilan qiyoslanadi. Bir unsur ikkinchisidan katta, unda har ikkala belgilar o‘rni almashtiriladi. So‘zimizga kichkina misol.


    Dastlabki holat:
    19 5 32 8


    Birinchi ko‘rikdan o‘tkazish


    19 5 32 8 >> 5 19 32 8
    5 19 32 8 >> 5 19 32 8
    5 19 32 8 >> 5 19 8 32


    Ikkinchi ko‘rikdan o‘tkazish
    5 19 8 32 >> 5 19 8 32
    5 19 8 32 >> 5 8 19 32
    5 8 19 32 >> 5 8 19 32

    Har bir o‘tkazishda ma’lumotlar maydonining alohida elementi (Arrayelement) keyingisi bilan qiyoslanadi. Ma’lumotlar maydonining har bir elementida bitta tashqi va bitta ichki sikl bajariladi. Bu holatda bu erda to‘rtta siklik bajaruv bo‘ladi to‘g‘ri, ma’lumotlar maydonining bu namunasida (Array) ikkita ko‘rik o‘tkazuvidan keyinoq to‘g‘ri ajratilgan. Tegishli nazorat tekshiruvi yordamida endi navlarga ajratishni to‘xtatsa ham bo‘ladi, biroq «asosiy versiya» uchun birinchi marta bu kerak emas.




    Dasturning bajarilishi
    BubbleSort-algoritm funksionalligini yaxshi Nassi/Shneidermann-Diagramm diagrammasi bilan ham ko‘rsatish mumkin edi, unga mos kodlash (deyarli) har qanday tilda amalga oshishi mumkin.



    BubbleSort Algorithm







    x from 0 to ArrayLength







    y from 0 to ArrayLength








    y < ArrayLength

    yes


    no


    Array[y] > Array[y+1]

    yes


    no




    temp = Array[y]




    Array[y] = Array[y+1]

    Array[y+1] = temp




    4.1-rasm. BubbleSort dasturining Nassi/Shneidermann-Diagramm diagrammasi

    Element uning orqasidagi elementdan katta emasligini tekshirishdan keyingi tekshirish mavjud. Ikkinchi so‘roqda ma’lumotlar maydoning y+1 indeksi foydalanishi sababli ma’lumotlar maydonining eng yuqoriga indeksidan (ArrayLength) kichik bo‘lishi kerak. U 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 izchillikda saralash o‘tkaziladi. Agar saralashni pasayuvchi izchillikda olib borish zarur bo‘lsa, qiyoslashni atigi “nisbatan katta”dan “nisbatan kichikka o‘zgartirish kerak bo‘ladi”.

    Download 1.18 Mb.
    1   ...   19   20   21   22   23   24   25   26   ...   60




    Download 1.18 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Dasturiy ta’minot ishlab chiqish masalasining qo‘yilishi 6

    Download 1.18 Mb.