114
}
Kirituvchi ma‘lumotlar
n=3
Dastur
natijasi
Misol
Misol
Misol
while so‗zidan keyin qavs ichida qiymat berish buyruqlari ham bo‗lishi
mumkin va bu buyruqlar mantiqiy ifodadan vergul
(,) belgisi bilan ajratiladi hamda
ushbu qiymat berish buyug‗i
bajarilib, keyin
mantiqiy ifodaning qiymati
tekshiriladi. Qavs ichidagi oxirgi ifoda mantiqiy ifoda bo‗lishi kerak.
Sikl buyrug‗i quyidagi ko‗rinishda bo‗lsa ham ishlaydi. While (s+= i++,
i<=10);
Qiymat berish buyrug‗i ikki yoki undan ortiq bo‗lishi ham mumkin.
Masalan, quyidagicha o‗zgarish qilinsa juft sonlar yig‗indisi hisoblanadi.
while (i+=1, s+=i++, i<=10);
Agar sikl buyrug‗ida buyruqlar yoki buyruqlar bloki bo‗lmasa ham (;)
bo‗lishi shart, aks holda keyingi buyruqni sikl tanasi deb tushunadi. Masalan,
oxirgi buyruqda (;)bo‗lmasa, ya‘ni while (i+=1; s+=i++, i<=10) kabi bo‗lsa
dastur natijasi quyidagicha bo‗ladi:
s = 2
s = 6
s = 12
s = 10
Demak, while sikl buyrug‗ida qavsdan keyin (;) qo‗yish buyruqlar blokining
bo‗shligini bildiradi.
Misol. Tanlangan natural sonning raqamlari ko‗paytmasini
topish dasturini
tuzing.
#include
using namespace std;
int main( )
{ int a, a1, p; cout << "a sonini kiriting " << '\n';
cin >>a;
p=1; while(a1=a%10, a=a/10, p=p*a1, a);
cout << "sonning raqamlari ko‗paytmasining " <
system (―pause‖);
return 0;
}
115
Ushbu misolda takrorlanish buyrug‗ini quyidagicha
ham tashkil qilish
mumkin edi.
p=1; while (a) {a1 = a%10, a=a/10; p=p*a1};
bunda takrorlanish buyrug‗ining bajarilish tartibi bo‗yicha
buyruqlar har
bajarilganda tanlangan sonning o‗ng tomonidan
bitta raqami qirqib olinib, p ga
ko‗paytirilib borilaveradi, toki a=0 bo‗lguncha.
Demak while tarkibidagi
shart son qiymat bilan berilsa,
bunda kamayish
tartibida berilish kerak va berilgan son 0 ga tenglashganda takrorlanish to‗xtatiladi.