Шартты цикл - Conditional loop

Жылы компьютерлік бағдарламалау, шартты ілмектер немесе қайталанатын басқару құрылымдары жол болып табылады компьютерлік бағдарламалар шарттарына байланысты бір немесе бірнеше әр түрлі қадамдарды қайталау бағдарламашы бастапқы немесе нақты уақыт бойынша нақты бағдарлама бойынша.

Шартты циклдің ан бола алатын мүмкіндігі бар шексіз цикл цикл денесінде ештеңе цикл нәтижесіне әсер ете алмайтын кезде шартты мәлімдеме. Алайда, кейде шексіз циклдарды мақсатты түрде қолдануға болады, көбінесе циклдың әрқайсысына арналған циклды іске асыруға арналған компьютер тілі, бірақ көпшілігі бірдей негізгі құрылымды және / немесе тұжырымдаманы қолданады. The While цикл және Ілмек үшін көп жағдайда шартты циклдердің ең кең таралған екі түрі бағдарламалау тілдері.

Түрлері

Келесі түрлері жазылған C ++, бірақ бірнеше тілге қолданылады.

While цикл

Кез-келген кодты циклда орындамас бұрын шындықтың шартын тексереді. Егер шарт бастапқыда жалған болса, цикл ішіндегі код ешқашан орындалмайды. Жылы PL / I Бұл БІРДЕ ҚЫЛЫҢЫЗ ... мәлімдеме.

уақыт (жағдай) {    // код}

Do-while циклі

Циклды орындағаннан кейін шындықтың шартын тексереді. Сондықтан цикл ішіндегі код әрқашан кем дегенде бір рет орындалады. PL / I мұны a ретінде жүзеге асырады ДЕЙІН ... мәлімдеме.

істеу {    // код} уақыт (жағдай);

Ілмек үшін

While циклын құрудың оңайлатылған тәсілі.

үшін (инициализация; жағдай; мәлімдеме) {    // код}

Инициализация циклдан бір-ақ бұрын орындалады. Шарт циклдің логикалық өрнегін бағалайды. Мәлімдеме әр циклдің соңында орындалады.

Мәселен, келесі цикл:

int мен = 0;уақыт (мен < 10) {    // код        мен += 1;}

Цикл үшін келесі түрде жазуға болады:

үшін (int мен = 0; мен < 10; ++мен) {    // код}

Әрбір цикл үшін

Әрбір цикл үшін мәні мәніне тең итератор. Бұл бағдарламаға индексті қадағаламай, мәліметтер құрылымы арқылы қайталауға мүмкіндік береді. Бұл индексі жоқ жиынтықта әсіресе пайдалы. Мысал келесідей:

std::вектор<std::жіп> ауқымы = { «алма», «банан», «апельсин» };үшін (автоматты элемент: ауқымы) {    // код}

Мысалдар

Келесі а C-стилі While цикл. Ол циклды жалғастырады х тең емес 3, немесе басқаша айтқанда, ол тек циклды тоқтатады х тең 3. Алайда, бері х инициализацияланған 0 және мәні х цикл ешқашан өзгермейді, цикл ешқашан аяқталмайды (шексіз цикл ).

int х = 0;уақыт (х != 3) {    // x-ті өзгертпейтін код}

Төмендегі while циклі циклдегі кодты 5 рет орындайды. х 0-ге инициализацияланады, ал циклде әр уақытта мәні х ұлғайтылды. While циклы қашан тоқтайтын етіп орнатылған х 5-ке тең.

int х = 0;уақыт (х != 5) {    // код        х += 1;}

Жиі кездесетін қателер

Шартты циклдар көбінесе ан көзі болып табылады Бір қатемен өшірілді.