Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
139
Do-
while sikli bilan ishlashga doir misol ko‘rib chiqamiz. Bu misolda ko‘zlangan
maqsad [
N…M] oraliqdagi sonlarni ko‘paytirishdan iborat. Quyida ushbu masalaning
yechimi ko‘rsatilgan.
Bu
misol kodida num ning qiymatlarini
n dan boshlab, m gacha ketma – ket
ravishda
oshirib borib,
product o‘zgaruvchisiga ularning ko‘paytmasini berib
boramiz. Biz foydalanuvchidan
n va m sonlarini kiritishni so‘raymiz va
n, m dan kichik
bo‘lishi kerak. Aks holda dastur natijasi sifatida
n ni chiqarib beradi.
Agar
n=2 va m=6 sonlari uchun dasturni ishlatsak, quyidagi natijaga erishamiz:
Ehtiyot bo‘ling: ko‘paytma juda tez o‘sadi, shuning uchun siz
long tipining
o‘rniga
BigInteger dan foydalanishingiz mumkin, chunki aniq natijaga erishish uchun
va
long tipidan oshib ketishi mumkin. Ko‘rib chiqilmagan
dastur kodi qiymat oshib
ketganda xatolikni ko‘rsatmasdan xato javob chiqarib berishi mumkin. Bundan siz
“
tekshirish kalit so‘zi” orqali xatolikni aniqlashingiz mumkin.
5. For sikli
Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
140
For sikli
while va
do -
while sikliga qaraganda bir – oz murakkab, lekin boshqa
tomondan
for sikli orqali ancha murakkab masalalarni boshqa sikllarga qaraganda
kam kod bilan amalga oshiriladi. Quyida sikl jarayonini
sintaksisi va blok sxemasi
berilgan.
Ular (A) boshlash bloki, (B) shart, (D) tana va o‘zgaruvchilarning ishga
tushishi(C) bloklarini o‘z ichiga oladi. Biz ular haqida qisqacha ma’lumot beramiz.
Oldin keling for siklining dastur kodini ko‘rib chiqaylik:
Ushbu kod sanagichning boshlang‘ich qiymati ( misol uchun
int i =0 ), mantiqiy
shart (
i<10), hisoblagichning ishga tushishi (i++, yoki i-- bo‘lishi mumkin misol uchun
i=i+3 ) va siklning tana qismidan iborat.
Bu siklning hisoblagichi siklning boshqa tiplaridan farq qiladi.
Ko‘pincha hisoblagich qiymati berilgan
dastlabki qiymatdan oxirgi
qiymatgacha tartib bo‘yicha o‘zgaradi. Siklda berilgan qiymatni oxiriga borguncha
Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
141
hisoblaydi misol uchun 1 dan 100 gacha. Kod ishga tushishi boshlanishidan oldin
odatda for sikli necha marta takrorlanishlar soni aniq.
For sikli har birini ola oladi
yoki oddiy sikl qiymatlari tartib bilan ko‘tarilishi yoki tushishi yoki biz bergan qiymat
asosida oshishi yoki kamayishi mumkin. Ehtimol birinchi siklning qiymati oshadi va
boshqasi kamayadi. Hattoki ikkini ko‘paytirish natijasida siklning natijasi 2 dan 1024
gacha o‘zgarishi mumkin. Keyingisida faqat sikl qo‘shishni o‘z ichiga ola olmaydi,
ammo boshqa arifmetik jarayonini bajaradi.
For siklining elementlarida hech narsa bo‘lmasligi
mumkin va bunda sikl
cheksiz davom etadi va u quyidagicha: