Tayanch so’zlar: Algoritm tushunchasi va ular haqida ma’lumotlar. Algoritmlar tarixi. Algoritm xossalari, turlari va uning berilish usullari.
Reja: 1. Amaliy masalalarni kompyuterda yechish jarayoni 2. “Algoritm” tushunchasi
3. Algoritmning asosiy xossalari
4. Algoritmni tasvirlash usullari
5. Chiziqli algoritmlar
6. Tarmoqlanuvchi algoritmlar
7. Takrorlanuvchi algoritmlar
1. Amaliy masalalarni kompyuterda yechish jarayoni Kundalik faoliyatimizda biz turli xil muammolar, vazifalarga duch kelamiz. Biz uchun ular talab yoki savol shaklida bo‘ladi. Masalan, «Kvadrat tenglamani yechish», «Dengizda nechta tomchi suv bor?», «Ikki karra ikki necha bo‘ladi?» kabi. Masalani yechish uchun kerakli amallarni bajarish, ma’lum bir ketmaketlikda qator harakatlarni amalga oshirish darkor. Aynan shu harakatlar ketmaketligini to‘liq tasavvur etishimiz va tasvirlab berishimiz kerak. Turli muammo, masala yoki jarayonlarni o‘rganishni kompyuter yordamida amalga oshirish uchun, birinchi navbatda, tadqiq qilinayotgan masala, jarayon - obyektning matematik ifodasi, ya’ni matematik modelini qurish kerak bo‘ladi. Matematik model real obyektning tasavvurimizdagi mavhum ko‘rinishi bo‘lib, u matematik belgilar va ba’zi-bir qonun-qoidalar bilan ifodalangan bo‘ladi. Qurilayotgan obyektning matematik modelini yaratish juda murakkab jarayon bo‘lib, o‘rganilayotgan obyektga bog‘liq ravishda turli soha mutaxassislarining ishtiroki talab etiladi. Umuman, biror masalani kompyuter yordamida yechishni quyidagi bosqichlarga ajratish mumkin (1.1.-rasm).
1-rasm. Hisoblash eksperimentining sxemasi
Misol sifatida, kosmik kemani Erdan Zuhro sayyorasiga eng qulay trayektoriya bo‘yicha uchirish masalasini hal qilish talab qilingan bo‘lsin.
Birinchi navbatda, qo‘yilgan masala turli soha mutaxassislari tomonidan atroflicha o‘rganilishi va bu jarayonni ifodalaydigan eng muhim bo‘lgan asosiy parametrlarni aniqlash kerak bo‘ladi (1.1.- rasm, 1-blok). Masalan, fizik-astronom muhandis tomonidan masala qo‘yilishining o‘rinli ekanligi, ya’ni sayyoralar orasidagi masofa va atmosfera qatlamlarining ta’siri, yerning tortish kuchini engib o‘tish va kemaning og‘irligi, zarur bo‘lgan yoqilg‘ining optimal miqdori va kosmik kemani qurishda qanday materiallardan foydalanish zarurligi, inson sog‘lig‘iga ta’siri va sarflanadigan vaqt va yana turli tuman ta’sirlarni hisobga olgan holda shu masalaning matematik modelini tuzish zarur bo‘ladi. Zikr etilgan ta’sirlarni va fizika qonunlarini hisobga olgan holda bu masalani ifodalaydigan muayyan differensial yoki boshqa ko‘rinishdagi modellovchi tenglama hosil qilish mumkin bo‘ladi. Balki bu masalani bir nechta alohida masalalarga ajratib o‘rganish maqsadga muvofiqdir. Bu matematik modelni o‘rganish asosida mazkur masalani ijobiy hal qilish yoki hozirgi zamon sivilizatsiyasi bu masalani yechishga qodir emas degan xulosaga ham kelish mumkin. Ushbu fikrlar, yuqorida keltirilgan sxemaning 2-blokiga mos keladi.
Faraz qilaylik, matematik model ishlab chiqildi. Endi uni kompyuter vositasida yechish masalasi paydo bo‘ladi. Bizga ma’lumki, kompyuter faqat 0 va 1 diskret qiymatlar va ular ustida arifmetik va mantiqiy amallarni bajara oladi xolos. SHuning uchun matematik modelga mos diskret modelni qurish zaruriyati tug‘iladi (3-blok). Odatda, matematik modellarga mos keluvchi diskret modellar ko‘p noma’lumli murakkab chiziqsiz algebraik tenglamalar sistemasi (chekli ayirmali tenglamalar-sxemalar) ko‘rinishida bo‘ladi (4-blok). Endi, hosil bo‘lgan diskret modelni sonli yechish usuli – algoritmini yaratish zarur bo‘ladi. Algoritm esa tuziladigan dastur uchun asos bo‘ladi (5-blok). Odatda, tuzilgan dasturni ishchi holatga keltirish uchun uning xato va kamchiliklarini tuzatish – sozlash zarur bo‘ladi (6-blok). Olingan sonli natijalar hali dasturning to‘g‘ri ishlayotganligiga kafolatini bermaydi. SHuning uchun olingan natijalarni masalaning mohiyatidan kelib chiqqan holda tahlil qilish kerak bo‘ladi (7-blok). Agar olingan natija o‘rganilayotgan jarayonni ifodalay olmasa, masalani 1.1- rasmdagi sxema asosida qaytadan ko‘rib chiqish va zarur bo‘lgan joylarda o‘zgartirishlar kiritish kerak bo‘ladi. Bu jarayon to kutilgan ijobiy yoki salbiy natija olinguncha davom ettiriladi va bu takrorlanuvchi jarayon hisoblash eksperimenti deb ataladi. Odatda, hisoblash eksperimenti deganda, soddaroq holda, model, algoritm va dastur uchligini (triadasini) tushunish mumkin (1.2-rasm).