Shartli tsikl - Conditional loop

Yilda kompyuter dasturlash, shartli ko'chadan yoki takrorlanadigan boshqaruv tuzilmalari uchun usul kompyuter dasturlari belgilagan shartlarga qarab bir yoki bir nechta turli bosqichlarni takrorlash dasturchi Dastlab yoki real vaqt bo'yicha haqiqiy dastur.

Shartli tsikl an bo'lish qobiliyatiga ega cheksiz pastadir agar loop tanasida hech narsa loop natijasiga ta'sir qilmasa shartli bayon. Biroq, cheksiz ko'chadan ba'zida maqsadga muvofiq foydalanish mumkin, ko'pincha har bir kishi uchun loopni amalga oshirishda o'rnatilgan tsikldan chiqish kompyuter tili, lekin ko'pchilik bir xil asosiy tuzilishga va / yoki kontseptsiyaga ega. The Halqa va Loop uchun ko'pchiligida eng keng tarqalgan ikkita shartli ko'chadan turidir dasturlash tillari.

Turlari

Quyidagi turlari yozilgan C ++, lekin bir nechta tillarda qo'llaniladi.

Halqa

Biron bir kodni bajarishdan oldin haqiqat holatini tekshiradi. Agar shart dastlab noto'g'ri bo'lsa, tsikl ichidagi kod hech qachon bajarilmaydi. Yilda PL / I bu QILING ... bayonot.

esa (holat) {    // kod}

Do-while tsikli

Kodni tsiklda bajargandan so'ng haqiqat holatini tekshiradi. Shuning uchun tsikl ichidagi kod har doim kamida bir marta bajariladi. PL / I buni a sifatida amalga oshiradi TO ... bayonot.

qil {    // kod} esa (holat);

Loop uchun

While loopini yaratishning soddalashtirilgan usuli.

uchun (boshlash; holat; bayonot) {    // kod}

Boshlash ko'chadan oldin bir marta bajariladi. Vaziyat pastadirning mantiqiy ifodasini baholaydi. Bayonot har bir ko'chadan oxirida bajariladi.

Masalan, while while loopi quyidagicha:

int men = 0;esa (men < 10) {    // kod        men += 1;}

Loop uchun quyidagicha yozish mumkin:

uchun (int men = 0; men < 10; ++men) {    // kod}

Har bir ko'chadan uchun

Har bir ko'chadan uchun aslida tengdir iterator. Bu dasturga indeksni kuzatmasdan ma'lumotlarni tuzilishi orqali takrorlash imkonini beradi. Bu, ayniqsa, indekslari bo'lmagan to'plamlarda foydalidir. Misol quyidagicha:

std::vektor<std::mag'lubiyat> oralig'i = { "olma", "banan", "apelsin" };uchun (avtomatik element: oralig'i) {    // kod}

Misollar

Quyidagi C uslubi Halqa. U halqalashni davom ettiradi x teng emas 3, yoki boshqacha qilib aytganda, bu faqat loopni to'xtatadi x teng 3. Biroq, beri x uchun boshlangan 0 va qiymati x hech qachon loopda o'zgartirilmaydi, loop hech qachon tugamaydi (cheksiz pastadir ).

int x = 0;esa (x != 3) {    // x ni o'zgartirmaydigan kod}

Quyidagi while tsikli tsikldagi kodni 5 marta bajaradi. x 0 ga o'rnatiladi va har safar tsikldagi qiymati x ko'paytiriladi. While tsikli qachon to'xtashi uchun o'rnatiladi x 5 ga teng.

int x = 0;esa (x != 5) {    // kod        x += 1;}

Tez-tez uchraydigan xatolar

Shartli ko'chadanlar ko'pincha an manbai hisoblanadi Bitta xato tufayli o'chirilgan.