Yuqoridagimisollardanko‘rinibturibdiki,algoritmningharbirqadamidabajariladiganamallartushunarli va aniq tarzda ifodalangan hamda chekli sondagi amallar bajarilgandan keyin aniqnatija olishmumkin.
Zikretilgan,tushinarlilik,aniqlilik,cheklilikvanatijaviyliktushunchalarialgoritmningasosiyxossalarinitashkil etadi. Butushunchalarkeyingiparagraflardaalohidako‘rib o‘tiladi.
“Algoritm” so‘zi va tushunchasi IX asrda yashab ijod etgan buyuk alloma Muhammad al-Xorazmiy nomi bilan uzviy bog‘liq. Algoritm so‘zi Al-Xorazmiy nomini Evropa olimlaritomonidan buzib talaffuz qilinishidan yuzaga kelgan. AlXorazmiy birinchi bo‘lib o‘nlik canoqsistemasiningtamoyillarinivaundagito‘rttaamalnibajarishqoidalariniasoslabbergan.
Algoritmningasosiyxossalari
Algoritmning5ta asosiyxossasi bor. Diskretlilik (Cheklilik).Bu xossaning mazmuni algoritmlarni doimo chekli qadamlardan iboratqilib bo‘laklash imkoniyati mavjudligida. Ya’ni uni chekli sondagi oddiy ko‘rsatmalar ketma-ketligi shaklida ifodalash mumkin. Agar kuzatilayotgan jarayonni chekli qadamlardan iboratqilibqo‘llay olmasak, uni algoritm deb bo‘lmaydi.
Ijrochiga tavsiya etilayotgan ko‘rsatmalar uning uchun tushinarli mazmunda bo‘lishi shart, aksholda,ijrochioddiyginaamalni hambajaraolmaydi.Bundan tashqari,ijrochiharqandayamalnibajaraolmasligi ham mumkin.
Har bir ijrochining bajarishi mumkin bo‘lgan ko‘rsatmalar yoki buyruqlar majmuasi mavjud, uijrochining ko‘rsatmalar tizimi (sistemasi) deyiladi. Demak, ijrochi uchun berilayotgan har birko‘rsatmaijrochining ko‘rsatmalartizimiga mansubbo‘lishilozim.
Ko‘rsatmalarni ijrochining ko‘rsatmalar tizimiga tegishli bo‘ladigan qilib ifodalay olishimizmuhimahamiyatgaega. Masalan,quyisinfninga’lochio‘quvchisi"sonkvadratgaoshirilsin"degan ko‘rsatmani tushunmasligi natijasida bajara olmaydi, lekin "son o‘zini o‘zigako‘paytirilsin" shaklidagi ko‘rsatmani bemalol bajaradi, chunki u ko‘rsatma mazmunidanko‘paytirishamalini bajarish kerakligini anglaydi.
Aniqlik. Ijrochiga berilayotgan ko‘rsatmalar aniq va mazmunli bo‘lishi zarur. Chunkiko‘rsatmadagi noaniqliklar mo‘ljaldagi maqsadga erishishga olib kelmaydi. Inson uchuntushunarli bo‘lgan "3-4 marta silkitilsin", "5-10 daqiqa qizdirilsin", "1-2 qoshiq solinsin","tenglamalardan biri echilsin" kabi noaniq ko‘rsatmalar kompyuterni qiyin ahvolga solibqo‘yadi.
Bundantashqari,ko‘rsatmalarningqaysiketma-ketlikdabajarilishihammuhimahamiyatgaega.Demak, ko‘rsatmalar aniq berilishi va faqat algoritmda ko‘rsatilgan tartibda bajarilishi shartekan. Ommaviylik. Har bir algoritm mazmuniga ko‘ra bir turdagi masalalarning barchasi uchun hamo‘rinlibo‘lishikerak.Ya’nimasaladagiboshlang‘ichma’lumotlarqandaybo‘lishidanqat’inazaralgoritm shu xildagi har qanday masalani yechishga yaroqli bo‘lishi kerak. Masalan, ikki oddiykasrning umumiy maxrajini topish algoritmi, kasrlarni turlicha o‘zgartirib bersangiz hamularning umumiy maxrajlarini aniqlab beraveradi. Yoki uchburchakning yuzini topish algoritmi,uchburchakningqandaybo‘lishidan qat’inazar, uningyuzasini hisoblabberaveradi.
Natijaviylik. Har bir algoritm chekli sondagi qadamlardan so‘ng, albatta, natija berishi shart.Bajariladiganamallarko‘pbo‘lsahambaribirnatijagaolibkelishikerak.Chekliqadamdanso‘ngqo‘yilgan masalae chimga ega emasligini aniqlash ham natija hisoblanadi. Agar ko‘rilayotganjarayoncheksiz davom etib natijabermasa, unialgoritm deb atay olmaymiz.
Algoritmnitasvirlashusullari
Yuqorida ko‘rilgan misollarda, odatda, biz masalani yechish algoritmini so‘zlar va matematikformulalar orqali ifodaladik. Lekin algoritm boshqa ko‘rinishlarda ham berilishi mumkin. Bizendialgoritmlarning engko‘puchraydiganturlaribilan tanishamiz. Algoritmningso‘zlarorqaliifodalanishi.Buusuldaijrochiuchunberiladiganharbirko‘rsatmajumlalar,so‘zlarorqali buyruqshaklidaberiladi.
Algoritmning formulalar bilan ifodalanish usulidan matematika, fizika, kimyo kabi aniqfanlardagiformulalarnio‘rganishdafoydalaniladi. Buusulba’zananalitikifodalashdeyiladi.
Algoritmlarning maxsus geometrik shakllar yordamida ifodalanishida masala yechish jarayonianiqva ravon tasvirlanadi va bu ko‘rinish blok-sxemadeyiladi.
Algoritmning jadval ko‘rinishda berilishi. Algoritmning bunday ifodasidan ham ko‘pfoydalanamiz.Masalan,maktabdaqo‘llanibkelinayotganto‘rtxonalimatematikjadvallaryokiturlixillotereyalarjadvali.Funksiyalarning grafiklarinichizishdahamalgoritmlarning
qiymatlarijadvaliko‘rinishlaridanfoydalanamiz.Bukabijadvallardanfoydalanishalgoritmlarisoddabo‘lgani tufayli ularni o‘zlashtirib olish oson.
Yuqorida ko‘rilgan algoritmlarni tasvirlash usullarining asosiy maqsadi, qo‘yilgan masalaniyechish uchun zarur bo‘lgan amallar ketma-ketligining eng qulay holatini aniqlash va shu bilaninson tomonidan dastur yozishni yanada osonlashtirishdan iborat. Aslida, dastur hamalgoritmning boshqa bir ko‘rinishi bo‘lib, u insonning kompyuter bilan muloqotini qulayroqamalgaoshirish uchun mo‘ljallangan. Blok-sxemalarnituzishdafoydalaniladiganasosiysoddageometrikfiguralarquyidagilardaniborat:
Figurashakli
Vazifasi
oval, algoritmning boshlanishi yoki tugallanishinibelgilaydi
Blok-sxemalar bilan ishlashni yaxshi o‘zlashtirib olish zarur, chunki bu usul algoritmlarniifodalashning eng qulay usullaridan biri bo‘lib, dastur tuzishni osonlashtiradi, dasturlashqobiliyatinimustahkamlaydi.Algoritmiktillardablok-sxemaningasosiystrukturalarigamaxsusoperatorlarmos keladi.
Masalan, misol sifatida 1.2 punktda keltirilgan ax2+bx+c=0 kvadrat tenglamaning haqiqiyechimlarinihisoblash uchun quyidagi amallarketma-ketligizarurbo‘ladi: