Циклдің табиғатта, адам өміріндегі маңызы үлкен. Табиғат та, адам өмірі белгілі бір циклден тұрады. Цикл - тұрақты қайталанып тұратын оқиғалар жиынтығы. Мысалы, жыл мезгілдері, күн, апта, ай − бұлардың бәрі табиғатта қайталанып тұратын циклдер. Циклдердің түрі көп. Оларға экономикалық, тарихи, программалау, математикалық, тіршілік циклдері және т.б. жатады. Программалауда циклдік алгоритмдердің маңызы зор. Олардың көмегімен табиғатта кездесетін барлық цикл түрлерінің алгоритмін құрастырып, компьютерде модельдеуге болады.
Циклдік алгоритмдерді пайдалануда программалау тілінің операторы түрінде оны қысқаша жазу мүмкіндігі болады. Циклдік алгоритмдерді программалау тіліне аударатын арнайы операторлар бар. Циклдік операторлар қолдану түріне қарай екі түрге жіктеледі (1-схема).
Егер алгоритмді құру кезінде қайталану саны алдын ала белгілі процесті ұйымдастыру қажет болса, онда параметрлі цикл операторы қолданылады. Мұндай операторға for операторы жатады. Python-да for операторы белгілі бір есептеуде көрсетілген мәнге жеткенге дейін жұмыс істейді. Параметрлі цикл жұмысын ұйымдастыру үшін for операторын range () функциясымен бірге қолдану керек.
Бірнеше рет қайталанып орындалатын белгілі бір іс-әрекеттерді сипаттайтын алгоритмдер тобын циклдік алгоритмдер деп атайды.
Жазылуы
range (k, n, x) функциясы k-дан n − 1-ге дейін x қадаммен сандар тізімін жасайды.
Мысалы: k = 1, n = 11 және x = 2 болса, онда for і in range (1, 11, 2) цикл қатары і шамасының мәні 1-ден 10-ға дейін 1 қадаммен өзгереді деп оқылу керек.
for і in range (k, n, x) <оператор немесе өрнек>;
For операторының қолданылуының екі түрі бар.
1. Цикл параметрінің мәні өсуші (1-мысал).
2. Цикл параметрінің мәні кемуші (2-мысал).
Цикл жұмысын түсіну үшін қарапайым мысалдар қарастырайық.
1-мысал. 1-ден 100-ге дейінгі сандардың қосындысын табатын программа жаз. Мысалдың программа коды 1-суретте берілген. Программа коды орындалғанда экранға 5050 шығады.
2-мысал. 1-ден 10-ға дейінгі сандарды кері ретпен экранға шығар. Мысалдың программа коды 2-суретте берілген. Программа коды орындалғанда экранға: 10 9 8 7 6 5 4 3 2 1 сандары пайда болады.
Практикалық жұмыс. 8 «А» сыныбында N (0 < N < 30) оқушы бар. Оқушылардың бойларының ұзындықтары берілген. Егер сыныптағы оқушының бойы 140 см-ден қысқа болса, ол аласа бойлы оқушыға жатады. Сыныпта неше оқушының бойы аласа екенін анықтайтын программа кодын жаз.
Практикалық жұмыстың программа кодына (3-сурет) түсініктеме беріп өтейік. Берілген есептің программа кодын жазуда циклдік және тармақталу операторларын бірге қолданамыз. Барлық оқушылардың бойын N рет енгізу үшін енгізу операторын циклдің ішіне орналастырып, әр цикл қадамында оқушының бойының ұзындығын х айнымалысына оқытамыз. Одан кейінгі қадамда оқушы бойының ұзындығын 140-пен салыстырып тексереміз. Көріп тұрғандай, цикл денесінде бір емес, үш оператор жұмыс істейді. Үш операторды бір циклдің ішінде пайдалану үшін for операторынан кейінгі жолдарда 4 бос орын (пробел) қою керек. Мұнда z + = 1 z-мәнін 1-ге арттыратын z = z + 1 өрнегінің қысқа жазылу түрін көрсетеді. Цикл ішіндегі print (str (i), end='') жолы, оқушының нөмірін енгізу керектігін көрсету үшін қолданған. Программа жұмысының нәтижесі (4-сурет) берілген.
Шексіз цикл
Кейбір программаларда циклді басқару мүмкін болмай қалады. Әрине, бұл программалау кезінде жіберген қателерден туындайтын жағдай. Мұндай циклдерді шексіз циклдер деп атайды. Шексіз цикл кезінде программаны тоқтату үшін Ctrl + C пернелерінің комбинациясын бір уақытта басу керек.
Талдау
Практикалық жұмыста орындалған программа кодын (3-сурет) талдаңдар. Егер тапсырманың шартын өзгертіп, оқушылардың бойы 140 пен 155 см аралығында деп есеп шартын өзгертетін болсақ, программа кодына қандай өзгеріс жасау керек болады? Себебін түсіндіріңдер.
Жинақтау
Параметрлі циклдер көмегімен орындалатын қарапайым бір мысал құраңдар. Құраған мысалдарыңның Python тілінде программа кодының жобасын дайындап, ұсыныңдар.
Бағалау
Циклдік операторларды программалауда қолданудың маңызына баға бер.
Циклді қалай түсінесің?
Циклдің адамның өмір сүруіне әсері қандай?
Программалауда циклдердің қандай түрлері бар? Олардың айырмашылығы қандай?
Цикл алгоритмінің тармақталу алгоритмінен қандай ерекшеліктері бар?
Тапсырма 1
А және В саны берілген. Олардың арасындағы бүкіл 2-ге бөлінетін сандарды табу программаны құрастыр.
Мысалы
23 35
Нәтиже
24 26 28 30 32 34
Тапсырма 2
N (10-нан 99-ға дейін) санына дейінгі екі таңбалы сандар арасында екі цифры да бірдей сандарды экранға шығаратын программа құрастыр. Екі таңбалы сан 10-нан басталады.
Мысалы
34
Нәтиже
11 22 33
Тапсырма 3
8-сынып оқушыларының арасында баскетбол үйірмесіне қатысатындраға бойының ұзындығы бойынша іріктеу жүріп жатыр. Іріктеуге барлығы N (130-дан 200-ге дейін) оқушы қатысқан және бойларының ұзындығы К сантиметрден биіктері ғана қабылданған. Үйірмеге барлығы неше оқушы қабылданған және ең ұзын оқушы нешінші орында тұр. Мысалда берілген оқушы бойының ұзындықтары тігінен енгізіледі.
Мысалы
7 170
165 180 171 135 143 175 169
Нәтиже
3
2
Тапсырма 4
Терминнің сипаттамасын алу үшін сөйлемді дұрыс орналастырыңыз.
Тапсырма 5
Циклдің қандай түрлері бар?