-Mavzu: ALGORITMLARNI GRAFIK IFODALSH

11-Mavzu: ALGORITMLARNI GRAFIK IFODALSH
VOSITALARI
Reja:
Chiziqli hisoblash jarayonlari
Tarmoqlangan hisoblash jarayonlari
Davriy hisoblash jarayonlari
Tayanch so’z va iboralar: Chiziqli, tarmoqlangan, davriy hisoblash jarayonlari
Algoritmlar asosan quyidagi sxemada keltirilgan tartib bo‘yicha tasniflanadi
Bularni birin-ketin ko‘rib chiqamiz.
Chiziqli tuzilishdagi algoritm
Chiziqli tuzilishdagi algoritmlar umuman mantiqiy shartlarni o‘z ichiga olmagan bo‘lib, har bir qadam bir marotaba va ketma-ket bajariladi
Bu yerda A1, A2, .., An ketma-ket bajariladi va algoritm o‘z ishini tugatadi.
Tarmoqlanuvchi tuzilishdagi algoritm
Tarmoqlanuvchi tuzilishdagi algoritmlarda kamida bitta mantiqiy shart bo‘lishi kerak. Ushbu shartning qiymati bajarilishi lozim bo‘lgan ketma-ketlikni o‘zgartirishi mumkin bo‘ladi. Masalan
Ushbu algoritmda agarda 1-shart bajarilsa A1,A2,A5 qadamlar bajariladi.
Agarda 1-shart bajarilmasa va 2-shart bajarilsa bu holda A3 va A5 qadamlar bajariladi. Agarda 1 va 2-shartlar bajarilmasa bu holda A4 va A5 qadamlar bajariladi.
Tarmoqlanuvchi algoritmlarda barcha yo‘nalishlari ohiri oqibat bir nuqtaga tutashishi shart.
Takrorlanuvchi tuzilishdagi algoritm
Ba’zi-bir algoritmlarda bajarilishi lozim bo‘lgan qadamlar takrorlanishi talab qilinadi. Ushbu jarayon sikl deb ataladi va bevosita ma’lum-bir shartni bajarilishi bilan bog‘lanadi. Ya’ni agar shart bajarilsa hisoblash jarayoni takrorlanadi aks holda sikl tugatiladi. Masalan
Keltirilgan a) va b) variantlarda sikllar bir-biridan tubdan farq qiladi. Chunki a) variantida shart bajarilgan holatda A bandi bajariladi, aks xolda ushbu band umuman bajarilmaydi. Ikkinchi sikl b) variantida esa, shartning qiymati qanday bo‘lishidan qat’iy nazar, kamida bir marotaba A bandi bajariladi. Ushbu ko‘rinishdagi takrorlanuvchi algoritmlar iteratsion algoritmlar deb ataladi.
Misol sifatida Yevklid algoritmini to‘liq keltiramiz
Lekin ba’zida takrorlanuvchi tarkibni maxsus sikl yasovchilar yordamida tuzilishi mumkin va undagi qadamlar sonini aniqlash mumkin bo‘ladi.
Bu yerda keltirilgan “A” bandi siklning sarlavhasi deb atalmish parametrlarga bog‘liq bo‘ladi, ya’ni i=k,m,n larga. Masalan i=1,10,1 bo‘lsa “A” qadami 10 marta bajarilgan bo‘ladi.
Ushbu ko‘rinishdagi takrorlanuvchi algoritmlar esa siklik algoritmlar deb ataladi.
Ba’zida cheksiz ko‘rinishdagi algoritmlardan foydalanish ehtiyoji paydo bo‘ladi. Ushbu ko‘rinishlagi algoritmlarni, masalan, quyidagi yaratish mumkin
Bu yerda keltirilgan 1-shart, ya’ni “1>0” doimo bajariladi, shundan so‘ng “A” qadami bajarilib, 2-shartga o‘tiladi. Ushbu 2-shartda jarayondan chikib ketish albatta bo‘lishi kerak, aks holda jarayon cheksiz bajariladi va bu algoritmni noto‘g‘ri tuzilganidan dalolat beradi. Yana bu yerda “B” band umuman bajarilmaydi.
Siklik algoritmlarda ham cheksiz jarayonni yaratish mumkin. Lekin xulosa qilib shuni ta’kidlash zarurki, har kanday cheksiz jarayondan albatta undan chiqish usuli bo‘lishi shart.
Takrorlanuvchi algoritmlarning ya’ni bir xususiyati mavjud, bu ham bo‘lsa ularning bir-biriga nisbatan joylashuvi. Masalan bizga 2 ta takrorlanuvchi algoritmlar berilgan va ularni sxematik ravishda quyidagicha tasvirlaymiz
Bu yerda keltirilgan variantlardan 1- va 3-rasmlarda keltirilgan algoritmlarga o‘rin bor. 2-rasmda keltirilgan algoritm, ya’ni ikki sikl bir-biri bilan kesishganda, ushbu holat xatoga olib keladi.
Yuqorida keltirilgan misollardan shunday xulosa qilish mumkin. Har qanday takrorlanuvchi, ya’ni siklik algoritmlar bitta kirish va bitta chiqish nuqtasiga ega bo‘ladi.
Umuman, har qanday algoritmni yuqorida keltirilgan 3 ta tipli algoritmlardan yasash mumkin.
Bu esa o‘z navbatida algoritmlarni yig‘ish imkonini yaratadi, ya’ni masala kichik masalalarga bo‘linadi va ular uchun alohida algoritmlari bloklari tuziladi va keyinchalik ular ketma-ket bir-biri bilan bog‘lanadi. Ba’zida ular bir-birini tarkibiga kirishi mumkin.
Asosan katta loyihalarda ushbu texnologiya qo‘llaniladi. Ya’ni, masalaning umumiy blok-sxemasi yaratiladi va ulardagi qadamlar birin-ketin tuzilib dasturga qo‘shilib boriladi. Ushbu texnologiyani qismlash deb atasak bo‘ladi, chunki ular uchun yaratiladigan dasturni qism dastur deb atashishadi. Bu yerda oldindan yaratilgan algoritmlarni qo‘llash imkoni tug‘iladi, qaysikim dasturlovchining qimmatli vaqtini tejashga olib keladi.
|