Takrorlanuvchi jarayonlar va ularni dasturlash
Mavzu: Takrorlanuvchi jarayonlar va ularni dasturlash. Reja : 1. Takrorlanuvchi jarayonlar va ularni dasturlash. For, while va do operatorlari yordamida takrorlanishlarni dasturlash 1.1 Sikl operatorlari 1.2 O’tish operatorlari 2. Umumiy takrorlanish algoritmlari va ichma-ich takrorlanishlar . 2.1 C++tilida takrorlanuvchi jarayonlarni dasturlash 2.2 Continue operatori
Sikl operatorlari Oldingi shartli while operatori. Oldingi shartli while operatori quyidagi umumiy ko’rinishga egadir: while(ifoda) Operator Bu operator bajarilganda avval ifoda hisoblanadi. Agar uning qiymati 0 dan farqli bo’lsa operator bajariladi va ifoda qayta hisoblanadi. To ifoda qiymati 0 bo’lmaguncha sikl qaytariladi. Agar dasturda while (1); satr qo’yilsa bu dastur hech qachon tugamaydi. Misol. Berilgan n gacha sonlar yig’indisi. #include void main() { long n,i = 1,s = 0; scanf("%d",&n); while (i< = n ) s+ = i++; printf("\n s = %d",s); } Bu dasturda s+ = i++ ifoda s = s+i; i = i+1 ifodalarga ekvivalentdir. Quyidagi dastur to nuqta bosilmaguncha kiritilgan simvollar va qatorlar soni
hisoblanadi: #include int main() { int nc = 0,nl = 0; char c; while ((c = getchar())! = '.' ) { ++nc; if (c = = '\n') ++nl; }; printf("satrlar = %d simvollar = %d \n",nl,nc); return 0; } Keyingi shartli do-while operatori. Keyingi shartli do-while operatori umumiy ko’rinishi quyidagicha: do Operator while(ifoda) Sikl operatorining bu ko’rinishida avval operator bajariladi so’ngra ifoda hisoblanadi. Agar uning qiymati 0 dan farqli bo’lsa operator yana bajariladi va hokazo. To ifoda qiymati 0 bo’lmaguncha sikl qaytariladi.
Misol. Berilgan n gacha sonlar yig’indisi. #include <iostream> int main() { long n,i = 1,s = 0; scanf("%d",&n); do{ s+ = i++;} while (i< = n); printf("\n s = %d",s); return 0; } Bu dasturning kamchiligi shundan iboratki agar n qiymati 0 ga teng yoki manfiy bo’lsa ham, sikl tanasi bir marta bajariladi va s qiymati birga teng bo’ladi. Parametrli for operatori. Parametrli for operatori umumiy ko’rinishi quyidagicha: for( 1-ifoda;2- ifoda; 3-ifoda) Operator Bu operator quyidagi operatorga mosdir. 1-ifoda; while(2-ifoda) {
operator 3-ifoda } Misol. Berilgan n gacha sonlar yig’indisi. #include int main() { int n; scanf("%d",&n); int s = 0; for(int i = 1;i< = n; i++) s+ = i; printf("\n%d",s); return 0; } Siklda bir nechta schyotchikni qo’llanilishi. Parametrli for siklining sintaksisi unda bir nechta o’zgaruvchi - schyotchikni qo’llanilishiga, siklni davom etishini murakkab shartlarini tekshirishga va sikl schyotchiklari ustida ketma-ket bir nechta operasiyani bajarilishiga imkon beradi. Agarda bir nechta schyotchikka qiymat o’zlashtirilsa yoki ular o’rtasida bir nechta operasiya bajarilsa , bu ifodalar vergul bilan ajratilgan holda ketma – ket yoziladi.