Algoritmning tasvirlash usullari.
Yuqorida ko‘rilgan misollarda odatda biz masalani yechish algoritmini so‘zlar va matematik formulalar orqali ifodaladik. Lekin algoritm boshqa ko‘rinishlarda ham berilishi mumkin. Biz endi algoritmlarning eng ko‘p uchraydigan turlari bilan tanishamiz.
Algoritmning so‘zlar orqali ifodalanishi. Bu usulda ijrochi uchun beriladigan har bir ko‘rsatma jumlalar, so‘zlar orqali buyruq shaklida beriladi.
Algoritmning formulalar bilan berilish usulidan matematika, fizika, kimyo kabi aniq fanlardagi formulalarni o‘rganishda foydalaniladi. Bu usulni ba’zan analitik ifodalash deyiladi.
Algoritmlarning grafik shaklida tasvirlanishida algoritmlar maxsus geometrik figuralar yordamida tasvirlanadi va bu grafik ko‘rinishi blok-sxema deyiladi.
Algoritmning jadval ko‘rinishda berilishi. Algoritmning bu tarzda tasvirlanishdan ham ko‘p foydalanamiz. Masalan, maktabda qo‘llanib kelinayotgan to‘rt xonali matematik jadvallar yoki turli xil lotereyalar jadvallari. Funksiyalarning grafiklarini chizishda ham algoritmlarning qiymatlari jadvali ko‘rinishlaridan foydalanamiz. Bu kabi jadvallardan foydalanish algoritmlari sodda bo‘lgan tufayli ularni o‘zlashtirib olish oson.
Yuqorida ko‘rilgan algoritmlarning tasvirlash usullarining asosiy maqsadi, qo‘yilgan masalani yechish uchun zarur bo‘lgan amallar ketma-ketligining eng qulay holatinni aniqlash va shu bilan odam tomonidan programma yozishni yanada osonlashtirishdan iborat. Aslida programma ham algoritmning boshqa bir ko‘rinishi bo‘lib, u insonning kompyuter bilan muloqotini qulayroq amalga oshirish uchun mo‘ljallangan.
Blok-sxemalarni tuzishda foydalaniladigan asosiy sodda geometrik figuralar quyidagilardan iborat:
Nоmi
|
Bеlgilаnishi
|
Bаjаrаdigаn vаzifаsi
|
Jаrаyon
|
|
Bir yoki bir nеchtа аmаllаrni bаjаrilishi nаtijаsidа mа’lumоtlаrning uzgаrishi
|
Kаrоr
|
|
Birоr shаrtgа bоglik rаvishdа аlgоritmning bаjаrilish yunаlishini tаnlаsh
|
SHаkl
uzgаrtirish
|
|
Dаsturni uzgаrtiruvchi buyruk yoki buyruklаr turkumini uzgаrtirish аmаlini bаjаrish
|
Аvvаl аniklаngаn
Jаrаyon
|
|
Оldindаn ishlаb chikilgаn dаstur yoki аlgоritmdаn fоydаlаnish
|
Kiritish
CHikаrish
|
|
Ахbоrоtlаrni kаytа ishlаsh mumkin bulgаn shаklgа utkаzish yoki оlingаn nаtijаni tаsvirlаsh
|
Displеy
|
|
EХMgа ulаngаn displеydаn ахbоrоtlаrni kiritish yoki chikаrish
|
Хujjаt
|
|
Ахbоrоtlаrni kоgоzgа chikаrish yoki kоgоzdаn kiritish
|
Ахbоrоtlаr оkimi chizigi
|
|
Blоklаr оrаsidаgi bоglаnishlаrni tаsvirlаsh
|
Bоglаgich
|
|
Uzilib kоlgаn ахbоrоt оkimlаrini ulаsh bеlgisi
|
Bоshlаsh
Tugаtish
|
|
Ахbоrоtni kаytа ishlаshni bоshlаsh, vаktinchа yoki butunlаy tuхtаtish
|
Izох
|
|
Blоklаrgа tеgishli turli хildаgi tushuntirishlаr
|
Blok-sxemalar bilan ishlashni yaxshilab o‘zlashtirib olish zarur, chunki bu usul algoritmlarni ifodalashning qulay vositalaridan biri bo‘lib programma tuzishni osonlashtiradi, programmalash qobiliyatini mustahkamlaydi. Algoritmik tillarda blok - sxemaning asosiy strukturalariga maxsus operatorlar mos keladi.
Shuni aytish kerakni, blok-sxemalardagi yozuvlar odatdagi yozuvlardan katta farq qilmaydi.
Misol sifatida ax2bxc0 kvadrat tenglamani yechish algoritmining blok-sxemasi quyida keltirilgan.
1-rasm. Kvadrat tenglamani yechish algoritmi
Chiziqli algoritmlar. Har qanday murakkab algoritmni ham uchta asosiy struktura yordamida tasvirlash mumkin. Bular ketma-ketlik, ayri va takrorlash strukturalaridir. Bu strukturalar asosida chiziqli, tarmoqlanuvchi va takrorlanuvchi hisoblash jarayonlarining algoritmlarini tuzish mumkin. Umuman olganda, algoritmlarni shartli ravishda quyidagi turlarga ajratish mumkin:
chiziqli algoritmlar;
tarmoqlanuvchi algoritmlar;
takrorlanuvchi yoki siklik algoritmlar;
ichma-ich joylashgan siklik algoritmlar;
rekurrent algoritmlar;
takrorlanishlar soni oldindan no’malum algoritmlar;
ketma-ket yaqinlashuvchi algoritmlar.
Faqat ketma-ket bajariladigan amallardan tashkil topgan algoritmlarga-chiziqli algoritmlar deyiladi. Bunday algoritmni ifodalash uchun ketma-ketlik strukturasi ishlatiladi. Strukturada bajariladigan amal mos keluvchi shakl bilan ko‘rsatiladi. Chiziqli algoritmlar blok-sxemasining umumiy strukturasini quyidagi ko‘rinishda ifodalash mumkin:
2-rasm. Chiziqli algoritmlar blok - sxemasining umumiy strukturasi
Tarmoqlanuvchi algoritmlar.Agar hisoblash jarayoni biror bir berilgan shartning bajarilishiga qarab turli tarmoqlar bo‘yicha davom ettirilsa va hisoblash jarayonida har bir tarmoq faqat bir marta bajarilsa, bunday hisoblash jarayonlariga tarmoqlanuvchi algoritmlar deyiladi. Tarmoqlanuvchi algoritmlar uchun ayri strukturasi ishlatiladi. Tarmoqlanuvchi strukturasi berilgan shartning bajarilishiga qarab ko‘rsatilgan tarmoqdan faqat bittasining bajarilishini ta’minlaydi.
3-rasm. Tarmoqlanishning umumiy ko‘rinishi
Berilgan shart romb orqali ifodalanadi, r-berilgan shart. Agar shart bajarilsa, "ha" tarmoq bo‘yicha a amal, shart bajarilmasa "yo‘q" tarmoq bo‘yicha b amal bajariladi.
Tarmoqlanuvchi algoritmga tipik misol sifatida quyidagi sodda misolni qaraylik.
1- Misol:
Berilgan x ning qiytmatiga bog‘lik holda, agar u musbat bo‘lsa «ha» tarmoq bo‘yicha yqx2 funksiyaning qiymati, aks holda y-x2 funksiyaning qiymati hisoblanadi.
4-rasm. Interval ko‘rinishidagi funksiya qiymatini hisoblash algoritmi
Ko‘pgina masalalarni yechishda, shart asosida tarmoqlanuvchi algoritmlarning ikkita tarmog‘idan bittasining, ya’ni yoki «ha» yoki «yo‘q» ning bajarilishi yetarli bo‘ladi. Bu holat tarmoqlanuvchi algoritmning xususiy holi sifatida aylanish strukturasi deb atash mumkin. Aylanish strukturasi quyidagi ko‘rinishga ega:
5-rasm. Aylanish strukturasining umumiy ko‘rinishi
|