Yoki savol shaklida bo‘ladi. Masalan, «Kvadrat tenglamani yechish», «Dengizda nechta tomchi suv bor?», «Ikki karra ikki necha bo‘ladi?» kabi



Yüklə 0,69 Mb.
səhifə3/5
tarix24.08.2023
ölçüsü0,69 Mb.
#140374
1   2   3   4   5
Laboratoriya

Chiziqli algoritmlar



Har qanday murakkab algoritmni ham uch asosiy struktura yordamida tasvirlash mumkin. Bular ketma-ketlik, ayri va takrorlash strukturalaridir. Ushbu 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 algoritmlar;
ichma-ich joylashgan takrorlanuvchi algoritmlar;
rekurrent algoritmlar;


takrorlanishlar soni oldindan no’malum algoritmlar; - ketma-ket yaqinlashuvchi algoritmlar.



1.4-rasm. Chiziqli algoritmlar blok–sxemasining umumiy tuzilishi


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 tuzilishi 1.4-rasmda keltirilgan.



  • misol. Uchburchak tomonlarining uzunligi bilan berilgan. Uchburchakka ichki r va tashqi R

chizilgan aylanalar radiuslarini hisoblang.


Ichki chizilgan aylana radiusi r = (a+b+c)/2S, tashqi chizilgan aylana


4S radiusi R= formulalar orqali hisoblanadi. Bu yerda S - uchburchakning yuzi, a, abc


b, c uchburchak tomonlarining uzunliklari. Masala echimining blok-sxemasi 1.5-rasmda keltirilgan.





1.5-rasm. Uchburchakka ichki va tashqi chizilgan aylanalar radiuslarini hisoblash bloksxemasi



  • misol. Quyida keltirilgan munosabatni hisoblash algoritmini ko‘rib chiqaylik. Jarayon amallarni ketma-ket bajarilishidan iborat.



z x= 2 + sin(x + y) ,


bu yerda x = cos ( a – b ), y = ln ( a2 - x2 ), a = 0.7, b = 2.1. Bunda:


a, b - aniq qiymatga ega bo‘lgan boshlang‘ich ma’lumotlar; x, y - oraliq ma’lumotlar; z - natija.


Masalani yechish jarayoni chiziqli hisoblanadi, chunki boshlang‘ich ma’lumotlar kiritilgach, munosabatlarning qiymati dasturda joylashgan tartibda hisoblanadi, ya’ni dastlab x, so‘ng - y qiymati va nihoyat z natija hisoblanadi.


Mazkur jarayonning blok-sxemasi 1.6-rasmda keltirilgan.



1.6-rasm. Hisoblash blok-sxemasi

  • 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 jarayonlari tarmoqlanuvchi algoritmlar deyiladi. Tarmoqlanuvchi algoritmlarni tasvirlash uchun “ayri” tuzilmasi ishlatiladi. Tarmoqlanuvchi tuzilmasi berilgan shartning bajarilishiga qarab ko‘rsatilgan tarmoqdan faqat bittasining bajarilishi ta’minlanadi (1.7-rasm).





1.7-rasm. Tarmoqlanishning umumiy ko‘rinishi


Berilgan R-shart romb figurasi ichida tasvirlanadi. Agar shart bajarilsa, "ha" tarmoq bo‘yicha A- amal, aks holda (shart bajarilmasa) "yo‘q" tarmoq bo‘yicha V-amal bajariladi.



  • misol. Tarmoqlanuvchi algoritmga misol sifatida quyidagi sodda masala keltiriladi:



, agar x 0 у=


2x, aks holda.


Natijaviy qiymat y berilgan x ning qiytmatiga bog‘liq holda bo‘ladi: agar x0 shart rost bo‘lsa, tarmoq bo‘yicha y = x2 munosabatning qiymati, aks holda, y = 2*x munosabatning qiymati hisoblanadi. Bu masala bajarilishining so‘z bilan ifodalangan algoritmi quyidagicha:


agar ( x 0 ) shart bajarilsa, u holda u=x2, aks holda u=2*x.
Masala echimining blok-sxemasi 1.8-rasmda keltirilgan.



1.8-rasm. Interval ko‘rinishidagi funksiya qiymatini hisoblash blok-sxemasi
Ko‘pgina masalalarni yechishda, shart asosida tarmoqlanuvchi algoritmning ikki tarmog‘idan biri, ya’ni «rost» yoki «yolg‘on»ning bajarilishi etarli bo‘ladi. Bu holat tarmoqlanuvchi algoritmning xususiy holi sifatida qisqartirilgan strukturasi deb atash mumkin. Qisqartirilgan struktura blok-sxemasi quyidagi ko‘rinishga ega (1.9-rasm).



1.9-rasm. Qisqartirilgan strukturaning umumiy ko‘rinishi



  • misol. Berilgan x, u, z sonlari ichidan eng kattasini aniqlang. Ushbu masalaga mos matematik modelni quyidagicha tasvirlash mumkin: p= max{x, y,z}.



Berilgan x, y, z sonlardan eng kattasi p deb belgilangan. So‘zlar orqali ifodalangan algoritm asosida masala echimini quydagicha tasvirlash mumkin: 1) kiritish (x, y, z);


agar ( x > u ) bo‘lsa, u holda p = x, aks holda p = u; agar (r < z ) bo‘lsa, u holda p = z; 4) muhrlash (r).
Keltirilgan algoritmga mos blok-sxema 1.10-rasmda tasvirlangan.


Bu algoritmda, avva, x va y o‘zaro solishtiriladi, katta qiymatligi ega r ga yuklanadi. So‘ngra x va y larning kattasi deb aniqlangan r va z o‘zaro solishtiriladi. Agar r < z sharti bajarilsa, u holda eng katta qiymat p= z deb olinadi, aks holda boshqarish navbatdagi amalga uzatiladi. Natijada p da uchta qiymatdan eng kattasi aniqlanadi.



1.10-rasm. Berilgan x, y, z sonlar ichidan eng kattasini topish blok-sxemasi Ushbu masalani yechish algoritmining yana bir usulini ko‘rib chiqamiz. kiritish (x, y, z);


p = x;


agar (p < y ) bo‘lsa, u holda p= y; 4) agar (p < z ) bo‘lsa, u holda p= z; 5) muhrlash (r). Bu algoritmga mos blok-sxema 1.11-rasmda tasvirlangan.
Bu usulga asosan, avvalo sonlar ichida birinchisi eng kattasi deb faraz qilinadi, ya’ni p = x. So‘ngra har bir qadamda navbatdagi son – r ning qiymati bilan solishtiriladi va shart bajarilsa, u eng kattasi deb qabul qilinadi. Bu algoritmning afzalligi shundaki, uning asosida uchta va undan ko‘p sonlar ichidan eng kattasini (kichigini) topishning qulay imkoniyati mavjud.



1.11-rasm. Hisoblash blok-sxemasi



  • misol. Quyidagi ifoda bilan berilgan munosabatni hisoblang [2, 52 b.].



b x, agar x > 0,



Y = x + a, agar x < 0,


a + b, aks holda .


Bu misol natija x ning qiymatiga bog‘liq shart bilan berilgan va masala quyidagicha so‘zlar orqali ifodalangan algoritm asosida aniqlanadi: agar x > 0 bo‘lsa, u holda u = b - x bo‘ladi, aks holda; agar x < 0 bo‘lsa, u holda u = x + a, aks holda u = a+ b.


Avvalo, birinchi shart tekshiriladi va agar u bajarilsa, y = b - x amal


x + a, agar x < 0, bajariladi, aks holda Y = munosabat hisoblanadi.


a + b, aks holda .


Bu fikrlar quyidagi blok-sxemada o‘z aksini topgan (1.12-rasm).





1.12-rasm. Hisoblash blok-sxemasi
1   2   3   4   5




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin