Do-while takrorlash operatori




Download 1,81 Mb.
Pdf ko'rish
bet19/33
Sana07.06.2024
Hajmi1,81 Mb.
#261447
1   ...   15   16   17   18   19   20   21   22   ...   33
Bog'liq
e6077933-4123-4774-8cff-1eae13c7f186

 
Do-while takrorlash operatori:
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. 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() 



unsigned int pul; //pu1- kiritiladigan pul miqdori
unsigned n3,m5; //n-3 so’mliklar , m-5 so’mliklar soni 
bool xato=fa1se; //pu1 qiymatini kiritilgandagi xatolik
do 

if (xato) cout<<’’kiritilgan pul qiymati 7 dan kichik !’’; 
xato=true ; //keyingi takrorlash xato hisoblanadi 
cout<<’’\npul qiymatini kiriting (>7):’’; 
cin>>pul; 

while (pul<=7); // toki 7 sonidan katta sopn kiritulguncha
n3=0 ; //birorta ham 3 so’mlik yo’q 
do 

m5=0; // birorta ham 5 so’mlik yo’q
do 

if (3*n3+5*m5==pul) 
cout<
m5++ //5so’mliklar bittaga oshiriladi 

while(3*n3+5*m5<=pul); 
n3++; //3 so’mliklar bittaga oshiriladi

while(3*n3<=pul); 
return 0; 

Programma pul qiymatini kiritishni so‘raydi (pu1 o‘zgaruvchiga).Agar pul 
qiymati 7 sonidan kichik bo‘lsa, bu haqda xabar beriladi va takror ravishda qiymat 
kiritish talab qilinadi. Pul qiymati 7 dan katta bo’lganda, 3 va 5 so‘mliklarning 


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.

Download 1,81 Mb.
1   ...   15   16   17   18   19   20   21   22   ...   33




Download 1,81 Mb.
Pdf ko'rish