Mundarija (33)
- Bu darsda
- 1. Nega bu kerak?
- 2. while sikli
- 2.1 Tuzilishi
- 2.2 Qanday tartibda ishlaydi?
- 3. while ning haqiqiy o'rni: oldindan noma'lum son
- 3.1 Omonat necha yilda ikki baravar bo'ladi?
- 3.2 Sonda nechta raqam bor?
- 3.3 for yoki while — qaysi birini tanlash kerak?
- 4. do...while — kamida bir marta
- 4.1 Tuzilishi
- 4.2 Farqni ko'rish
- 4.3 Raqamlar soni — endi 0 uchun ham to'g'ri
- 4.4 Oltitani kutish
- 4.5 Menyu: brauzerda foydalanuvchidan so'rash
- 5. Sentinel qiymat — to'xtash belgisi
- 5.1 G'oya
- 5.2 Satrdagi sentinel
- 6. Cheksiz sikl va undan himoya
- 6.1 Eng ko'p uchraydigan sabab
- 6.2 Ataylab cheksiz sikl
- 6.3 Zaxira hisoblagich
- 7. Ko'p uchraydigan xatolar
- 7.1 Qadamni unutish
- 7.2 while (...) dan keyin nuqta-vergul
- 7.3 do ichida e'lon qilingan o'zgaruvchi
- 7.4 Shartni teskari yozish
- 8. Mashqlar
- 1-mashq (oson): Telefon zaryadi
- 2-mashq (o'rta): Raqamlar yig'indisi
- 3-mashq (qiyin): "3n + 1" jumbog'i
- 9. Real ishda
- Xulosa
JavaScript while va do...while: takrorlar soni noma'lum bo'lganda
Qisqacha:
whilesikli sharttrueekan, kodni qayta-qayta bajaradi:while (summa < 10000000) { ... }. Necha marta aylanishi oldindan noma'lum bo'lsa, shu sikl ishlatiladi.do...whileesa avval tanani bajaradi, keyin shartni tekshiradi — shuning uchun u kamida bir marta ishlaydi.
Bu darsda
whilesiklini yoza olasiz va uni qachonforo'rniga tanlashni bilasiz.do...whilenega kamida bir marta ishlashini tushuntira olasiz.- Omonat o'sishi, sonning raqamlari soni kabi masalalarni sikl bilan yecha olasiz.
- Sentinel qiymat (to'xtash belgisi) naqshini ishlata olasiz.
- Cheksiz siklning sabablarini taniysiz va undan himoyalana olasiz.
Oldin bilishingiz kerak: for sikli, if / else, Math obyekti (Math.floor, Math.random).
1. Nega bu kerak?
Oldingi darsda for siklini o'rgandik. U "5 ta chipta chiqar", "12 oyni ko'rib chiq" kabi ishlarga juda mos. Chunki u yerda necha marta aylanish oldindan ma'lum.
Endi boshqa savol. Bankka 5 000 000 so'm omonat qo'ydingiz. Bank har yili summaning 20% ini qo'shib beradi. Necha yildan keyin pulingiz 10 000 000 so'mdan oshadi?
Bu yerda for ga nima deb yozamiz? i <= ... — nechagacha? Javobni bilmaymiz, uni aynan sikl topishi kerak. Biz faqat shartni bilamiz: "summa 10 mln dan kam ekan — yana bir yil kutamiz".
Hayotda bunday vaziyatlar ko'p:
- Choynak qaynamaguncha kutasiz. Necha daqiqa? Bilmaysiz — qaynaganini ko'rasiz, xolos.
- Taksi kutyapsiz: mashina kelmaguncha xaritaga qarab turasiz.
- O'yinda: hayot qolmaguncha o'ynayverasiz.
Bunday masalalar uchun while sikli bor.
2. while sikli
2.1 Tuzilishi
while (shart) {
// shart true ekan, shu kod qayta-qayta bajariladi
}while inglizchada "... ekan", "... paytida" degani. Butun sikl shunday o'qiladi: "shart to'g'ri ekan, tanani bajar".
Oddiy misol — sanash:
let i = 1;
while (i <= 3) {
console.log(i);
i++;
}Konsolda:
1
2
3Bu natija for bilan ham xuddi shunday chiqardi. Farqi — qismlar joylashuvida:
| Qism | for da |
while da |
|---|---|---|
| Boshlanish | Qavs ichida: let i = 1 |
Sikldan oldin, alohida qator |
| Shart | Qavs ichida: i <= 3 |
Qavs ichida: i <= 3 |
| Qadam | Qavs ichida: i++ |
Tananing ichida, o'zingiz yozasiz |
while qavsida faqat shart bor. Qolgan hamma narsani o'zingiz joylashtirasiz.
2.2 Qanday tartibda ishlaydi?
- Shart tekshiriladi.
falsebo'lsa — sikl tugaydi, dastur sikldan keyingi qatorga o'tadi.truebo'lsa — tana bajariladi.- Yana 1-qadamga qaytiladi.
Muhim xulosa: tana ichida shartni o'zgartiradigan biror narsa bo'lishi shart. Yuqoridagi misolda bu — i++. U bo'lmasa, i doim 1 bo'lib qoladi, 1 <= 3 doim true — sikl hech qachon to'xtamaydi.
Tekshirib ko'ring: Quyidagi kod nima chiqaradi?
jslet i = 10; while (i < 5) { console.log(i); i++; } console.log("Tugadi");
Javob
Faqat Tugadi. Birinchi tekshiruvdayoq 10 < 5 — false. Tana bir marta ham bajarilmadi. while avval shartni tekshiradi, shuning uchun u nol marta aylanishi ham mumkin.
3. while ning haqiqiy o'rni: oldindan noma'lum son
3.1 Omonat necha yilda ikki baravar bo'ladi?
Dars boshidagi omonat savoliga qaytamiz:
let summa = 5000000;
let yil = 0;
while (summa < 10000000) {
summa += summa * 20 / 100;
yil++;
}
console.log(`${yil} yildan keyin: ${summa} so'm`);Konsolda:
4 yildan keyin: 10368000 so'msumma * 20 / 100 — summaning 20 foizi. Har aylanishda summa oshadi va yil bittaga ko'payadi. Summa 10 mln dan oshgan zahoti shart false bo'ladi va sikl to'xtaydi.
Kuzatuv jadvali:
| Tekshiruv | summa |
summa < 10000000 |
yil |
|---|---|---|---|
| 1 | 5 000 000 | true |
0 → 1 |
| 2 | 6 000 000 | true |
1 → 2 |
| 3 | 7 200 000 | true |
2 → 3 |
| 4 | 8 640 000 | true |
3 → 4 |
| 5 | 10 368 000 | false |
4 (tugadi) |
Biz 4 raqamini kodga hech qayerda yozmadik. Uni sikl o'zi topdi. while ning kuchi shunda.
O'zingiz sinab ko'ring: foizni 20 dan 10 ga tushiring. Necha yil chiqadi?
3.2 Sonda nechta raqam bor?
Telefon raqam, karta raqami yoki PIN-kod uzunligini tekshirish kerak bo'ladi. Son berilgan: nechta raqamdan iborat?
G'oya: sonni 10 ga bo'lib, kasr qismini tashlab yuboramiz. Har bo'lishda bitta raqam "tushib qoladi". Son 0 ga aylanguncha necha marta bo'lganimizni sanaymiz.
let son = 2026;
let raqamlar = 0;
while (son > 0) {
son = Math.floor(son / 10);
raqamlar++;
}
console.log(raqamlar); // 4Math.floor — Math darsidan: sonni pastga yaxlitlaydi. 2026 / 10 — 202.6, Math.floor esa 202 beradi.
| Aylanish | son oldin |
son keyin |
raqamlar |
|---|---|---|---|
| 1 | 2026 | 202 | 1 |
| 2 | 202 | 20 | 2 |
| 3 | 20 | 2 | 3 |
| 4 | 2 | 0 | 4 |
5-tekshiruvda 0 > 0 — false, sikl tugaydi.
Bu kodda bitta yashirin muammo bor. son = 0 bo'lsa nima bo'ladi? Birinchi tekshiruvdayoq 0 > 0 — false. Sikl ishlamaydi va javob 0 chiqadi. Lekin 0 soni ham bitta raqamdan iborat! Bu muammoni do...while chiroyli hal qiladi — uni hozir ko'ramiz.
3.3 for yoki while — qaysi birini tanlash kerak?
Texnik jihatdan har qanday for ni while bilan yozish mumkin (va aksincha). Tanlov — kodni o'qiydigan odam uchun:
| Vaziyat | Tanlov | Misol |
|---|---|---|
| Necha marta — ma'lum | for |
12 oy, 5 chipta, satrdagi har harf |
| Necha marta — noma'lum, faqat shart bor | while |
Omonat 10 mln bo'lguncha, son 0 bo'lguncha |
for ni ko'rgan dasturchi darhol "bu N marta aylanadi" deb tushunadi. while ni ko'rsa — "bu biror holat yuz berguncha aylanadi" deb tushunadi.
Tekshirib ko'ring: Qaysi sikl mos keladi? (a) Hafta kunlarining nomini chiqarish. (b) Telefon zaryadi 100% ga yetguncha kutish. (c) 1 dan 50 gacha sonlarni qo'shish.
Javob
(a) for — 7 kun, soni ma'lum. (b) while — necha daqiqa ketishi noma'lum, faqat shart bor. (c) for — 50 marta, soni ma'lum. while bilan ham yozsa bo'ladi, lekin for niyatni aniqroq ko'rsatadi.
4. do...while — kamida bir marta
4.1 Tuzilishi
do {
// kamida bir marta bajariladigan kod
} while (shart);do — "bajar". Butun sikl: "tanani bajar, keyin shart to'g'ri ekan — yana bajar".
while dan yagona farqi: shart tanadan keyin tekshiriladi. Shuning uchun tana hech bo'lmaganda bir marta ishlaydi.
Hayotdan o'xshatish: oshpaz sho'rvani tatib ko'radi. Avval tatib ko'radi, keyin "tuz kerakmi?" deb hal qiladi. Kerak bo'lsa — tuz soladi va yana tatib ko'radi. Tatib ko'rmasdan turib tuz kerakligini bilib bo'lmaydi.
4.2 Farqni ko'rish
Sharti boshidanoq false bo'lgan ikkita sikl:
let a = 10;
while (a < 5) {
console.log("while ishladi");
}
let b = 10;
do {
console.log("do...while ishladi");
} while (b < 5);Konsolda:
do...while ishladiwhile birinchi tekshiruvdayoq to'xtadi — tana nol marta bajarildi. do...while esa avval tanani bajardi, keyin shartni tekshirdi va to'xtadi. Birinchi siklda a++ yo'q, lekin xavfi yo'q: tana hech qachon bajarilmaydi.
4.3 Raqamlar soni — endi 0 uchun ham to'g'ri
Raqamlar sonidagi 0 muammosini tuzatamiz:
let son = 0;
let raqamlar = 0;
do {
son = Math.floor(son / 10);
raqamlar++;
} while (son > 0);
console.log(raqamlar); // 1Tana kamida bir marta ishladi, shuning uchun raqamlar 1 ga teng. 2026 uchun ham bu kod to'g'ri ishlaydi — 4 chiqadi. "Har qanday sonda kamida bitta raqam bor" degan haqiqat kodda o'z aksini topdi.
4.4 Oltitani kutish
O'yin: kubik (o'yin toshi) 6 tushguncha tashlanadi. Tashlamasdan turib nima tushganini bilmaymiz — demak, kamida bir marta tashlash kerak. Bu do...while uchun ayni muddao:
let tosh;
let urinish = 0;
do {
tosh = Math.floor(Math.random() * 6) + 1;
urinish++;
console.log(`${urinish}-urinish: ${tosh}`);
} while (tosh !== 6);
console.log("Olti tushdi!");Math.random() * 6 — 0 dan 6 gacha tasodifiy kasr son. Math.floor uni 0–5 butun songa aylantiradi, + 1 esa 1–6 qiladi.
Natija har safar boshqacha, chunki tosh tasodifiy. Masalan, shunday chiqishi mumkin:
1-urinish: 3
2-urinish: 1
3-urinish: 6
Olti tushdi!Kodni bir necha marta ishga tushiring. Ba'zan birinchi urinishdayoq 6 tushadi, ba'zan 10 dan ortiq urinish kerak bo'ladi. Aynan shuning uchun bu yerda for yaramaydi.
4.5 Menyu: brauzerda foydalanuvchidan so'rash
do...while ning eng klassik ishlatilishi — menyu. Menyu kamida bir marta ko'rsatilishi kerak. Foydalanuvchi "Chiqish" ni tanlamaguncha qayta-qayta ko'rsatiladi.
Buning uchun brauzerning prompt() funksiyasidan foydalanamiz. U ekranda kiritish maydoni bor oyna ochadi va foydalanuvchi yozgan matnni satr sifatida qaytaradi. "Bekor qilish" (Cancel) bosilsa — null qaytaradi. Uni hozir faqat misol uchun ishlatamiz, brauzer imkoniyatlarini keyingi qismda batafsil o'rganamiz.
let tanlov;
do {
tanlov = prompt("1 — Balans, 2 — To'lov, 0 — Chiqish");
if (tanlov === "1") {
console.log("Balansingiz: 250 000 so'm");
} else if (tanlov === "2") {
console.log("To'lov bo'limi");
}
} while (tanlov !== "0" && tanlov !== null);
console.log("Xayr!");Bu kodni brauzer konsolida sinab ko'ring (F12 → Console). Node'da prompt yo'q — u yerda ReferenceError: prompt is not defined chiqadi.
E'tibor bering: prompt satr qaytaradi, shuning uchun "1" bilan (qo'shtirnoqda) solishtiryapmiz, 1 bilan emas. === turni ham tekshiradi — "1" === 1 — false.
Tekshirib ko'ring: Quyidagi kod necha marta "Salom" chiqaradi?
jslet n = 0; do { console.log("Salom"); n++; } while (n < 0);
Javob
Bir marta. Tana avval bajariladi: "Salom" chiqadi, n 1 bo'ladi. Keyin 1 < 0 tekshiriladi — false, sikl tugaydi. Oddiy while bo'lganda edi, birinchi tekshiruvdayoq 0 < 0 — false bo'lib, "Salom" umuman chiqmasdi.
5. Sentinel qiymat — to'xtash belgisi
5.1 G'oya
Kassir xaridorning mahsulotlarini birma-bir kiritadi. Nechta mahsulot bo'lishini oldindan bilmaydi. Xo'sh, dastur "tamom, boshqa mahsulot yo'q" ekanini qanday biladi?
Kelishib olamiz: kassir 0 kiritsa — ro'yxat tugadi. Bunday maxsus qiymat sentinel qiymat (sentinel value) — "qorovul qiymat" yoki to'xtash belgisi deb ataladi. U haqiqiy ma'lumot emas, faqat "shu yerda to'xta" degan signal.
Hayotdan o'xshatish: xatning oxiridagi "Hurmat bilan, ..." Uni o'qigan odam xat tugaganini tushunadi.
let jami = 0;
let narx = Number(prompt("Narx (tugatish uchun 0)"));
while (narx !== 0) {
jami += narx;
narx = Number(prompt("Narx (tugatish uchun 0)"));
}
console.log(`Jami: ${jami} so'm`);Kassir 12000, 5000, 8000, keyin 0 kiritsa, konsolda Jami: 25000 so'm chiqadi. Number() satrni songa aylantiradi (turlarni o'zgartirish). "Bekor qilish" bosilsa, Number(null) ham 0 beradi — sikl shunda ham to'xtaydi.
Sentinel qiymat haqiqiy ma'lumot orasida uchramasligi kerak. Narx 0 so'm bo'lmaydi, shuning uchun 0 yaxshi tanlov.
5.2 Satrdagi sentinel
Xuddi shu g'oya satrda ham ishlaydi. SMS xabarning birinchi gapini — birinchi nuqtagacha bo'lgan qismini — olamiz. Bu yerda nuqta — to'xtash belgisi:
const sms = "Kodingiz tayyor. Uni hech kimga aytmang.";
let gap = "";
let i = 0;
while (sms[i] !== ".") {
gap += sms[i];
i++;
}
console.log(gap); // Kodingiz tayyorLekin ehtiyot bo'ling! Satrda nuqta umuman bo'lmasa-chi? i satr oxiridan o'tib ketadi, sms[i] esa undefined bo'ladi. undefined !== "." doim true — sikl hech qachon to'xtamaydi.
Himoya — shartga ikkinchi tekshiruv qo'shish:
const sms = "Kodingiz tayyor";
let gap = "";
let i = 0;
while (i < sms.length && sms[i] !== ".") {
gap += sms[i];
i++;
}
console.log(gap); // Kodingiz tayyorEndi sikl ikki holatda to'xtaydi: nuqta topilsa yoki satr tugasa. && — mantiqiy operatorlar darsidan: ikkala shart ham true bo'lsagina sikl davom etadi.
Maslahat: Sentinel bilan ishlaganda doim so'rang: "Agar to'xtash belgisi umuman kelmasa-chi?" Kelmasligi mumkin bo'lsa — shartga zaxira chegara qo'shing.
6. Cheksiz sikl va undan himoya
6.1 Eng ko'p uchraydigan sabab
while da qadamni o'zingiz yozasiz. Uni unutish — cheksiz siklning birinchi sababi:
// ❌ ISHGA TUSHIRMANG!
let i = 1;
while (i <= 3) {
console.log(i);
// i++ unutildi
}Konsolga to'xtovsiz 1, 1, 1... chiqaveradi. Tanada i hech o'zgarmaydi, shart doim true.
To'xtatish: terminalda Ctrl + C, brauzerda — yorliqni (tab) yopish. Batafsil for darsida ko'rgansiz.
6.2 Ataylab cheksiz sikl
Ba'zan dasturchilar siklni ataylab while (true) deb yozishadi. Masalan, server doim ishlab turishi kerak. Bunday sikldan chiqish uchun ichida break ishlatiladi. Uni keyingi darsda o'rganamiz. Hozircha qoida: while (true) ichida albatta chiqish yo'li bo'lsin.
6.3 Zaxira hisoblagich
Shartning to'xtashiga 100% ishonchingiz bo'lmasa, siklga "sug'urta" qo'shing — urinishlar sonini cheklang:
let tosh = 0;
let urinish = 0;
while (tosh !== 6 && urinish < 1000) {
tosh = Math.floor(Math.random() * 6) + 1;
urinish++;
}
console.log(urinish <= 1000); // true1 000 urinishdan keyin sikl baribir to'xtaydi. Real dasturlarda shunday yondashuv ko'p uchraydi. Masalan, internet uzilsa, ilova ulanishga 5 marta urinadi — cheksiz emas.
7. Ko'p uchraydigan xatolar
7.1 Qadamni unutish
Cheksiz sikl bo'limida ko'rdik. Belgisi: dastur tugamaydi, konsol bir xil qiymat bilan to'lib boradi. Tekshiring: tana ichida shartdagi o'zgaruvchi o'zgaryaptimi?
7.2 while (...) dan keyin nuqta-vergul
// ❌ ISHGA TUSHIRMANG!
let i = 1;
while (i <= 3); {
console.log(i);
i++;
}for darsidagi tuzoq, lekin bu yerda oqibati yomonroq. ; — bo'sh tana. Sikl "hech narsa qilmasdan" aylanaveradi va i++ gacha hech qachon yetib bormaydi. Natija — cheksiz sikl, konsolda esa hech narsa chiqmaydi. Dastur shunchaki qotib qoladi.
7.3 do ichida e'lon qilingan o'zgaruvchi
do {
let javob = "yo'q";
console.log("So'radim");
} while (javob !== "ha");ReferenceError: javob is not definedTarjimasi: "javob aniqlanmagan". Lekin u aniqlangan-ku? Gap shundaki, let bilan { } ichida yaratilgan o'zgaruvchi faqat shu qavslar ichida yashaydi. while (javob ...) sharti esa qavslardan tashqarida turibdi. Tuzatish: o'zgaruvchini sikldan oldin e'lon qiling (let javob;), ichida esa faqat qiymat bering. Menyu misolidagi tanlov aynan shunday yozilgan.
7.4 Shartni teskari yozish
let summa = 5000000;
let yil = 0;
while (summa > 10000000) {
summa += summa * 20 / 100;
yil++;
}
console.log(yil); // 0Xato yo'q, lekin javob noto'g'ri. > yozildi, kerakli belgi esa < edi. 5000000 > 10000000 — false, sikl bir marta ham aylanmadi. Shartni ovoz chiqarib o'qing: "summa 10 mln dan kam ekan, davom et". Qoida: while sharti — davom etish sharti, to'xtash sharti emas.
8. Mashqlar
1-mashq (oson): Telefon zaryadi
Telefon zaryadi 15%. Quvvatlagich har 10 daqiqada zaryadni 12% ga oshiradi. Zaryad 100% ga yetguncha (yoki oshguncha) necha daqiqa kerak? while sikli bilan hisoblang. Natija: 80 daqiqa.
Yechim
let zaryad = 15;
let daqiqa = 0;
while (zaryad < 100) {
zaryad += 12;
daqiqa += 10;
}
console.log(`${daqiqa} daqiqa`); // 80 daqiqaZaryad: 15 → 27 → 39 → 51 → 63 → 75 → 87 → 99 → 111. 8 marta oshdi, har biri 10 daqiqa — 80 daqiqa. Oxirgi qiymat 111% chiqdi. Haqiqiy telefonda 100% dan oshmaydi, lekin bizga faqat vaqt kerak edi.
2-mashq (o'rta): Raqamlar yig'indisi
Karta raqamlarini tekshirish algoritmlarida sonning raqamlarini qo'shish kerak bo'ladi. 2026 sonining raqamlari yig'indisini toping: 2 + 0 + 2 + 6 = 10.
Ishora: son % 10 — oxirgi raqam (qoldiq operatori), Math.floor(son / 10) — oxirgi raqamni olib tashlaydi. Darsdagi raqamlar soni kodini asos qilib oling.
Yechim
let son = 2026;
let yigindi = 0;
while (son > 0) {
yigindi += son % 10;
son = Math.floor(son / 10);
}
console.log(yigindi); // 10| Aylanish | son % 10 |
yigindi |
son keyin |
|---|---|---|---|
| 1 | 6 | 6 | 202 |
| 2 | 2 | 8 | 20 |
| 3 | 0 | 8 | 2 |
| 4 | 2 | 10 | 0 |
Raqamlar teskari tartibda (oxiridan) olinadi, lekin qo'shishda tartib ahamiyatsiz.
3-mashq (qiyin): "3n + 1" jumbog'i
Matematikada mashhur jumboq bor. Istalgan musbat butun son olinadi:
- Son juft bo'lsa — 2 ga bo'linadi.
- Toq bo'lsa — 3 ga ko'paytirilib, 1 qo'shiladi.
Shu amal son 1 ga aylanguncha takrorlanadi. Qiziq tomoni: hozirgacha sinab ko'rilgan barcha sonlar oxir-oqibat 1 ga keladi. Lekin olimlar bu har doim shunday ekanini hali isbotlay olmagan!
6 soni uchun har bir qadamni chiqaring va jami necha qadam ketganini hisoblang. Keyin 27 sonini sinab ko'ring.
Ishora: juftlikni son % 2 === 0 bilan tekshiring. Necha qadam ketishini oldindan bilmaymiz — demak, while.
Yechim
let son = 6;
let qadam = 0;
while (son !== 1) {
if (son % 2 === 0) {
son = son / 2;
} else {
son = son * 3 + 1;
}
qadam++;
console.log(son);
}
console.log(`Jami: ${qadam} qadam`);Konsolda:
3
10
5
16
8
4
2
1
Jami: 8 qadam27 bilan sinab ko'rsangiz, son 9 232 gacha ko'tariladi va 1 ga kelguncha 111 qadam ketadi. Kichkina sondan shuncha uzun yo'l — while busiz hal qilib bo'lmaydigan masala.
9. Real ishda
- Qayta urinish (retry): internet uzilsa, ilova serverga ulanishga bir necha marta urinadi —
whileva zaxira hisoblagich bilan. - O'yinlar: "o'yinchi tirik ekan — o'yin davom etadi" — o'yinning asosiy sikli.
- Ma'lumot o'qish: fayl yoki tarmoqdan ma'lumot bo'laklab keladi. Bo'laklar tugaguncha o'qilaveradi. Nechta bo'lak kelishi oldindan noma'lum.
- Terminal dasturlari va botlar: menyu
do...whilebilan kamida bir marta ko'rsatiladi.
Real kodda while ga for dan kamroq duch kelasiz. Lekin kerak bo'lganda uning o'rnini hech narsa bosa olmaydi. Intervyularda "raqamlar yig'indisi", "sonni teskari aylantirish" kabi masalalar tez-tez beriladi — hammasi while bilan yechiladi.
Xulosa
while (shart) { ... }— sharttrueekan aylanadi. Necha marta ekani noma'lum bo'lsa, shu sikl ishlatiladi.whileavval shartni tekshiradi — tana nol marta bajarilishi ham mumkin.do { ... } while (shart);— avval tana, keyin shart. Tana kamida bir marta bajariladi.- Tana ichida shartni o'zgartiradigan kod bo'lishi shart, aks holda — cheksiz sikl.
- Sentinel qiymat — "tugadi" degan maxsus belgi. U kelmay qolishi mumkin bo'lsa, zaxira chegara qo'shing.
- Shart — davom etish sharti: "... ekan, davom et".
Oldingi dars: for sikli.
Keyingi dars: break, continue va label'lar — sikldan erta chiqish va bitta aylanishni o'tkazib yuborish.
Izohlar (0)
Izoh yozish uchun kiring.
- Hozircha izoh yo'q. Birinchi bo'ling!