ALGORITM VA DASTUR TUSHUNCHALARI


         Mavzu rejasi:
  1.Kirish.
  2.Algoritm va uning xossalari.
  3.Algoritm turlari.
  4.Algoritmik tillar.
  5.Masalalarni echish bosqichlari.
  6.Dasturlash vositalari
  7.Ma’ruza bo‘yicha savollar.




1.Kirish
Algoritm so‘zi buyuk matematik Al-Xorazmiyning nomi bilan bog‘liq bo‘lib, u birinchi bo‘lib arab raqamlaridan foydalangan holda arifmetik amallarni bajarish qoidasini bayon etdi.
Har qanday qo‘yilgan masalani kompyuterda echish uchun oldin uning echish usulini tanlab, keyin uning algoritmini ishlab chiqish kerak bo‘ladi. Demak, hech bir masala yo‘qki uning echilish yo‘llarini bilmasdan va algoritmini tasavvur qilmasdan turib uni kompyuterda echib bo‘lmaydi.

2.Algoritm va uning xossalari
Elektron hisoblash mashinalarining vujudga kelishiga qadar algoritmga har xil ta’rif berib kelindi. Lekin ularning barchasi ma’no jihatdan bir-biriga juda yaqin bo‘lib, bu ta’rif hozirgi kunda quyidagicha talqin qilinadi.
 Ta’rif. Algoritm deb, qo‘yilgan masalani echish uchun ma’lum qoidaga binoan bajariladigan amallarning chekli qadamlar ketma-ketligiga aytiladi.
Har qanday algoritm ma’lum ko‘rsatmalarga binoan bajariladi va bu ko‘rsatmalarga buyruq deyiladi.
Algoritm quyidagi muhim xossalarga ega:
Aniqlik va tushunarlilik - deganda algoritmda ijrochiga berilayotgan ko‘rsatmalar aniq mazmunda bo‘lishi tushuniladi.
Ommaviylik - deganda har bir algoritm mazmuniga ko‘ra bir turdagi masalalarning barchasi uchun ham o‘rinli bo‘lishi tushuniladi.
Natijaviylik - deganda algoritmda chekli qadamlardan so‘ng albatta natija bo‘lishi tushuniladi.
Diskretlik - deganda algoritmlarni chekli qadamlardan tashkil qilib bo‘laklash imkoniyati tushuniladi.

3.Algoritm turlari
Algoritmning uchta turi bor: chiziqli, tarmoqlanuvchi va takrorlanuvchi.
         CHiziqli algoritm - deb hech qanday shartsiz faqat ketma-ket bajariladigan jarayonlarga aytiladi.
         Tarmoqlanuvchi algoritm - deb ma’lum shartlarga muvofiq bajariladigan ko‘rsatmalardan tuzilgan algoritmga aytiladi.  
         Takrorlanuvchi algoritm - deb biron bir shart tekshirilishi yoki biron parametrning har xil qiymatlari asosida algoritmda takrorlanish yuz beradigan jarayonlarga aytiladi.
         Algoritmlarni turli usullarda tasvirlash mumkin. Masalan: so‘z bilan ifodalash; formulalarda berish; blok-sxemalarda tasvirlash; dastur shaklida ifodalash va boshqalar.
         Algoritmlarni blok-sxema ko‘rinishda tasvirlash qulay va tushunarli bo‘lgani uchun ko‘p ishlatiladi. Bunda algoritmdagi har bir ko‘rsatma o‘z shakliga ega. Masalan: parallelogramm ko‘rinishdagi belgi ma’lumotlarni kiritish va chiqarish; to‘g‘ri to‘rtburchak belgisi hisoblash jarayonini; romb belgisi shartlarning tekshirilishini  bildiradi.
Misollar:     CHiziqli algoritmga doir:  hisoblash algoritmini tuzing.

So‘zda berilishi:                                                Blok-sxemada:

 

                           

                   
                                     
          1.Boshlash.                            
         2.x va u qiymatini kiritish.                         
         3.z qiymatini hisoblash.                                        
         4.z qiymatini chiqarish.                         
         5.Tamom.                                                
                                                                                    
                                                                           











Tarmoqlanuvchi algoritmga doir:
         Ikkita a va b sonlardan kattasini aniqlash algoritmini tuzing.
         So‘zda berilishi:                                         Blok-sxemada:

 

  
                                     
  1.Boshlash.                            
  2.a va b-qiymatini kiritish.        
  3.agar a>b bo‘lsa, natija a deb
    olinib  5ga o‘tilsin.                                       
  4.natija b deb olinsin.                        
  5.Tamom.
                                                                             
        



Takrorlanuvchi algoritmga doir:
 yig‘indini hisoblash algoritmini tuzing.
So‘zda berilishi:                                          Blok-sxemada:

 

  1. Boshlash.
  2. S=0
  3.  i=1
  4. S=1/i2
  5. Agar i<100 bo‘lsa, u holda i=i+1 va 4 ga o‘tish.
      Aks holda 6 ga.
  6. S qiymati chiqarilsin.                                    
  7. Tamom


Hayotimizda algoritmlarni turli sohalarda ba’zan bilgan holda ba’zan esa bilmagan holda ishlatamiz. Algoritmlar faqat matematik xarakterga ega bo‘lmasdan ularni oddiy hayotiy turmushimizda ham ko‘p qo‘llaymiz. Masalan, ovqat tayyorlash, choy damlash, biror berilgan ishni bajarish va boshqa. Bu ishlarni bajarishda ma’lum bo‘lgan aniq ko‘rsatmalarni ketma ket bajaramiz. Agar bu ko‘rsatmalar aniq bir ketma ketlik tartibida bajarilmasa kerakli natijani olaolmaymiz. Misol tariqasida matematik xarakterga ega bo‘lmagan butelbrod tayyorlash algoritmini ko‘rib chiqaylik. Bunda boshlang‘ich berilganlar: non, kolbasa va pishloq. Natija: butelbrod. Butelbrod tayyorlash algoritmi:
·        non bo‘lagini kesib olish;
·        kolbasa va pishloq bo‘lagini kesib olish;
·        kolbasa va pishloq bo‘lagini non bo‘lagi orasiga qo‘yish.
Agar bu jarayonning ketma ketlik o‘rinlari almashsa yoki biror bir bosqich amalga oshirilmasa natija bo‘lmaydi.

4.Algoritmik tillar
Masalani echish algoritmi ishlab chiqilgandan so‘ng dastur tuziladi. Dastur - bu berilgan algoritmga asoslangan biror bir algoritmik tilda yozilgan ko‘rsatmalar, ya’ni buyruqlar yoki operatorlar to‘plamidir. Dasturlash - esa bu dastur tuzish jarayoni bo‘lib, u quyidagi bosqichlardan iboratdir:
·        dasturga bo‘lgan talablar;
·        qo‘yilgan masala algoritmini tanlash yoki ishlab chiqish;
·        dastur kodlarini (matnlari, buyruqlarni) yozish;
·        dasturni to‘g‘rilash va test o‘tkazish.
Hozirgi kunda juda ko‘plab algoritmik tillar mavjud bo‘lib, ularni dasturlash tillari deb ataymiz. Algoritmik  til - algoritmlarni bir xil va aniq yozish uchun ishlatiladigan belgilashlar va qoidalar sistemasidir. Algoritmik til oddiy tilga yaqin bo‘lib u matematik belgilarni o‘z ichiga oladi. Qo‘yilgan  masalalarni echishga tuzilgan algoritmlarni to‘g‘ridan-to‘g‘ri mashinaga berib, echib bo‘lmaydi, shu sababli yozilgan algoritmni biror bir algoritmik tilga o‘tkazish zarur. Har qanday algoritmik til o‘z qo‘llanilish sohasiga ega. Masalan, muxandislik hisob ishlarini bajarishda Paskal, Beysik va boshqalar. Ro‘yxatlarni ishlash uchun PL/1 va boshqalar. Iqtisod masalalarini echishda Paskal, Kobol va boshqalar. Mantiqiy dasturlash uchun Prolog va boshqalar. O‘quv jarayonlari  uchun Beysik, Paskal va boshqalar.
Paskal, Fortran va Kobol tillari universal tillardan hisoblanadi. Assembler tili mashina tiliga ancha yaqin til bo‘lib o‘rta darajadagi tildir. Algoritmik til inson tillariga qancha yaqin bo‘lsa, u tilga yuqori darajali til deyiladi. Mashina tili esa eng pastki darajali tildir.

5.Masalalarni echish bosqichlari
Har qnday masalani kompyuterda chishdan oldin, odatda tayyorgarlik ishlari amalga oshiriladi. Ular qyidagilardan iborat:
   1.Masalani qo‘yish va uning matematik modelini ishlab chiqish. Ushbu bosqichda boshlang‘ich malumotlar tarkibi aniqlanadi. Masalani qo‘yish odatda echiladigan masalaning asosiy xususiyatlarini og‘zaki tavsiflash bilan tugallanadi va so‘ngra, masala matematik modeli yoziladi.
   2.Echish usulini tanlash. Masala matematik ifodalanib bo‘lgandan so‘ng uni echish usuli tanlanadi. Bunda izlanayotgan natijalarning boshlang‘ich ma’lumotlarga bog‘liqligini aniqlaydi. Hozirgi zamon hisoblash matematikasi fan va texnikaga oid turli masalalarni echish uchun ko‘plab sonli usullarga ega.         
   3.Masalani  echish  algoritmini  ishlab chiqish. Bu bosqichda kompyuterda masalani echish uchun bajariladigan amallar (buyruqlar) ketma-ketligi tavsiflanadi. Biz buni algoritmlash deb ataymiz.
   4.Dasturlash. Bunda algoritm biror algoritmik tilga ko‘chiriladi.
   5.Dasturni kiritish va xatolarini tuzatish.
   6.Masalani bevosita kompyuterda echish va natijalarni tahlil qilish. Bunda  dasturda kerakli boshlang‘ich qiymatlar berilib kompyuterda natija olinadi va tahlil qilinadi. Bu bosqichda agar kerak bo‘lsa algoritm va dastur modernizatsiya qilinishi ham mumkin. YAngi olingan ma’lumotlar asosida kerakli xulosalar ishlab chiqiladi. Bu ma’lumotlar qo‘yilgan masalani turlicha tahlil qilishga, murakkab jarayonlarni tushunishga, olamshumul yangiliklarning ochilishiga, yangi nazariyalarning, texnika mo‘‘jizalarining yaratilishiga xizmat qiladi. Umuman olganda «Model-algoritm-dastur» uchligi modellashtirishning intelektual mag‘zini tashkil etadi, bunday uchliksiz kompyuterda murakkab masalalarni echishda muvaffaqiyatga erishib bo‘lmaydi.

