Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
133
i
nteger
values
decimal
factorial = 1;
// Perform a
n "i
nfi
nite loop"
while
(
true
)
{
if
(
n <= 1)
{
break
;
}
factorial *=
n;
n--;
}
Co
nsole
.WriteLi
ne(
"
n! = "
+ factorial);
Biz
dastlab factorial o‘zgaruvchisiga 1 qiymatini beramiz va
n ni konsoldan
o‘qiymiz. Biz siklning shartini qaytaradigan qiymati
true dan foydalanib, cheksiz
while siklini qurdik. Bu dasturda
break operatoridan
n ning qiymati 1 dan kichik yoki
teng bo‘lganda siklni to‘xtatish uchun foydalanganmiz.
Aks holda biz natijaga n
ko‘paytiraimiz va
n ning qiymatini 1 taga kamaytiramiz. Hisoblash jarayonida
factorial o‘zgaruvchisining dastlabki qiymati
n ga keyingi sikl jarayonida
n * (
n-1) ga
teng va bu
n ning qiymati 2 ga teng bo‘lguncha davom etadi. Agar
n ning qiymati 2
ga teng bo‘lganda
olingan factorial o‘zgaruvchisining qiymatiga ko‘paytiriladi va
keyingi qatorda
n ning qiymati 1 ga teng bo‘ladi. Keyingi siklga o‘tadi. Bu siklda shart
operatori
true qiymat qaytarib,
break operatoriga o‘tadi va sikl o‘z ishini tugatadi.