Mavzu: Takrorlanuvchi jarayonlar haqida tushuncha va uning operatorlari


Download 46 Kb.
Sana25.06.2020
Hajmi46 Kb.
#121736
Bog'liq
2-mavzu


2-maruza

Mavzu: Takrorlanuvchi jarayonlar haqida tushuncha va uning operatorlari

Oldingi mavzuda sanab o’tilgan jarayonlardan biri, takrorlanuvchi jarayonlarni hisoblanadi. Takrorlanuvchi jarayonni shartli operatorlardan foydalanib ham tashkil qilsa bo’ladi, lekin bunday jarayonlarni hisoblashni takrorlash operatorlari yordamida amalga oshirish osonroq kechadi.

Takrorlash operatorlarining 3 xil turi mavjud:



  • parametrli takrorlash operatori;

  • do…while takrorlash operatori (Sharti keyin berilgan takrorlanish operatori);

  • while takrorlash operatori (Sharti oldin berilgan takrorlanish operetori).

Echilayotgan masalaning mohiyatiga qarab, dasturchi o’zi uchun qulay bo’lgan takrorlash operatorini tanlab olishi mumkin.

Parametrli takrorlanish operatori quyidagidan iborat:



for( int i = k1; i <= k2; i++)

yoki


for( int i = k2; i >= k1; i––)

bu yerda k1

Parametrli takrorlanish operatori aniq takrorlanishga ega bo’lgan dasturlar uchun dasturchiga qiyinchilik tug’dirmaydi.

Ko’pgina hollarda, takrorlanuvchi jarayonlardagi takrorlanishlar soni oldindan ma’lum bo’lmaydi, tsikldan chiqish esa ma’lum bir shartning bajarilishi yoki bajarilmasligiga bog’lik holda bo’ladi. Bu hollarda sharti keyin berilgan takrorlanish operatori yoki sharti oldin berilgan takrorlanish operatoridan foydalanish zarur. Agar tsikldan chiqish sharti, takrorlanuvchi jarayonning oxirida joylashgan bo’lsa, do…while() operatoridan, bosh qicmida joylashgan bo’lsa while() operatoridan foydalanish maqsadga muvofiqdir. SHarti keyin berilgan takrorlanish operatori kamida bir marta takrorlanadi, sharti oldin berilgan takrorlanish operatori umuman takrorlanmasligi ham mumkin.

Sharti keyin berilgan takrorlanish operatorining ko’rinishi quyidagicha:

do {



} while()

Sharti oldin berilgan takrorlanish operatorining ko’rinishi quyidagicha:



while() {



}

Ikkila holda ham shart yolg’on qiymat qabul qilsa, tsikl bajarilishidan to’htaydi. Agar shart rost bo’lsa, tsikl davom etadi.


Ichma – ich joylashgan takrorlanuvchi jarayonlar


Ichma – ich joylashgan takrorlanuvchi jarayonlar bu bir tsikl ichida bir yoki bir nechta tsikllar joylashuvidan tashkil topadi. Ichma – ich joylashgan tsikllarni dasturlashda takrorlanuvchi operatorlarning biridan yoki bir nechtasidan foydalanish tavsiya etiladi.

Amaliy qism:

1 – misol: 1 dan 100 gacha bo’lgan sonlarning yig’indisini toping.

Echilishi: Yuqorida berilgan masalani yechishda oldingi rejada berilgan operatorilardan foydalanamiz.

Parametrli takrorlanish operatori yordamida yechilishi:



#include

using namespace std;

int main()

{

int s = 0;

for(int i = 1; i <= 100; i++){ s+=i; }

cout<<"Yig'indi: "<

return 0;

}

Sharti oldin berilgan takrorlanish operatori yordamida yechilishi:



#include

using namespace std;

int main()

{

int s = 0, i = 1;

while (i<=100)

{

s += i; i++;

}

cout << "Yig'indi: " << s << endl;

return 0;

}

Sharti keyin berilgan takrorlanish operatori yordamida yechilishi:



#include

using namespace std;

int main()

{

int s = 0, i = 1;

do

{

s += i;

i++;

}

while(i<=100);

cout<<"Yig'indi: "<

return 0;

}

Natija:




2 – misol: ni hisoblang.

Bu misolga e’tibor berib qarasak, summa va ko’paytma ichma – ich joylashgan takrorlanish bilan takrorlanadi va quyidagi ketma – ketlikni hosil qiladi. Agar summa belgisi 1 dan 10 gacha takrorlansa, u holda ko’paytma belgisi quyidagicha takrorlanadi:

i = 1 da j 1 dan 2 gacha takrorlanadi: 1·2

i = 2 da j 2 dan 4 gacha takrorlanadi: 2·3·4

………

i = 10 da j 10 dan 20 gacha takrorlanadi: 10·11·12·13·14·15·16·17·18·19·20



1·2+2·3·4+3·4·5·6+…+10·11·…·19·20

#include

using namespace std;

int main()

{

long long s,p;

s = 0;

for (int i = 1; i <= 10; i++)

{

p=1;

for(int j = i; j <= 2*i; j++)

p*=j;

s+=p;

}

cout<<"Yig'indi: "<

return 0;

}

Natija:




3 – misol: funktsiya berilgan. Bu funktsiyani qiymatlari oraliqda 1 qadamda va oraliqda 0,5 qadamda hisoblang. Bu funktsiyaning barcha tugunlardagi qiymatlarini ekranda chiqarish sharti quyilmoqda. Buning dasturi quyidagicha:

#include

using namespace std;

int main()

{

float x,y,t;

t = 1;

while(t <= 3)

{

x = 1;

while(x <= 4)

{

y=t*x*x+t*x-5;

printf("t = %5.2f, x = %5.2f, y = %7.2f\n",t,x,y);

x += 1;

}

t += 0.5;

}

return 0;

}

Topshiriqlar:

for operatori orqali dasturini tuzing.

1. k va n butun sonlari berilgan (n>0). K sonini n marta chiqaruvchi dastur tuzing.

2. a va b butun sonlari berilgan (a < b). a va b sonlari orasidagi barcha butun sonlarni chiqaruvchi dastur tuzing.

3. a va b butun sonlari berilgan (a < b). a dan b gacha bo’lgan barcha butun sonlar yig’indisini chiqaruvchi dastur tuzing.

4. a va b butun sonlari berilgan (a < b). a dan b gacha bo’lgan barcha butun sonlar ko’paytmasini chiqaruvchi dastur tuzing.



5. a va b butun sonlari berilgan (a < b). a dan b gacha bo’lgan barcha butun sonlar kvadratlarining yig’indisini chiqaruvchi dastur tuzing.
Download 46 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling