Nazorat va muhokama uchun savollar
1. Takrorlanuvchi hisoblash jarayoni deb qanday jarayonga aytiladi?
2. Takrorlanuvchi hisoblash jarayonlarining algoritmi qanday qismlarni o‗z
ichiga oladi?
3. Takrorlanuvchi jarayon tanasi va takrorlanish o‗zgaruvchisi haqida
tushuncha bering.
4. Takrorlanuvchi hisoblash jarayonlari algoritmlarining turlarini aytib bering.
5. Avval sharti tekshiriladigan takrorlanish jarayonini tashkil qilish tartibini
tushuntirib bering.
6. Sharti keyin tekshiriladigan takrorlanish jarayonini tashkil qilish tartibini
tushuntirib bering.
7. Parametrli takrorlanish jarayoni qanday xususiyatlarga ega?
106
11-bob. MURAKKAB TAKRORLANUVCHI HISOBLASH JARAYONLARNI
DASTURLASH
11.1. Murakkab takrorlanuvchi hisoblash jarayonining tushunchasi.
11.2. Ma’lumotlar massivi haqida tushuncha.
11.3. Massiv elementlarini saralash bo‘yicha dasturlarni tuzish.
11.4. Massivda eng kichik elementni izlash algoritmining dasturi.
11.1. Murakkab takrorlanuvchi hisoblash jarayonining tushunchasi
Agar takrorlanish jarayonlarining tanasi takrorlanish strukturasidan tashkil
topgan bo‗lsa, u holda bunday takrorlanish ichma-ich joylashgan yoki murakkab deb
ataladi, ya'ni boshqacha qilib aytganda, bitta takrorlanish ichiga bir yoki bir necha
boshqa takrorlanishlar kirsa murakkab tarkibli takrorlanishli dasturlar hosil bo‗ladi.
Boshqa takrorlanish jarayonlarini o‗z ichiga olgan takrorlanish tashqi sikl deb
ataladi.
Takrorlanish jarayonlarini ichida joylashgan takrorlanish ichki sikl deb ataladi.
Murakkab sikllarda quyidagi talablar bajarilishi zarur.
ichki sikl tashqi sikl ichida to‗liq yotishi kerak;
tsikllar bir-biri bilan kesishmasligi kerak;
tsikl ichiga tashqaridan to‗g‗ridan-to‗g‗ri kirish mumkin emas;
tsikl parametrlari har xil identifikatorlar bilan belgilanishi kerak.
Masala:
n
i
n
j
j
i
S
1
1
2
)
(
ko‗rinishidagi yig‗indi va ko‗paytmalar ishtirok etgan
formula bo‗yicha S ning qiymatini hisoblash algoritmini tuzish talab etilsin.
Buni biz yuqorida tanishgan yig‗indini hisoblash algoritmi yordamida
hisoblashimiz mumkin. Buning uchun
i
j
j
i
P
1
2
)
(
deb belgilasak, u holda
n
i
P
S
1
yozuvga ega bo‗lamiz. hisoblash algoritmi quyidagi tartibda amalga
oshiriladi. S ga 0 boshlanhich qiymat beriladi, i - parametri bo‗yicha sikl ochiladi. P
107
ga 1 qiymat beriladi, undan keyin j-parametri bo‗yicha sikl ochiladi. Ichki sikl
hisoblanadi, ichki sikl tugagandan keyin tashqi sikl (i-bo‗yicha) hisoblash ya'ni
S=S+P amalga oshiriladi. Sikl irekursiyadan (olinadigan natijadan foydalanib keyingisini hosil qilish) foydalanib
ichma-ich joylashgan siklik jarayondan qutilish mumkin.
Masalan:
n
i
i
i
S
1
)!
1
2
(
yig‗indini hosil qilish algoritmini tuzish uchun
1
2
1
)!
1
2
(
i
j
j
i
deb yozib olinadi. U holda,
n
i
i
j
j
i
S
1
1
2
1
/
ga ega bo‗lamiz.
Bu esa yig‗indi va ko‗paymani hisoblash algoritmini qo‗llashga keltiriladi.
Bu operator ichma-ich joylashgan sikl jarayoni bo‗lib, n ning katta qiymatlari
uchun hisoblash ko‗p vaqt talab etadi. i- ning har bir qiymati uchun ichki siklda
arifmetik amallar soni oshib boradi. Bu kamchilikdan qutulish uchun rekursiyani
qo‗llaymiz T=1!=1 deb olsak, bu holda T=(2i+1)!=1*2…….(2*i)*(2i+1) ga ega
bo‗lamiz.
Misol.
Y=K 2+3A hisoblansin.
K=1- 5 h=1
A=2- 10 h=2
Program kap (input,output);
Var k,a,y:integer;
Begin
For k: =1 to 5 do
Begin
a:=2 ;
While a<=10 do
Begin
Y:=k*k+3*a;
Writeln ('k=',k: 3:3; ' a= ',a: 3 : 3; ' y= ', y :3:3);
a:=a+2;
|