6.Dasturlash vositalari
Dasturlash vositalarining asosiy vazifasi dastur tuzuvchilarga kompyuterda dastur matnlarini kiritish, tahrirlash va ishga tushurish kabi bir qancha ishlarni bajarishda qulaylik yaratadi.
Turbo Paskal datsurlash vositasi Paskal tilida kompyuterda dasturlar yaratish uchun maxsus dastur bo‘lib xizmat qiladi. Turbo Pascal dasturlash vositasi ham o‘z matn muhaririga ega bo‘lib, u ko‘p tomondan Turbo Basic, Turbo Prolog, Turbo C  va boshqa dasturlash vositalarining matn muharrirlariga o‘xshab ketadi. Turbo Pascal dasturlash vositasining dasturiy ta’minoti quyidagilardan tashkil topgan:
Turbo.exe   -asosiy dastur bo‘lib tizimni ishga tushiradi;
 Turbo.tpl   -dasturlar bibliotekasi;
Turbo.hlp   -yordam chaqirish fayli;
Grapf.tpu   -grafik funksiya va protseduralar bibliotekasi;
CGA.bgi, EgaVga.bgi  -monitor uchun grafik drayverlari;
Tpc.exe     -Pas kengaytmali faylni Exe kengaytmali fayliga o‘tkazadi.
Turbo Pascal oynasi gorizontal menyu va dastur matnini kiritish maydonidan iborat.
Gorizontal menyu quyidagilardan iborat:
         File punkti quyidagi buyruqlar mavjud:
         New         - ekranni tozalash va operativ xotirada yangi fayl ochish;
         Save         -operativ xotiradagi dasturni asosiy xotiraga yozadi;
         Save As   -boshqa nom bilan dasturdan nusxa ko‘chiradi;
         Open        -kerakli faylni ochishb ekranga chaqiradi; 
         Exit          -tizimdan chiqish.
         Edit -punkti dastur matnini qayta tahrirlashda ishlatiladi.
         Run -punkti xotiradagi dasturni bajarishga beradi. Bu buyruqni  Ctrl-F9 tugmasini bosib bajarsa ham bo‘ladi.
         Comple  -punkti dasturni kompilyatsiya qilib xotiraga yozadi.
Options  -punkti tizimning parametrlarini o‘zgartiradi.
Funksional tugmachalar vazifalari:
F1   -yordam chaqirish;                               F2   -faylni diskga saqlash;
F3   -faylni ishga tushurish;                        F5   -ekranni ochish va yopish;
F6   -ekranni aktiv holatga o‘tkazish; F9   -dasturni qadam bilan bajarish;
F10 -bosh menyuga o‘tish.

Matn muharirida tugmalar yordamida buyruqlarni berish.
Tugmani bosish
Buyruqning bajarilishi
Tugmani bosish
Buyruqning bajarilishi
Ctrl  à 
o‘nga bitta so‘z o‘tish    
Ctrl N
qator qo‘yish       
Ctrl ß
chapga bitta so‘z o‘tish  
Ctrl K B
blok boshini ajratish
Ctrl  W
yuqoriga siljish    
Ctrl K K
blok oxirini ajratish
Ctrl   Z
pastga siljish        
Ctrl K T
so‘zni ajratish;
Home         
qator boshiga o‘tish
Ctrl K Y
ajratilgan blokni o‘chirish
End             
qator oxiriga o‘tish
Ctrl K S
Blokni ko‘chirish
Ctrl Home
birinchi qatorga o‘tish   
Ctrl U
buyruqni bekor qilish                 
Ctrl End  
oxirgi qatorga o‘tish      
Ctrl F9
dasturni ishga tushurish                
Del          
o‘ng yozuvni o‘chirish
Ctrl C
dasturni ishdan to‘xtatish             
Ctrl Y      
qatorni olib tashlash      




7.Ma’ruza bo‘yicha savollar
  1.Algoritm nima?
  2.Algoritm qanday xossalarga ega?
  3.Algoritmning qanday turlari mavjud?
  4.Algoritmni tasvirlashning qanday usullarini bilasiz?
  5.Qanday algoritmik tillarni bilasiz?
  6.Masalani kompyuterda echish qanday bosqichlardan iborat?
  7.Matematik model deganda nimani tushinasiz?
  6.Qanday dasturlash vositalarini bilasiz?
  7.Turbo Paskal dasturi matn muharririning qanday buyruqlarini bilasiz?

0 Comments