O„zbekiston respublikasi oliy va o„rta maxsus ta‟lim vazirligi samarqand davlat universiteti s. Eshtemirov, F. M. Nazarov




Download 2,67 Mb.
Pdf ko'rish
bet75/164
Sana25.01.2024
Hajmi2,67 Mb.
#146073
1   ...   71   72   73   74   75   76   77   78   ...   164
Bog'liq
ALGORITMLASH VA DASTURLASH ASOSLARI

While operatori 
Shart oldi takrorlanuvchi jarayonlar bajarilish holati har bir takrorlanish 
oldidan shart tekshirilib keyin takrorlanish tanasidagi operatorlar bajariladi. Agar 
takrorlanish holati boshidan shart yolg‘on qiymat qabul qilsa, takrorlanish bir 
marta ham bajarilmaydi. 
Shart oldi takrorlanuvchi operatorlarning C++ dasturlash tilida ifodalash 
uchun while operatori yordamida tasvirlanadi. 


111 
Ta‘rif: Agar shartli takrorlanuvchi jarayonlar tarkibidagi shart 
takrorlanishdan oldin tekshirilsa, shart oldi takrorlanuvchi jarayonlar deyiladi.
Takrorlanuvchi operator tarkibiga beriladigan shart tahlil qilinib yozilish 
kerak, chunki shart hech qachon yolg‘on qiymat qabul qilmasa, dastur cheksiz 
ishlashga to‗g‘ri keladi. Takrorlanish hech qachon cheksiz bo‗lishi mumkin emas, 
aks holda algoritmning diskretlik hossasi buziladi. 
Shart oldi takrorlanish operatori yani while operatorining umumiy ko‗rinishi 
quyidagicha. 
while() { operatorlar; } 
Agar shart chin qiymat qabul qilib tursa {} ichidagi operatorlar 
bajarilaveradi, qachonki shart yolg‘on bo‗lgandagina takrorlanish o‗z ish 
faoliyatini to‗xtatadi.
Takrorlash strukturasi bir ifoda yoki blokni ma'lum bir shart to‗g'ri (true) 
bo‗lishi davomida qaytarish imkonini beradi. Qaytarilayotgan ifoda shartga ta'sir 
ko‗rsatishi kerak. Ma'lum bir vaqt o‗tgandan keyin shart false ga o‗zgartilishi 
kerak. Bo‗lmasa while (davomida) tugatilmaydi. while faqat o‗zidan keyin kelgan 
ifodaga ta'sir qiladi. Agar biz bir guruh amallarni qaytarmoqchi bo‗lsak, ushbu 
blokni {} qavslar ichiga olishimiz kerak. Shart takrorlanuvchi blokning boshida 
tekshirilgani sababli, agar shart noto‗g'ri bo‗lib chiqsa, blokni hech ijro ko‗rmasligi 
ham mumkin. 
While operatori tarkibidagi shart yolg‘on qiymat qabul qilganda operatorlar 
bajarilmasdan qoladi, shart chin qiymat qabul qilgandagina operatorlar bajariladi. 
Ba‘zi hollarda shart takrorlanish boshidan yolg‘on qiymat qabul qiladi, bunda 
takrorlanish bir marta ham bajarilmaydi. Shart chin qiymat qabul qilib, lekin 
takrorlanish tanasida shart tarkibi o‗zgartirilmasa, takrorlanish cheksiz bo‗lib 
qoladi. 
Misol: Salom so‗zini ekranga n mart chiqarilsin. 
Bu masalani for sikl operatori yordamida ham ifodalash mumkin, lekin 
while operatorining mohiyatini o‗rganish uchun oddiy masala yordamida 
qaraymiz. 
#include  
int main()
{ int n,i=1; 
cout<<‖n=‖; 
cin>>n;
while(i<=n) 


112 
{ cout<<‖Salom \n‖;
i++; } 
return 0;
}
Kirituvchi ma‘lumotlar 
n=3 
Dastur natijasi 
Salom 
Salom 
Salom
While operatorini dasturlash tarkibida ishlatish vaqtida doimo takrorlanish 
tarkibidagi shart bilan tekshiriladigan bitta o‗zgaruvchi olish kerak. Bu masalada 
shart bilan tekshirish uchun i o‗zgaruvchisi tanlandi. Takrorlanish sonini orqali 
bilan solishtirish natijasida aniqlanadi. 
While operatorining ishlash jarayoni yuqoridagi misolda quyidagicha. 
Boshlang‘ich holatda i=1 shart i<=n(1<=3) chin 
Qadam1: salom so‗zi ekranda chiqariladi i=2; 
shart i<=n(2<=3) 
 Qadam2: salom so‗zi ekranda chiqariladi i=3; 
shart i<=n(3<=3) 
 Qadam2: salom so‗zi ekranda chiqariladi i=4; 
shart i<=n(4<=3) yolg‘on takrorlanish to‗xtatiladi. 
Misol: n berilganda k!
Bu masalani C++ dasturlash tilida ifodalash uchun k faktorialni takrorlanish 
tanasiga joylashtirish kerak, takrorlanish shartini esa k!ko‗rinishida 
tasvirlanadi. 
#include  
int main()
{ int n,k=0,p=1; 
cout<<‖n=‖; 
cin>>n;
while(p{ k++; 
p=p*k;

cout<return 0;


113 
}
Kirituvchi ma‘lumotlar 
n=7 
Dastur natijasi 
 k=3 
Bu masalani C++ dasturlash tilidagi ko‗rinishiga e‘tibor bersak oxirida 
cout<ortiq bajariladi, shuning uchun k-1 holat bo‗yicha chiqariladi. Bu jarayonni n= 7 
qiymat berib, qo‗lda test qilib ko‗rsangiz tushunish oson bo‗ladi. 
While operatori tarkibidagi shart ba‘zi hollarda o‗zgarmas qiymat 
ko‗rinishda ham beriladi, bunda shart 0 bilan solishtiriladi, agar qiymat ortib borsa, 
dastur cheksiz takrorlanish mumkin, bunday holatlarda o‗zgarmas qiymatni 
kamaytirish kerak.
#include  
int main()
{ int k=0,p=1; 
while(p) 
{ k++; 
p=p*k;
cout<
return 0;
}
Yuqoridagi dastur tarkibidagi shart p faqat 0 bilan solishtiriladi 0 dan farqli 
bo‗lsa, takrorlanish bajarilaveradi, demak takrorlanish cheksiz bo‗lib qoladi. 
Takrorlanish cheksiz bo‗lmasligi holatini quyidagi misol orqali tekshiramiz. 

Download 2,67 Mb.
1   ...   71   72   73   74   75   76   77   78   ...   164




Download 2,67 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



O„zbekiston respublikasi oliy va o„rta maxsus ta‟lim vazirligi samarqand davlat universiteti s. Eshtemirov, F. M. Nazarov

Download 2,67 Mb.
Pdf ko'rish