Algoritm tushunchasi va uning xossalari Hisoblash jarayonlarini grafik tasvirlash Dasturlash tillari haqida umumiy ma’lumot

|
Algoritm tushunchasi va uning xossalari Hisoblash jarayonlarini grafik tasvirlash Dasturlash tillari haqida umumiy ma’lumot
|
Sana | 14.01.2024 | Hajmi | 25,34 Kb. | | #137115 |
Bog'liq Algoritmlash va dasturlashning asosiy tushunchalari
Mavzu: Algoritmlash va dasturlashning asosiy tushunchalari.
REJA:
Algoritm tushunchasi va uning xossalari
Hisoblash jarayonlarini grafik tasvirlash
Dasturlash tillari haqida umumiy ma’lumot
Algoritm tushunchasi va uning xossalari. Algoritm tushunchasi hozirgi zamon matematikasining eng keng qo‘llanilayotgan tushunchalaridan biri hisoblanadi. Algoritm so‘zi o‘rta asrda paydo bo‘lgan bo‘lib, Al-Xorazmiy nomi bilan bog‘liqdir. Hozirgi paytda o‘nlik sanoq sistemasida arifmetik amallarni bajarish usullarini hisoblash algoritmi soddagina bo‘lgan misol sifatida keltirsa bo‘ladi. Ma’lumki, inson kundalik turmushida turli-tuman ishlarni bajaradi. Har bir ishni bajarishda esa bir qancha elementlarni ketma-ket amalga oshirishga to‘g‘ri keladi. Mana shu ketma-ketlik yozilsa, u bajariladigan ishning algoritmi bo‘ladi.
Algoritm ma’lum bir buyruqlar to‘plami bo‘lib, bajaruvchi uchun aniq ko‘rsatmalarni o‘z ichiga mujassamlashtiradi. Ushbu buyruqlar bajaruvchiga ko‘rsatilgan maqsadga erishish uchun asos bo‘lishi kerak.
Demak, qo‘yilgan masalani bajarish ma’lum ketma-ketlikda elementlarni ijro etish orqali erishiladi. Bunda algoritmni bajaruvchi algoritm ijrochisi hisoblanadi. Umuman, uni 2 guruhga ajratish mumkin:
1-guruh algoritmlarining ijrochisi faqat inson bo‘lishi mumkin.
2-guruh algoritmlarining ijrochisi ham inson, ham kompyuter bo‘lishi mumkin.
Bu guruh algoritmlari ijrochisini kompyuter zimmasiga yuklash mumkin. Buning uchun algoritmni kompyuter tushunadigan biror dasturlash tilida yozib, keyin uning xotirasiga kiritish kifoya.
Umuman olganda ijrochi algoritmda mavjud maqsadni bilmaydi. U bevosita keltirilgan buyruqlarni bajaradi. Informatikada algoritmlarning ijrochisi kompyuter deb hisoblanadi. Shunday qilib, biz, algoritm deganda, berilgan masalani yechish uchun ma’lum tartib bilan bajarilishi lozim bo‘lgan chekli sondagi ko‘rsatmalar ketma-ketligini tushunamiz.
Algoritmlarni yozish uchun qo‘llaniladigan tillar algoritmik tillar deb ataladi. Algoritmik tilni kompyuter ham tushunsa, u holda bu til dasturlash tili deb ataladi. Demak, algoritmik yoki dasturlash tillari ham berilgan masalani yechish algoritmining yozish usullaridan biri hisoblanar ekan. Algoritmlarni o‘rganish davomida biz quyidagi asosiy tushunchalar bilan tanishamiz: algoritm, blok-sxema, chiziqli algoritmlar, tarmoqli algoritmlar, takrorlash jarayonlari, iteratsion jarayonlar.
Biror masalani kompyuterda yechishda eng muhim va ma’suliyatli ishlardan biri bu masalani yechish algoritmini yaratish bo‘lib, bu jarayonda bajarilishi lozim bo‘lgan barcha bo‘lajak buyruqlar ketma-ketligi aniqlanadi. Algoritmda yo‘l qo‘yilgan xatoliklar hisoblash jarayonining noto‘g‘ri bajarilishiga olib keladi, bu esa, o‘z navbatida, xato natijaga olib keladi.
Umuman, istalgan masalaning yechimi deyilganda, masalani yechish algoritmi mavjudligi va ushbu algoritm natijaga erishishini ta’minlashi zarurligi tushuniladi.
Masalalarni, ularning qo‘yilishi bo‘yicha, 4 ta sinfga ajratish mumkin.
1. Aniq ta’riflangan va yechimga erishadigan algoritmlari mavjud masalalar. Ushbu sinfga doir masalalar bevosita to‘g‘ridan - to‘g‘ri kompyuterda bajariluvchi dasturlarga aylantirilishi mumkin.
2. Masala qo‘yilishida yoki uning yechimida noaniqliklar mavjud bo‘lib, algoritmda ushbu noaniqliklarni e’tiborga olish zaruriyati paydo bo‘ladi. Bu yerda asosan tashqi muhitning o‘zgarishi bilan algoritmning shunga moslanishi nazarda tutiladi.
3. Bilimlarni qayta ishlash doirasida berilgan idrokiy masalalar. Bu yerda mantiqiy tushunchalar bilan ishlay oladigan algoritmik tillarning mavjudligi va ular asosida kompyuter uchun dasturlar yaratish mumkinligi nazarda tutiladi.
4. Inson faoliyatiga bog‘liq masalalarni modellashtirishga qaratilgan bo‘lib, aniq yechish algoritmlari mavjud bo‘lmagan masalalar. Ya’ni inson faoliyatini ma’lum bir model doirasida dasturlash mumkinligi nazarda tutilgan bo‘lib, algoritm ushbu faoliyatni to‘liq qamrab ololmaydi, masalan, shaxmat o‘yini.
Berilgan masala algoritmini yozishning turli usullari mavjud bo‘lib, ular qatoriga so‘z bilan, blok-sxema shaklida, formulalar, operatorlar yordamida, algoritmik yoki dasturlash tillarida yozish kabilarni kiritish mumkin. Endi biror usulda tuzilgan algoritmning ayrim xossalarini va ularga qo‘yilgan talablarni ko‘rib chiqaylik.
1) Algoritm har doim to‘liq bir qiymatlidir, ya’ni uni bir xil boshlang‘ich qiymatlar bilan ko‘p marotaba qo‘llash har doim bir xil natija beradi.
2) Algoritm birgina masalani yechish qoidasi bo‘lib qolmay, balki turli-tuman boshlang‘ich shartlar asosida ma’lum turdagi masalalar to‘plamini yechish yo‘lidir.
3) Algoritmni qo‘llash natijasida chekli qadamdan keyin natijaga erishamiz yoki natijaga erishish mumkin emasligi haqidagi ma’lumotga ega bo‘lamiz.
Yuqorida keltirilgan xossalarni umumlashtirib, algoritmlarning quyidagi asosiy xossalarini ta’kidlash zarur.
1. Algoritm boshlang‘ich qiymatli argumentlarga ega bo‘ladi. Algoritmni bajarishdan maqsad bu natija olishdir, ya’ni algoritm boshlang‘ich qiymatlarni biror usul orqali natijaga aylantiruvchi avtomatdir. Demak, algoritmni qo‘yilgan masalaning har xil boshlang‘ich qiymatlari uchun qo‘llash mumkin. Lekin algoritmning ijrochisi inson bo‘lsa, boshlang‘ich qiymat ko‘rsatilmagan bo‘lishi ham mumkin, masalan, “qog’ozda kvadrat chizing”. Har xil boshlang‘ich qiymatlar ishlatilishi mumkin bo‘lganligi sababli algoritmning ommaviylik xossasi yuzaga keladi. Lekin ba’zi-bir hollarda faqatgina individual boshlang‘ich qiymatga mo‘ljallangan algoritm ham mavjud bo‘ladi.
2. Algoritm ijrochiga tushunarli bo‘lishi lozim, ya’ni ijrochining bazasida mavjud bo‘lgan buyruqlar qo‘llanilishi zarur. Shu bois, algoritmni yaratish jarayonida ijrochining imkoniyatlari va nozik tomonlari e’tiborga olinishi darkor.
3. Algoritm cheklangan qadamlar ketma-ketligidan iborat bo‘ladi va har bir qadam to‘liq bajarilgandan so‘ng keyingi qadamga o‘tiladi. Ushbu xossa algoritmning diskretli xossasi deb ataladi.
4. Algoritm chekli qadamlar bajarilgandan so‘ng tugatiladi. Ya’ni chekli qadamlardan so‘ng algoritm natijaga erishishi kerak yoki natija olish mumkin emasligi aniqlanishi lozim. Ushbu xossa algoritmning natijaviylik xossasi deb ataladi.
5. Algoritmning har bir qadami aniq ta’riflangan bo‘lib, ko‘p ma’noli bo‘lishi mumkin emas. Ya’ni har bir qadamdan so‘ng keyingi qadam aniqlangan bo‘lishi yoki algoritm tugatilishi kerak.
Algoritmning ushbu xossasi aniqlik xossasi deb yuritiladi va algoritmni bevosita kompyuterda bajarish uchun imkon beradi.
Ushbu xossaga binoan, bir xil boshlang‘ich qiymatlar bilan bajariladigan algoritm doimo bir xil natijaviy qiymatlar bilan tugallanadi.
6. Algoritmning har bir qadami aniq va chekli vaqt davomida bajarilishi lozim. Ushbu xossa algoritmning effektivligi deb yuritiladi.
Algoritmning har bir qadamida bajariladigan ko‘rsatma buyruq deb aytiladi. Ushbu buyruqlar nafaqat chekli vaqt davomida, balki qisqa vaqt mobaynida tugatilishi lozim. Bunday shartlar barcha olimpiada masalalarida doimo keltiriladi.
Algoritm deganda, biror maqsadga erishishga qaratilgan ijrochi baja- ” rishi uchun mo'ljallangan ko‘rsatma (buyruq)larni aniq, tushunarli va chekli ketma-ketligi tushuniladi. Bu algoritm tushunchasining matematik ta'rifi bo’lmasa ham intuitiv ma'noda algoritmning mazmunini ochib beruvchi tavsifidir. Algoritmni intuitiv ma’noda bir necha misollarda izohlaymiz. Biror-bir narsani taqiqlovchi qoidalar algoritm bo’lolmaydi, masalan: «Chekish mumkin emas», «Begonalarning kirishi taqiqlanadi», «Kirish», «Chekish uchun joy» kabi birorbir narsaga ruxsat etuvchi qoidalar ham algoritmga xos emas. Lekin «Svetoforni yashil rangida o‘ting» juda sodda bo'lsa ham algoritmdir.
Algoritmlash asoslarini o‘rganishning yana bir qutay grafik shakli — blok-sxema usulidir. Blok-sxemalar bir yoki bir nechta buyruq yoki ko'rsatmani aks ettiruvchi maxsus geometrik shakllar — bloklardan tashkil topadi. Bloklar yo'nalish chiziqlari orqali tutashtiriladi
Avval aytib o'tilganidek, algoritmda boshlang'ich qiymatlar o‘miga ularning nomlari ishtirok etishi mumkin va bu algoritmning ommaviylik xossasiga aloqadorligini bildiradi. Bu masalada ham radiuslar guruhi R nomi bilan berilmoqda va uning joiz boshlang'ich qiymati ixtiyoriy haqiqiy son bo'lishi mumkin. Eslatib o'tamiz, algoritmda turli nomlar ishtirok etishi va ular boshlang'ich qiymatlar va natijalar nomi bo‘lishi ham mumkin. Masalaning quyida keltirilgan yechimidagi S nomi masalani yechimi bo'ladigan natijalar guruhining nomidir. 5. Algoritmning dastur shaklida ifodalanishi Ma'lumki, kompyuter dasturlar asosida ishlaydi va boshqariladi. Siz hozirgacha MS Word, MS Paint va MS Excel kabi amaiiy dasturlar bilan ishladingiz. Lekin har bir amaliy dastur ham juda katta va murakkab algoritmning bir ko‘rinishidir. Demak, bu kabi algoritmlar bajarilishi uchun ular algoritm ijrochisiga, ya’ni kompyuterga tushunarli bo‘lishi lozim. Odatda, algoritmning kompyuter tushunadigan tilda yozilishi dastur deb ataladi. Kompyuter tushunadigan til esa dasturlash tili deb ataladi. Jahonda hozirgi kunda minglab dasturlash tillari mavjud va yana rivojlanib bormoqda. Hozirgi kunda keng tarqalgan va o'rganish uchun qulay bo'lgan BASIC, Pascal, VBA, Delphi, C dasturlash tillari o‘rganiladi. Qo‘llanmada, asosan, algoritmuk tafakkurning rivojlan- tirishini maqsad qilib qo‘ygan bo‘lsakda, algoritm to‘g‘risida tasavvuringizni kengaytirish maqsadida yana ba’zi ma'lumotlarni berishni lozim topdik. Har qanday algoritm mantiqiy tuzilishiga, ya'ni bajarilishiga qarab uch asosiy turga bo‘linadi: chiziqli (ketma-ketlik), tarmoq- lanuvchi va takrorlanuvchi. Algoritmikada bu algoritmlar asosida turli-tuman yangi algoritmlar hosil qilinadiki, ular ham o‘z navbatida mustaqil ahamiyatga ega bo'ladi.
Chiziqli algoritmlar. Bu turdagi algoritmlarda hech qanday shart tekshirilmaydi. Shu sababli barcha ko‘rsatmalar ketmaket bajarib boriladi. «G‘ishtlar sonini hisoblash», «Doira yuzini hisoblash» algoritmlari chiziqli algoritmlarga misol bo'ladi. Lekin hayotimizdagi juda ko‘p jarayonlar shartlar asosida boshqariladi. Shartga muvofiq bajariladigan ko‘rsatmalar ishtirok etgan algoritmlar tarmoqlanuvchi algoritmlar deb ataladi. Algoritmlarning bu turi hayotimizda har kuni va har qadamda uchraydi. Eshikdan chiqishimiz eshik ochiq yoki yopiqligiga, ovqatlanishimiz, qornimiz och yoki to‘qligiga yoki taomning turiga, ko'chaga kiyinib chiqishimiz ob-havoga, biror joyga borish uchun transport vositasini tanlashimiz to‘lash imkoniyatimiz bo'lgan pulga bogMiqdir. Demak, tarmoqlanuvchi algoritmlar chiziqli algoritmlardan tanlash imkoniyati bilan farqlanar ekan. Avval yoritilgan «Ko‘chadan o‘tish», «Kvadrat tenglamani yechish» algoritmlari ham tarmoqlanuvchi algoritmlarga misol bo‘ladi.
Alifbo — aniq bir til uchun asosiy belgilar ro‘yxati, ya’ni shu tildagi matnlarni yozish uchun qo’llaniladigan «alifbo harflari» — boshqa belgini qo’llash mumkin emas. Sintaksis — bu jumlalarni hosil qilish qoidasi bo’lib, biror jumlani to‘g‘ri yoki xato yozilganligini aniqlash uchun xizmat qiladi. Aniqroq qilib aytadigan bo’lsak, til sintaksisi shu tilda belgilarni ma'noga ega bo’ladigan biriktirishni aniqlab beruvchi qoidalar ro'yxati.
Semantika — jumla yoki gaplarning mazmunini aniqlaydi. Semantika hosil qilingan jumlalar yoki gaplarni qanday amallar ketma-ketligini aniqlab berishini ta'minlaydi. Qulay belgilashlarni o'ylab topish san'ati inson madaniyatida juda muhim ahamiyatga ega. Masalan, sonlarni belgilashni olaylik. Avvalgi bobda aytib o‘tilganidek, hammangiz sonlarni ustun ko‘rinishda qo‘shish va ko‘paytirishni bilasiz. Al-Xorazmiy tomonidan yoritib berilgan o‘nlik belgilash sistemasi bunga imkon beradi. Rim raqamlari orqali yozilgan sonlarni qo‘shib ko‘ring-chi, qo'shish masalasini hal etishda belgilashlar sizga hech qanday yordam bermayotganini ko‘rasiz. Yana, masalan, musiqani olaylik. Musiqa tovushlarini belgilash uchun notani o'ylab topib, musiqachilar ancha murakkab va qiziqarli musiqalarni yozish hamda tarqatish imkoniyatiga ega boMdilar. Shu kabi juda ko‘p misollarni keltirish mumkin. Algoritmikada qulay belgilashlar ham, albatta, yanada muhim ahamiyatga ega. Bunda uning o‘ziga xos tomonlari ham bor. Biz ham o‘z belgilash usulimizni kiritishdan avval ba’zi tomonlarga e'tibor berishimiz lozim bo'ladi. Yozish uchun lotin harflari va o‘nlik sanoq sistemasidagi raqamlardan foydalanamiz. Ko‘rsatmalar so‘zlar bo‘lib, ularni yozish uchun jumlalarga buyruq mazmunini beramiz. Bunda ularni qisqa va ma'noli bo'lishiga e'tibor beramiz. Misol uchun bir xil ma’noli quyidagi ko'rinishdagi jumlalami qarab chiqaylik: o‘ng tomonga yuring o‘ngga yuring o‘ngga yur Bularning barchasini ko'rsatma sifatida qabul qilish mumkin. Lekin biz faqat o‘ngga yur jumlasini tanlaymiz, ham qisqa, ham ma'noga ega, ham aniq amalni ifodalaydi. Qisqa yozish chog'ida juda ham berilib ketish kerak emas. Juda qisqa belgilashlar tushunarsiz bo'lishi mumkin.
Qonun va yo'riqnomalar bilan bo‘g‘liq har bir ishda yetuk Algoritmik Tafakkur zarur. Biroq boshqacha nuqtayi nazar ham mavjud. Qilishi kerak bo‘lgan ish — yo'riqnomani aniq bajarish boMgani uchun atom bomba tugmasi yonida nima uchun inson o'tirishi kerak? Uni kompyuter bilan almashtirish mumkindek ko‘rinadi. Baribir bu ishni insonga topshiramiz. Inson Ijrochi emas — u faqatgina buyruqlarni bajaribgina qolmay, balki mustaqil qaror qabul qiladi, javobgarlikni o‘z zimmasiga oladi.
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
Algoritm tushunchasi va uning xossalari Hisoblash jarayonlarini grafik tasvirlash Dasturlash tillari haqida umumiy ma’lumot
|