Dasturlash asoslari


using  System;  namespace



Download 1,53 Mb.
Pdf ko'rish
bet13/13
Sana26.01.2022
Hajmi1,53 Mb.
#411649
1   ...   5   6   7   8   9   10   11   12   13
Bog'liq
Kurs ishi uchun namuna (1)

using

 System; 



namespace

 masala 


    


class

 

Program



 

    { 


        

public

 

static



 

void


 

Main

(

string



[] args) 

        { 



int

 n,m,j; 


            

int

 [] a=


new

 

int

[

100


]; 

            

Console

.

WriteLine

(

" n ga son kiriting="



); 

            n=



int

.

Parse

(

Console


.

ReadLine

()); 


            

for

(

int

 i=

0

;i

6

 

7



 

3

 



8

 

4



 

6

 



7

 

3



 

8

 



4

 

(1) 



 

6

 



7

 

3



 

8

 



4

 

(2) 



 

3

 



6

 

7



 

8

 



4

 

3



 

6

 



7

 

8



 

4

 



(3) 

 

3



 

4

 



6

 

8



 

7

 



3

 

4



 

6

 



8

 

7



 

(4) 


 

3

 



4

 

6



 

8

 



7

 



16

 

 



            {a[i]=

int

.

Parse

(

Console


.

ReadLine

());} 


            

for

(

int

 i=

1

;i

            {  

                j=i; 

                

while

((j>


0

)&&(a[j]

1

])) 


                {m=a[j]; 

                    a[j]=a[j-

1

]; 


                    a[j-

1

]=m; 



                    j--;}} 

                



for

(

int

 i=

0

;i

                { 

                    

Console

.

Write

(a[i]+ 

" "


); 

                } 

             

            

            

Console


.

ReadKey

(

true

); 

        }   



    } 

                    Dasturning natijasi quydagicha bo’ladi 



 

 



17

 

 



2.

Selection sort alagaritmi 

– bu tanlash algoritmidir. Tanlash algoritmi 

saralash algoritmlarining eng oddiy saralash usuli hisoblanadi. Ushbu saralash 

algoritmi ro’yhatning ikki qismga bo’linadigan qismi, chap tomonning oxiridagi 

qismi va o’ng tomonning ajralmas qismiga bo’linadigan joylarda taqqoslashga 

asoslangan saralash algoritmidir. Dastlabki holda, tartiblangan qism bo’sh va sarlavha 

qilinmagan qism butun ro’yhat hisoblanadi. Eng kichik eliment unsorted qatordan 

tanlanadi va eng chap element bilan almashtiriladi va bu element tartiblangan 

qatorning bir qismiga aylanadi. Ushbu jarayonni bajarish tartibsiz qator qatorni o’nga 

bir element bilan harakat qilishni davom ettiradi. Ushbu saralash algaritmi juda katta 

malumotlar majmui uchun mos emas, chunki urtacha va eng yamon vaziyat 

murakkabligi O(n

2

) , bu yerda n saralaniyotgan massivning elementlar sonini 



bildiradi. 

Quyida tanlash asosida saralash algoritmining dastur matnini 



C++ 

dasturlash 

tilida keltirib o’tamiz: 

using

 System; 

 

namespace

 masala 


    


class

 

Program



 

    { 


        

public

 

static



 

void


 

Main

(

string



[] args) 

        { 



int

 n,m,j,t; 

            

            

Console

.

WriteLine

(

" n ga son kiriting="



); 

            n=



int

.

Parse

(

Console


.

ReadLine

()); 


             

int

 [] a=


new

 

int

[

100


]; 

            



for

(

int

 i=

0

;i

            {a[i]=

int

.

Parse

(

Console


.

ReadLine

());} 


            

for

(

int

 i=

0

;i

1

;i++) 


            {  

                t=i; 

                 

for

(

int

 j=i+

1

;j



18

 

 



                { 

                    



if

(a[t]>a[j]) 

                    {t=j;} 

                } 

                m=a[t]; 

                a[t]=a[i]; 

                a[i]=m; 

                } 

            

for

(

int

 i=

0

;i

            {

Console


.

WriteLine

(a[i]+ 


" "

);} 


             

            

Console

.

ReadKey

(

true

); 


        } 

    } 


Dastur izohi: dastur 



C# 

dasturlash tilining kompyuterlar uchun mo’ljallangan 

versiyalarida ishga tushirilgach hosil bolgan qora fondagi doskaga dastlab massiv 

elementlari soni n so’ngra n ta massiv elementini kiritamiz. Massivning birinchi 

elementi bilan qolgan barcha elementlarni taqqoslab chiqamiz. Agarda massivning 

birinchi elementi qolgan barcha elementlarni ixtiyoriysidan katta bo’lsa u holda bu 

elementlar urni almashadi. Kiyingi qadamda ikkinchi element bilan undan kiyin 

turgan elementlarni taqqoslaymiz. Kiyingi qadamda uchinchi element va hakozo 

oxirgi qadamda n-1 birinchi element bilan n-element taqqoslanadi. Har qadamda 

taqqoslash sharti bajarilsa taqqoslangan elementlar o’rni almashadi va bu jarayon 

taqqoslash sharti bajarilmay qolguncha davom etadi . 

                 Dastur natijasi quyidagicha bo’ladi: 




19

 

 



 

 

                     3.Quicksort saralash algoritmi 



 

Quicksort saralash algoritmi bu tezkor saralash degan ma’noni anglatadi. Tezkor 

saralash ( Quick sort ) algoritmi 1964 - yilda Charlz Hoar tomonidan taklif qilingan. 

Charliz  Hoar  ingliz  olimi,  informatika  va  hisoblash  texnikasi  sohasida  yetuk 

mutaxassis.  Uning  “  Tezkor  saralash  ”  algoritmi  saralash  bo`yicha  eng  ommabop 



20

 

 



algoritm. 

––––


 

 

Bu algoritm ham “ Bo`lib tashla va hukmronlik qil “ ( Bu metod algoritmlarni 



qurishning asosiy metodlaridan biri. Murakkab masalani yechish uchun uni oddiyroq 

bo`laklarga  ajratish  kerak.  Massivni  ham  xuddi  shunday  saralash  mumkin  .  buning 

uchun  uni  ikki  bo`lakka  ajratamiz,  bo`laklarni  alohida  saralaymiz,  saralangan 

massivlarni  birlashtiramiz  )  metodiga  asoslanadi.  Algoritmining  g`oyasi:  Massivda 

bo`luvchi element 

x

 dan kichik yoki teng bo`lgan elementlar joylashsin, keyin undan 

katta bo`lgan elementlar joylashsin. Keyin ularni alohida saralaymiz. Agar 

massivda 



ta element bo`lsa, bo`luvchi element sifatida  



x=a[n/2] 

ni olamiz. Chap tomondan 



9

 



3

 

7



 

5

 



2

 

1



 

4

 



4

 

3



 

7

 



5

 

2



 

1

 



9

 

9



 

3

 



7

 

5



 

2

 



1

 

4



 

4

 



3

 

1



 

5

 



2

 

7



 

9

 



4

 

3



 

1

 



2

 

5



 

7

 



9

 

4



 

3

 



1

 

2



 

5

 



7

 

9



 

2

 



3

 

1



 

4

 



2

 

1



 

3

 



4

 

1



 

2

 



3

 

4



 


21

 

 



dan kichik katta yoki teng bo`lgan birinchi elementni topamiz, o`ng tomondan esa 

dan katta bo`lmagan birinchi elementni topamiz va ikkalasining o`rnini almashtiramiz. 

Ana shu jarayonni  bo`luvchi element 

ning chap tomonida undan kichik elementlar, 

o`ng  tomonida  esa  undan  katta  bo`lgan  elementlar  joylashb  qolgunicha  davom 

ettiramiz. Shundan so`ng yuqoridagi jarayonni chap tomon uchun alohida o`ng tomon 

uchun  alohida  bajaramiz  va  hakozo.  Ko`rinib  turganidek  bu  rekursiya  jarayoniga 

to`g`ri keladi.  

 

Quyida quicksort saralash algoritmining C# tilidagi dastur matnini keltiramiz: 



using

 System; 

 

namespace

 masala 


    


class

 

Program



 

    { 


        

public

  

void



 qsort[

int

 l,



int

 r) 


             {

int

 [] a=



new

 

int

[

1000


]; 

               



int

 m,x,j,t,i

                   m=(l+r)/

2



                   x=a[m]; 

                   i=l;j=r; 

                   

while

(i<=j) 


                   {     

while

(a[i]

                   

while

(a[j]>x){j--;} 

                   

if

(i<=j) 


                   {t=a[i];a[i]=a[j];a[j]=t;i++;j--;}} 

                   



if

(l

                   

if

(i

                    

                    

        

public

 

static



 

void


 Main(

string


[] args) 

             

        {

int

 n; 


            n=

int

.parse(Console.ReadLine()); 

            

for

(

int

 i=

0

;i

            {a[i]=

int

.parse(Console.ReadLine());} 

            qsort(

0

,n-



1

); 


            

for

(

int

 i=

0

;i



22

 

 



            { 

                Console.WriteLine(a[i]+ 

" "

); 


            } 

             

            Console.ReadKey(

true

); 


        } 

         

    } 

 



                            Dastur natijasi quyidagicha bo’ladi: 

 

 



 

 

                                               



 

 



23

 

 



                        

 2.2.Bubble sort saralash algoritmi. 

     Bubble sort saralash algoritmi qanday usulda saralash? Ushbu so`z pufakcha usulida 

saralash  degan  ma’noni  anglatadi.  Bu  saralash  usulida  massiv  elementlarining  ikki 

qo`shni  elementlari  taqqoslanadi  va  agarda  noto`g`ri  joylashgan  bo`lsa  ularnung 

o`rinlari almashtiriladi. Umumiy 

n-1 

marta ushbu jarayon bajariladi. Har safar ikkita 

qo`shni element taqqoslanadi. Yuqoridagi jarayonda har bir element o`z o`rniga siljib 

boradi  xuddi  suvdagi  pufakchaga  o`xshab.  Shu  sababli  ham  uning  nomi  pufakcha 

usulida  saralash  deb  nomlanadi.  Bu  algoritmning  asosiy  g‘oyasini  yozish  uchun 

tartiblanishi kerak bo’lgan yozuvlar vertikal joylashgan massivda saqlanadi deb faraz 

qilamiz.  Kalit  maydonning  kichik  qiymatli  yozuvlari  «yengil»  va  shuning  uchun 

pufakcha kabi ular yuqoriga «suzib chiqadi». 

          Massiv  bo’ylab  birinchi  o’tishda  massivning  birinchi  yozuvi  olinadi  va  uning 

kaliti navbatma-navbat keyingi  yozuvlarning kalitlari  bilan  solishtirib boriladi. Agar 

nisbatan  «og‘ir»  kalitli  yozuvlar  uchrasa,  u  holda  bu  yozuvlar  joyini  almashtiradi. 

Nisbatan «yengil» yozuvlar uchraganda bu yozuv taqqoslash uchun etolon bo’ladi va 

keyingi barcha yozuvlar shu kalit bilan solishtiriladi. Natijada eng kichik qiymatli kalit 

massivning eng yuqorisiga chiqadi.  

       Massiv bo’ylab ikkinchi o’tishda massivning massivni birinchi o’tishda topilgan 

yozuvdan keyin joylashgan og‘irligi bo’yicha ikkinchi kalit olinadi. Massiv bo’ylab 

ikkinchi va keyingi o’tishlarda oldingi o’tishlarda topilgan yozuvlarni ko’rib chiqish 

shart emas, chunki ular qolgan yozuvlarga qaraganda kichik kalitlarga ega. 

 

                



 

 



24

 

 



Quyida bubble sort algoritmining 

C# 

tilidagi dasturini keltiramiz: 



using

 System; 

 

namespace

 masala 


    


class

 

Program



 

    { 


        

public

 

static



 

void


 

Main

(

string



[] args) 

        { 

            

int

 n,t; 


            

int

 [] a=


new

 

int

[

100


]; 

            

Console

.

WriteLine

(

" n ga son kiriting="



); 

            n=



int

.

Parse

(

Console


.

ReadLine

()); 


            

for

(

int

 i=

0

;i

            {a[i]=

int

.

Parse

(

Console


.

ReadLine

());} 


            

for

(

int

 i=n;i>=

1

;i--) 



            { 

for

(

int

 j=

0

;j

1

;j++) 


                {

if

(a[j]>a[j+

1

]) 


                    {t=a[j];a[j]=a[j+

1

];a[j+



1

]=t;}}} 


                

for

(

int

 i=

0

;i

                { 

                    Console

.

WriteLine

(a[i]); 


                

             



            

Console


.

ReadKey

(

true

); 

        } 



    } 

 



 

 

 




25

 

 



              

                 

 

 



26

 

 



            Dasturning natijasi quydagicha bo’ladi  

 

      



       

                                   

                                           

 

 




27

 

 



                                             

Xulosa.

 

 



Xulosa qilib shuni aytishim mumkinki, bu mavzuda men massiv elementlarini 

saralash  usullarining  ichida  bubble  sort  saralash  algoritmining  qaysidir  sohalarda 

boshqa usullarga nisbatan qulaylik tomonlari bilan ajralib turishini ko`rsatishga harakat 

qildim.  Bundan  tashqari,  ya’ni  bubble  sort  algoritmidan  tashqari  saralash 

algoritmlaridan  quicksort  saralash  algoritmi,  insertion  sort  saralash  algoritmlarini 

tushuntirishga  harakat  qildim.  Ushbu  saralash  algoritmlarining  dasturlarini  C#  tilida 

yozganligim uchun bu saralash algoritmlariga yanada ko`proq ko`nikma hosil qildim.   

 

Hali  sanashni  bilmay  turib  sonlar  ustida  arifmetik  amallar  bajarib 



bo`lmaganidek,  men  ham  ushbu  kurs  ishidagi  asosiy  qismning  birinchi  bo`limida 

massivlar  haqida  kengroq  to`xtalib  o`tdim.  Ikkinchi  bo`limda  esa  saralsh 

algoritmlarining  turlari  va  ularning  bir  -  biridan  farqi  haqida  kengroq  tushunchalar 

keltirib o`tdim. Va nihoyat uchinchi bo`limda kurs ishining asosiy qismini, bubble sort 

saralash algoritmi va uning dasturini yozdim. 

 

 



 

 

 



 

 

 



 

                     

 

 



28

 

 



                         

Foydalaniladigan adabiyotlar rо‘yxati: 

Asosiy adabiyotlar 

1.  Герберт  Шилдт. C#  4.0:  полное  руководство.  М.:  ООО  "И.Д. Вильяме",  2011, 

1056 с. 

2. Карли Уотсон, Кристиан Нейгел, Якоб Хаммер Педерсен, Джон Д Рид, Морган 

Скиннер, Эрик Уайт. Visual C# 2008: базовый курс.: Пер. с англ.  - М.:ООО "И.Д. 

Вильяме", 2009. -1216 с. 

3.  Карли  Ватсон,  Марко  Беллиназо,  Олли  Корне,  Дэвид  Эспиноза.  С#. 

Издательство «Лори», Издательский дом «Питер», 2006 

4. Павел Агуров. C# сборник рецептов. Санк-Петербург, «БХВ- Петербург» 2007. 

5.  Эндрю  Троелсон.  C#  и  платформа  .Net.  Библиотека  программиста.  -  СПб.: 

Питер, 2007. 

6.  Madraximov  Sh.F.,  Ikramov  A.M.,  Babajanov  M.R.  C++  tilida  programmalash 

bo’yicha  masalalar  to’plami.  O’quv  qo’llanma  //  Toshkent,  O’zbekiston  Milliy 

Universiteti, “Universitet” nashriyoti, 2014. - 160 bet. 



Qo’shimcha adabiyotlar 

7.

 



Sh. Mirziyoyev  Buyuk kelajagimizni mard va olijanob xalqimiz bilan birga quramiz. 

Toshkent “O’zbekiston” 2017. 488 b. 

8.

 

Sh.  Mirziyoyev.    Qonun  ustuvorligi  va  inson  manfaatlarini  ta’minlash  –  yurt 



taraqqiyoti  va  xalq  farovonligining  garovi.    O’zbekiston  Respublikasi  Konstitutsiyasi 

qabul qilinganligining 24 yilligiga bag’ishlangan tantanali marosimdagi ma’ruza. 2016-

yil 7-dekabr. Toshkent - “O’zbekiston” - 2017. 32 b. 

9.

 



Mirziyoyev Sh.M. Tanqidiy tahlil, qat’iy tartib-intizom va shaxsiy javobgarlik – har 

bir  rahbar  faoliyatining  kundalik  qoidasi  bo’lishi  kerak.  O’zbekiston  Respublikasi 

Vazirlar  Mahkamasining  2016  yil  yakunlari  va  2017  yil  istiqbollariga  bag‘ishlangan 

majlisdagi O’zbekiston Respublikasi Prezidentining nutqi. // Xalq so’zi gazetasi. 2017 

yil 16 yanvar, №11.  

10.


 

SH.Mirziyoyev. Erkin va farovon, demokratik O’zbekiston davlatini birgalikda barpo 

etamiz. O’zbekiston Respublikasi Prezidenti lavozimiga kirishish tantanali marosimiga 

bag‘ishlangan  Oliy  Majlis  palatalarining  qo’shma  majlisidagi  nutqi.  Toshkent  – 

“O’zbekiston”. 2016. 56 b. 

                                          Internet  resurslar 

 

11. http://mvcsharp.ru/ 



12. https://docs.microsoft.com/ru-ru/dotnet/csharp/index 

13. http://ci-sharp.ru/ 




29

 

 



 

Download 1,53 Mb.

Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   13




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