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. Masalan, birorta jarayonni davom ettirish yoki to‘xtatish
haqidagi so‘rovga javob olish va uni tekshirish zarur bo‘lsin. Ko‘rinib turibdiki,
jarayonni boshlamasdan oldin bu so‘rovni berishning ma’nosi yo‘q. Hech
bo‘lmaganda takrorlash jarayonining bitta qadami amalga oshirilgan bo‘lishi kerak:
#include
int main()
{
char javob;
do
{
…// programma tanasi
cout<<’’ jarayonni to’xtashish(N):_’’;
cin>>javob;
}
while(javob !=N)
return 0;
}
Programma toki “ jarayonni to’xtashish (N):_’’so’roviga (N)
javobi
kiritilmaguncha davom etadi.
Bu operator ham cheksiz takrorlanishi mumkin:
do; while (1);
Masala.
Har qanday 7 katta butun sondagi pul miqdorini 3 va 5 so‘mliklarda
berish mumkinligi isbotlansin. Qo‘yilgan masala p=3n+5m tenglamasi
qanotlantiruvchi m,n sonlar juftliklarini topish masalasidir (p-pul miqdori). Bu
shartning bajarilishini m va n o‘zgaruvchilarining mumkin bo‘lgan qiymatlarining
barcha kombinatsiyalarida tekshirish zarur bo‘ladi.
#include
int main()
mumkin bo‘lgan to‘la kombinatsiyasini amalga oshirish uchun ichma-ich
takrorlashlar amalga oshiriladi. Tashqi takrorlash n3 (3 so‘mliklar miqdori)
bo‘yicha, ichki takrorlash esa m5 (5 so‘mliklar miqdori) bo‘yicha,
toki bu
miqdordagi pullar qiymati pul qiymatidan oshib ketmaguncha davom etadi. Ichki
takrorlashda m5 o’zgaruvchisining har bir qiymatida «3*n3+5*m5==pu1» sharti
tekshiriladi, agar u o‘rinli bo‘lsa, yechim varianti sifatida n3 va m5 o’zgaruvchilar
qiymatlari chop etiladi.
Pul qiymati 30 so‘m kiritilganda, ekranga
0 ta 3 so’mlik +6 ta 5 so’mlikchop etiladi.
5 ta 3 so’mlik +6 ta 5 so’mlik
10 ta 3 so’mlik +0 ta 5 so’mlik
echim variantlari chop etiladi.