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; }