while takrorlash operatori, operator yoki blokni tarorlash sharti yolg’on (false yoki 0) bo’lguncha takror bajaradi. U quyidagi sintaksisga ega:
while () ;
Agar rost qiymatli o’zgarmas ifoda bo’lsa, takrorlash cheksiz bo’ladi. Huddi shunday, takrorlash boshlanishida rost bo’lib, uning qiymatiga takrorlash tanasidagi hisoblash ta’sir etmasa, ya’ni uning qiymati o’zgarmasa, takrorlash cheksiz bo’ladi.
Huddi for operatoridek, ‘,’ yordamida da bir nechta amallar sinxron ravishda bajarish mumkin. Masalan son va uning kvadratlarini chop qiladigan dasturda ushbu holat ko’rsatilgan:
do-while takrorlash operatori while operatoridan farqli ravishda oldin operator yoki blokni bajaradi, keyin takrorlash shartini tekshiradi. Bu qurilma takrorlash tanasini kamida bir marta bajarilishini ta’minlaydi. do-while takrorlash operatori quyidagi sintaksisga ega:
do;
while ();
Bunday takrorlash operatorining keng qo‘llaniladigan holatlari - bu takrorlashni boshlamasdan turib, takrorlash shartini tekshirishning iloji bo‘lmagan holatlar hisoblanadi.
So’ng shartli tarorlanish operatori
Masalan, birorta jarayonni davom ettirish yoki to‘xtatish haqidagi so‘rovga javob olish va uni tekshirish zarur bo‘lsin. Hech bo‘lmaganda takrorlash jarayonining bitta qadami amalga oshirilgan bo‘lishi kerak:
#include
using namespace std;
int main()
{
char javob;
do
{ ... // программа танаси
cout<< "Jarayonni to’xtatish (N):_ ";
cin>>javob;
}
while(javob !=N);
return 0;
}
Bu operator ham cheksiz takrorlanishi mumkin: do { } while(1);
So’ng shartli takrorlanish blok-sxemasi
Boshlanish
Tamom
yo’q
ha
n <= 0
Sikl tanasi
Shart
“Xususiy jarayon” bloki
n
Qism dastur
So’ng shartli takrorlanish dasturi
int main()
{
long n;
do {
cout<< "Musbat sonni kiriting\n";
cin>>n;
…
}
while ( n <= 0 );
... }
Shart
Xossasi: Sikl tanasi har doim hech bo’lmaganda bir marta bajariladi
a = 4; b = 6;
do { a ++; } while (a <= b);
3 марта
a = 7
a = 4; b = 6;
do { a += b; } while ( a <= b );
1 марта
a = 10
a = 4; b = 6;
do { a += b; } while ( a >= b );
a = 4; b = 6;
do b = a - b; while ( a >= b );
2 марта
b = 6
a = 4; b = 6;
do a += 2; while ( a >= b );
Sikl ichiga tushish
Sikl ichiga tushish
Sikl necha marta takrorlanadi
Масала (нотўғри коддан ҳимоя воситаси билан)
Натурал сонни киритинг ва унинг рақамлари сони 10 га тенглигини текширинг.
Мисол:
Сонни киритинг>= 0: Сонни киритинг >= 0:
-234 1233
Мусбат сон керак. Йўқ
Сонни киритинг >= 0:
1234
Ҳа
Натурал сонни киритинг ва қандай сонлар бир неча марта такрорланаётганини текширинг.
Мисол:
Сонни киритинг>= 0: Сонни киритинг >= 0:
2323 1234
Тарорланяпти: 2, 3 такрорланиш йўқ.
http://acm.tuit.uz/forum
11:53
XULOSA
Xulosa o’rnida shuni ta’kidlab o’tish joizki, masalaning yechim go’yasiga asosan takrorlanish operatorlarining biridan yoki ichma-ich takrorlanishlarda har qaysidan foydalanish maqsadga mufoviq.