Algoritmika.Algoritmning xossalari va tasvirlari usullari
MAVZU: Algoritmika.Algoritmning xossalari va tasvirlari usullari MUNDARIJA I.Kirish ................................................................................................................................................................................... 2 II.Asosiy qism ........................................................................................................................................................................ 4 1. Algoritmning tavsifi ....................................................................................................................................................... 4 2. Algoritmning turlari ...................................................................................................................................................... 6 3.Algoritmning xossalari ................................................................................................................................................. 11 4.Algoritmning tasvirlash usullari ................................................................................................................................... 13 III.Xulosa .............................................................................................................................................................................. 16 IV.Foydalanilgan adabiyotlar .............................................................................................................................................. 17
I.Kirish Algoritm - amallarning muayyan tartibda bajarilishi haqidagi aniq qoida (dastur). Kibernetika va matematikanign asosiy tushunchalaridan biri. O rtaʻ asrlarda sanoqning o nli tizimi bo yicha to rt arifmetik amal — ma lum bir turga ʻ ʻ ʻ ʼ oid masalalarni yechishda ishlatiladigan qoidani ba jariladigan algoritm deb atashgan ."Bu qoidalarni matematikaga IX asrda al- Xorazmiy kiritgan. Yevropada bunday qoidalar uning tugilgan yurtiga nisbatan lotinchalashtirilgan (Algoritmus yoki Algorithmus shaklida „algorizm“ deyilgan), keyinchalik „algoritm“ga aylangan". Fanda „Yevklid algoritmi“, „G iyosiddin ʻ Koshiy algoritmi“, „Laure algoritmi“, „Markov algoritmi“ deb ataluvchi algoritmlar ma lum. Algoritm tushunchasi tobora kengayib borib, kibernetikaning ʼ nazariy va mantiqiy asosi hisoblangan algoritmlar nazariyasi paydo bo ldi. ʻ O zbekistonda ʻ bir necha ilmiy tadqiqot muassasalari va hisoblash markazlarida algoritmdan foydalanish sohasida samarali ishlar olib borilmoqda. Masalan, O zbekiston Fanlar Akademiyasi ʻ „Kibernetika“ ilmiy ishlab chiqarish birlashmasida, O zbekistondagi barcha universitetlarda, Toshkent davlat texnika ʻ universitetida, O zbekiston Respublikasi Makroiqtisod va statistika vazirligi ʻ qoshidagi Hisoblash markazi va boshqa muassasalarda olib borilayotgan ishlar bunga misol bo la oladi. ʻ Algoritm deganda biror maqsadga erishishga yo`naltirilgan, ijrochi bajarishi uchun moljallangan buyruqlarning ketma-ketligi tushuniladi. Demak, yuqorida keltirilgan misollardagi buyruq (yoki ko`rsatma)lar ketma-ketligi algoritm va bu algoritmlarni bajarayotgan inson - ijrochi bo‘lar ekan. Birinchi misoldagi ko`rsatmalar «Choy damlash algoritmi» deb ataladi. Bundan shunday xulosaga kelamiz: inson hayotida ko`zlagan maqsadiga erishishi uchun ijrochi sifatida ko`plab algoritmlarni bajaradi. Ko’pgina algoritmlar inson uchun odat bo`lib qolgan. Masalan, taom tayyorlash, ovqatlanish, tartibli kiyinish, xonadan chiqish, yozish, bir joydan ikkinchi joyga borish va hokazo. Ko`rsatmalarning tartibi 2
buzilishi qanday oqibatga olib kelishi mumkinligini o`zingiz tasavvur qilishingiz qiyin emas. Algoritm ijrochisi - algoritmda ko`rsatilgan buyruq yoki ko`rsatmalarni bajara oladigan abstrakt yoki real (texnik yoki biologik) sistema. Ijrochi bajara olishi mumkin bo`lgan ko`rsatma yoki buyruqlar to`plami ijrochining ko`rsatmalar sistemasi (qisqacha, IKS) deyiladi. Masalan, «16 sonidan kvadrat ildiz chiqarilsin» ko`rsatmasi 2-sinf o`quvchisining ko`rsatmalar sistemasiga tegishli bo`lmaydi, lekin 8-sinf o`quvchisining ko`rsatmalar sistemasiga tegishli bo`ladi. Shuni ta’kidlash joizki, informatikada algoritmning asosiy ijrochisi bo`lib kompyuter xizmat qiladi. Algoritmlar fanini o‘qitishdan maqsad — informatika o‘qituvchining kasbiy sohasida egallashi lozim bo‘lgan bilimlar va amallarni qo'llash uchun ko‘nikma va malakalami shakllantirish va rivojlanishidan1iborat. Ushbu dasturda har bir kasb egasi uning faoliyat turidan qat’i nazar egallashi kerak bo’lgan tayanch mazmuniy va amaliy ma’lumotlarni o‘z ichiga oladi. Algoritmlar fanining vazifasi: algoritm tushunchasi va uning turlari, algoritm ijrochilari, algoritmlami tasvirlash usullari, Miniya va iteratsiya, algoritmning murakkabligi tushunchasi, samarali algoritmlar ishlab chiqishning asosiy usullari tillar bilimlari bilan tanishtirish; algoritmik tillaring milliy tushunchalari: steklar, navbatlar, daraxtlar, algoritmlar tahlili saralash, almashish usulida saralash, saralashning Sheyker, Shella usullari, piramida usulida saralash, turnir usulida saralash va ulardam binar qidiruv, Fibonachchi qidiruv, binar daraxt bo‘yicha qidiruv,muvozanatlashtirilgan daraxt bo‘yicha qidiruv; Rabin-Karp algoritmi, rekursiv algoritmlar bilan tanishish; paskal dasturlash tili, dasturlash tilining alifbosi, buyruqlar tizimi va operatorlari, ulaming tiplari va massivlar, chiziqü, tarmoqlanuvchi va takrorlanuvchi operatorlar, funksiya va protseduralar, fayllar bilan ishlash, tilning graflk imkoniyatlari haqidagi ma’lumotlarga ega bo‘lishdan iborat. 3
II.Asosiy qism 1. Algoritmning tavsifi Algoritm - bu cheklangan vaqt ichida muammoni yechish natijasiga erishish uchun ijrochining harakatlar ketma-ketligini tavsiflovchi aniq ko'rsatmalar to'plami. Kompyuterlarning ishlashida parallellik rivojlanishi bilan "ketma-ketlik" so'zi "tartib" degan umumiyroq so'z bilan almashtirila boshladi. Buning sababi shundaki, algoritmning ba'zi harakatlari birin-ketin bajarilishi kerak, ammo ba'zilari mustaqil bo'lishi mumkin. Kompyuter dasturlariga, shuningdek, masalan, taom tayyorlashning aniq ta'riflangan retsepti ham algoritm bo'lib, u holda ijrochi shaxsdir. "Algoritm" ning yagona "haqiqiy" ta'rifi mavjud emas . Algoritm - bu muayyan masalalar to'plamini yechish bo'yicha operatsiyalar ketma-ketligini belgilaydigan va beshta muhim xususiyatga ega bo'lgan cheklangan qoidalar to'plami: cheklilik, kirish, chiqish, samaradorlik. Algoritm - qat'iy belgilangan qoidalar bo'yicha bajariladigan har qanday hisoblash tizimi, bu ma'lum bir qator bosqichlardan so'ng, muammoni hal qilishga olib keladi. Algoritm - bu bajaruvchiga tushunarli bo'lgan buyruqlar yordamida yozib olingan obyektni boshlang'ich holatdan yakuniy holatga o'tkazish jarayonini tavsiflovchi qat'iy aniqlangan harakatlar ketma-ketligi. Algoritm - bu cheklangan sonli bosqichda ma'lum natijani olishga qaratilgan harakatlar ketma-ketligi. Algoritm - buharakatlarning ketma-ketligi, yoki bu muammoni hal qilishga olib keladi yoki nima uchun bu yechimni olish mumkin emasligini tushuntiradi. Algoritm - bu aniq, bir qiymatli, cheklangan harakatlar ketma-ketligi bo'lib, foydalanuvchi ma'lum bir maqsadga erishish yoki muayyan sonli bosqichda muayyan muammo yoki muammolar guruhini hal qilish uchun bajarishi kerak. Ushbu ta'riflarning umumiy jihati shundaki, algoritm retseptdir. Retsept ma'lum bir shaklda berilishi kerak. Bu matn bo'lishi mumkin - ba'zi alfavitdagi belgilar qatori, 4
jadval, diagramma, piktogramma buyurtma qilingan to'plami va boshqalar. Har qanday algoritm o'z-o'zidan mavjud emas, balki ma'lum bir ijrochiga mo'ljallangan. Algoritm ushbu algoritm bajaradigan ijrochining buyruqlarida tasvirlangan. Ijrochi harakatlarni bajara oladigan obyektlar ijrochining muhitini tashkil qiladi. Har qanday algoritmning dastlabki ma'lumotlari va natijalari har doim algoritm mo'ljallangan ijrochi muhitiga tegishli. Algoritmik til sintaksisi – quyidagilarga imkon beradigan qoidalar to'plamidir. 1. Dastur matnini rasmiy ravishda tekshirish (sintaktik jihatdan to'g'ri dasturlar to'plamini ajratib ko'rsatish) 2. Ushbu dasturlarni tarkibiy tuzilmalariga va oxir-oqibat leksemalarga ajratish. Algoritmik tilning semantikasi – bu sintaktik to'g'ri dasturlar va mavhum ijrochining harakatlari o'rtasidagi yozishmalardir, bu bizga mavhum ijrochining harakatlarining qaysi ketma-ketliklari to'g'ri kelishini aniqlashga imkon beradi, agar bizda berilgan dastur va uning berilgan tashqi muhiti bo'lsa. Tashqi muhit deganda dastur bajariladigan mashinaning xarakteristikalari (ma'lumotlarning aniqligi, xotira hajmi, buni bajarishda foydalanish mumkin bo'lgan boshqa dasturlar va boshqalar) va uning bajarilishi paytida dasturga kiruvchi ma'lumotlar oqimlari tushuniladi. Algoritmik tilning pragmatikasi – bu dasturni uning aniq bajarilishi bilan bog'laydigan narsadir. Bunday holda, xususan, quyidagilar yuzaga keladi. 1. Barcha ta'riflar aniq bo'lib qoladi ("aniqlanmagan", "amalga oshirish bilan aniqlanadi" va boshqalar kabi tushunchalar chiqarib tashlanadi) 2. Amalga oshirilganligi sababli qo'shimcha konstruktsiyalar, tavsiflovchilar va boshqalar paydo bo'ladi. Ular quyidagilarni hisobga olishlari kerak: - kompyuter va hisoblash muhitining xususiyatlari; - qabul qilingan tilni amalga oshirish sxemasining xususiyatlari; - hisob-kitoblarning samaradorligini ta'minlash; - foydalanuvchilarning o'ziga xos xususiyatlariga e'tibor qaratish. 5