5-6 лекция. Тілдің циклдік операторлары Цикл операторлары бірнеше рет қайталанатын есептеулерді орындау үшін қажет. Кез келген цикл сол цикл тұлғасынан (денесінен), яғни қайталанатын операторлар тізбегінен, бастапқы мәндер тағайындаудан, цикл параметрлерін өзгертуден және циклді қайталау шартын тексеруден тұрады (7.1 сурет). Циклдің бір рет орындалуы итерация (қадам) деп аталады. Шартты тексеру әрбір итерация сайын – цикл тұлғасына дейін (алғы шартты цикл) немесе цикл тұлғасынан соң (соңғы шартты цикл) атқарылады. Олардың айырмашылығы – соңғы шартты цикл, кем дегенде, бір рет орындалады да, содан кейін барып циклді қайталау шарты тексеріледі. Ал, алғы шартты циклде оны қайталау шарты цикл тұлғасынан бұрын тексеріледі, сондықтан кейде ол бір рет те орындалмай қалуы мүмкін.
а
б
а ә
5.1сурет. Цикл операторларының құрылымдық схемасы: а – алғы шартты цикл; ә – соңғы шартты цикл Цикл тұлғасында мәні өзгертілетін айнымалылар цикл параметрлері болып табылады. Тұрақты қадаммен әрбір итерация сайын өзгертіліп отырылатын бүтін типтегі цикл парараметрлері цикл санауыштары деп аталадлы. Бастапқы параметрлер мәндері айқын түрде берілмеуі де мүмкін, олар циклге кіргенге дейін оның ішінде мәндері өзертілетін айнымалылар мәндерін беру үшін қажет.
Цикл оны қайталау шарты орындалмаған кезде аяқталады. Цикл қадамының немесе жалпы циклдің аяғына жетпей, доғарылатын кездері болады, олар break, continue, return және goto операторлары көмегімен іске асырылады. Сырттан цикл ішіне басқаруды беру болмауы тиіс.
С/C++ тілдерінде ыңғайлылығына қарай қолданылатын үш түрлі цикл операторлары бар, олар – while, do .. while және for. Алғы шартты цикл (while – әзірше) Орындалу саны алдын ала белгісіз болатын циклдер құру кезінде шарттары алдын ала немесе соңынан тексерілетін екі цикл түрі бар. Шарты алдын ала тексерілетін цикл операторының орындалу схемасы 7.1а-суретте көрсетілген. Оның жазылуы:
while (шарт-өрнек) оператор;
Мұнда шарт ретінде қатынас таңбалары кіретін шартты өрнек пайдаланылуы мүмкін. Өрнек типі арифметикалық немесе соған келтірілетін түрде болуы тиіс. Оператор қарапайым немесе құрама болуы мүмкін. Ол құрама оператор болса, онда операторлар жиыны жүйелі жақшаға алынып жазылады. While операторы орындалғанда, алдымен жақша ішіндегі өрнек есептеліп тексеріледі. Егер өрнек мәні ақиқат болса немесе жалпы жағдайда 0-ге тең болмаса, онда оператор атқарылады. Содан соң жақшадағы өрнек тағы да есептеледі. Егер өрнек мәні жалған болса (немесе жалпы жағдайда 0-ге тең болса), онда while цикл операторы өз жұмысын аяқтайды.
Мұнда шарт-өрнек құрамына кіретін айнымалы цикл ішінде өзгеріп отырады.
1 -мысал (7.2 сурет).