Agar biror masalani yechish uchun zarur bo‘lgan amallar ketma-ketligining ma’lum bir qismibiror parametrga bog‘liq holda ko‘p marta qayta bajarilsa, bunday jarayon takrorlanuvchialgoritm deyiladi. Takrorlanuvchi algoritmlarga misol sifatida odatda qatorlarning yig‘indisi yokiko‘paytmasinihisoblash jarayonlarini qarashmumkin.
misol.Birdanngachabo‘lgannaturalsonlarningyig‘indisinihisoblashalgoritminituzaylik.Masalaningmatematik modeli quyidagicha:
n
S =1+2 +3+...+n =∑i
i=1
Bu yig‘indini hisoblash uchun, avvalo, natiga boshlangich qiymatini S=0 va indeksningboshlangich qiymatini i =1 deb olamiz va joriy amallar S = S + i va i = i + 1 hisoblanadi. Bu erdabirinchi va ikkinchi qadamlar uchun yig‘indi hisoblandi va keyingi qadamda i parametr yanabittaga orttiriladi va navbatdagi qiymat avvalgi yig‘indi S ga qo‘shiladi. Mazkur jarayon shutartibda indeksning joriy qiymati i≤ n sharti bajarilmaguncha davom ettiriladi va natijada,izlangan yig‘indiga ega bo‘lamiz. Ushbu fikrlarni quyidagi so‘zlar orqali ifodalangan algoritmbilanifodalash mumkin:
kiritish(n);
S= 0 - natijaning boshlang‘ich qiymati;i=1-indeksningboshlang‘ichqiymati; S= S + i - natijaning joriy qiymatini hisoblang;i= i+1-indeksning joriy qiymatini hisoblang; agar(i≤ n)shartitekshirilsin vaubajarilsa=> (4); 7)muhrlash(S). Bujarayongamoskeladiganblok-sxemaningko‘rinishi1.13-rasmdatasvirlangan.
Yuqorida keltirilgan so‘zlar asosida ifodalangan algoritm va blok-sxemadan ko‘rinib turibdiki,amallarketma-ketliginingma’lum qismiparametriganisbatan nmarta takrorlanadi.
Ko‘paytmani hosil qilish algoritmi ham yig‘indini hosil qilish algoritmiga o‘xshash, faqatko‘paytmani hosil qilish uchun, avvalo, i=1 da P= 1 deb olinadi, so‘ngra i= i +1 da P= P∗imunosabatlar hisoblanadi. Keyingi qadamda i parametrning qiymati yana bittaga orttiriladi vanavbatdagiqiymatavvalgihosilbo‘lganko‘paytma -Pgako‘paytiriladi.Bujarayonshutartibda
Yuqoridako‘rilganyig‘indivako‘paytmalarningblok-sxemalaridagitakrorlanuvchiqismlariga(punktir chiziqlar ichiga olingan) 1.14 rasmdagi sharti keyin berilgan takrorlanuvchi strukturamoskelishini ko‘rish mumkin.
keltiriladi. Bu masalani yechishda algoritmning takrorlanuvchi qismiga quyidagi sharti oldinberilgantakrorlanuvchi strukturaning mos kelishiniko‘rish mumkin.
kiritish (n);S=0; i = 0; agar(i>n)=>(8);i = i +1; S=S +i ;
shartsizo‘tish=>(4);8) muhrlash(S). Bualgoritmgamosblok-sxema1.15-rasmda keltirilgan.
1.15-rasm. 1 dan n gacha bo‘lgan sonlar yig‘indisini hisoblash blok-sxemasi4-misol.Haqiqiyxsoniningnchidarajasinihisoblashmasalasiko‘riladi. Uningmatematikmodeli: q=xnko‘rinishgaega.
- ko‘paytirish jarayoni uchun boshlang‘ich qiymat berilishi: q = 1 ; - joriy natijani hisoblash: q =q * xifodabo‘yichaamalgaoshiriladi. Shunday qilib, x ning n chi darajasini hisoblash uchun takrorlanuvchi jarayonni tashkil etishblok-sxemasi1.16-rasmdakeltirilgan.
1.16-rasm.Hisoblashblok-sxemasi
misol.Quyidagimunosabatnihisoblashkerakbo‘lsin[2,55-56b.]:n x i
S =∑.
i=1i!
Munosabatniochib, quyidagi ko‘rinishda yozishmumkin: s= x1/1! +x2/2! +…+xn/ n! .
Masalani yechish algoritmida boshlang‘ich qiymat sifatida s=0 ni olamiz, chunki ifodadayig‘indibelgisimavjud.Yig‘indibelgisiostidagimunosabatkasrsonnianglatadi:suratda-xi,mahrajda-i
Yig‘indinihisoblashuchunSo‘zgaruvchidanfoydalanamizvauningboshlang‘ichqiymatidebS = 0 olinadi. So‘ngra indeksning i = 1 qiymatidan boshlab, uning i = i + 1 orttirmasi bilan to ( i <=n) shart bajarilgunchaS=S+aimunosabat qiymati ketma-kethisoblanadi.
Quyidagi algoritmda jarayon amallari bajarilishi ketma-ketligi keltiriladi:kiritish (n, ai);