Takrorlash operatorlari (while va do-while) dasturga bir ishni qayta-qayta bajarish imkonini beradi. Mingta foydalanuvchiga xabar yuborish kerak bo’lsa, buni qo’lda mingta qator yozib emas, balki bir sikl bilan bajaramiz. C++’da bir necha sikl turi bor; biz while va uning “ukasi” do-while bilan tanishamiz.
Sikl (loop) — berilgan shart rost bo’lib turgan davomida o’z tanasidagi kodni qayta bajaradigan tuzilma.
whileshartni oldin,do-whileesa keyin tekshiradi.
while sikli
while avval shartni tekshiradi, rost bo’lsa tanasini bajaradi, so’ng yana shartga qaytadi:
#include <iostream>
using namespace std;
int main() {
int i = 1;
while (i <= 5) {
cout << "Qadam: " << i << endl;
i++;
}
return 0;
}
Qadam: 1
Qadam: 2
Qadam: 3
Qadam: 4
Qadam: 5
Bu yerda eng muhim qator — i++. Aynan u har takrorda i ni oshiradi va oxir-oqibat shartni yolg’onga aylantiradi. Agar i++ ni unutsangiz, shart doim rost qoladi va sikl cheksiz aylanaveradi — bu boshlovchilarning eng mashhur xatosi.
do-while sikli
do-while avval tanani bir marta bajaradi, so’ng shartni tekshiradi. Ya’ni tanasi kamida bir marta ishlashi kafolatlanadi:
#include <iostream>
using namespace std;
int main() {
int i = 10;
do {
cout << "Qiymat: " << i << endl;
i++;
} while (i < 5);
return 0;
}
Qiymat: 10
Diqqat: shart (i < 5) boshidanoq yolg’on bo’lsa-da, tana bir marta bajarildi. Bu — do-while ning whiledan tub farqi.
while va do-while farqi
Ikkovining farqini jadvalda ko’rib olamiz:
| Xususiyat | while |
do-while |
|---|---|---|
| Shart tekshiruvi | tanadan oldin | tanadan keyin |
| Minimal bajarilish | 0 marta | 1 marta |
| Qachon qulay | shart oldindan noma’lum | kamida bir marta kerak bo’lsa |
do-while ko’pincha menyu va foydalanuvchidan ma’lumot so’rashda ishlatiladi — kamida bir marta ko’rsatish kerak bo’lganda.
Amaliy misol: yig’indi hisoblash
Siklning kuchini oddiy vazifada ko’ramiz — 1 dan 10 gacha sonlar yig’indisi:
#include <iostream>
using namespace std;
int main() {
int yigindi = 0, son = 1;
while (son <= 10) {
yigindi += son;
son++;
}
cout << "Yig'indi: " << yigindi << endl;
return 0;
}
Yig'indi: 55
Bunday to’planib boruvchi hisob — masalan, savatchadagi mahsulotlar umumiy narxini hisoblash — real ilovalarda doimo uchraydi.
Xulosa
Bu bo’limda while va do-while sikllari, ularning shart tekshirish tartibidagi farqi, cheksiz sikl xavfi va yig’indi hisoblashni ko’rib chiqdik. Shartni yolg’onga aylantiradigan o’zgarishni unutmang. Keyingi darsda eng ko’p ishlatiladigan sikl — for ga o’tamiz.