WHILE LOOP

Материал туралы қысқаша түсінік
циклдік алгоритм
Материал тегін
Тегін турнир Мұғалімдер мен Тәрбиешілерге
Дипломдар мен сертификаттарды алып үлгеріңіз!
Бұл бетте материалдың қысқаша нұсқасы ұсынылған. Материалдың толық нұсқасын жүктеп алып, көруге болады
logo

Материалдың толық нұсқасын
жүктеп алып көруге болады

While циклі. 1-сабақ

Итерация кодтың бір блогын қайта-қайта, мүмкін, бірнеше рет орындауды білдіреді. Итерацияны жүзеге асыратын программалау құрылымы цикл деп аталады. Программалауда итерацияның анықталмаған және анықталған екі түрі бар.

Анықталмаған итерациялар

  • Анықталмаған итерация кезінде циклді орындау саны алдын ала анық көрсетілмейді. Керісінше, тағайындалған блок қандай да бір шарт орындалып жатқан кезде бірнеше рет орындалады.

Анықталған итерациялар

  • Белгілі бір итерация кезінде көрсетілген блоктың орындалу саны цикл басталған кезде нақты көрсетіледі.

 

While циклі

Python тіліндегі while операторы циклдерді құру үшін қолданылады. Қарапайым while циклінің пішімі төменде көрсетілген:

while <expr>:

<statement(s)>

<statement(s)> қайта орындалатын блокты білдіреді, көбіне цикл денесі деп аталады. Ол if операторындағыдай шегініспен жазылады. Python-дағы барлық басқару құрылымы блоктарды анықтау үшін шегіністерді пайдаланады. <expr> басқару өрнегі әдетте цикл басталғанға дейін инициализацияланған, содан кейін цикл денесінің бір жерінде өзгертілетін бір немесе бірнеше айнымалы мәнді қамтиды. while циклі кездескен кезде, <expr> алдымен логикалық контексте есептеледі. Егер ол ақиқат болса, цикл денесі орындалады. Содан кейін <expr> қайтадан тексеріледі және әлі де ақиқат болса, дене қайтадан орындалады. Бұл <expr> жалған болғанша жалғасады, содан кейін программаның орындалуы цикл денесінен тыс бірінші операторға өтеді.

 

1-мысал. Цикл мысалын қарастырайық:

n = 5

while n > 0:

n –= 1

print(n)

Нәтижесі:

4

3

2

1

0

Бұл мысалда:

  1. Бастапқыда n 5-ке тең. 2-жолдағы while операторының тақырыбындағы өрнек n > 0, ақиқат, сондықтан цикл денесі орындалады. 3-жолдағы цикл денесінің ішінде n 1-ден 4-ке дейін азаяды, содан кейін шығарылады.

  2. Циклдің негізгі бөлігі аяқталған кезде программаның орындалуы 2-жолдағы циклдің басына оралады және өрнек қайта есептеледі. Бұл әлі де ақиқат, сондықтан дене қайтадан орындалады және 3 шығады.

  3. Бұл n 0-ге тең болғанша жалғасады. Осы нүктеде өрнек тексерілгенде, ол жалған болып табылады және цикл аяқталады. Орындау цикл денесінен кейінгі бірінші операторда жалғасады, бірақ бұл жағдайда ол жоқ.

Кез келген нәрсе болмас бұрын while циклінің басқару өрнегі алдымен тексерілетінін ескеру қажет. Бастапқыда false мәні орнатылса, цикл денесі ешқашан орындалмайды:

 

2-мысал.

n = 0

while n > 0:

n –= 1

print(n)

Жоғарыда келтірілген мысалда цикл кездескен кезде n мәні 0-ге тең болады. n > 0 басқару өрнегі әлдеқашан жалған, сондықтан циклдің денесі ешқашан орындалмайды.

 

3-мысал. Сандық салыстырудан гөрі тізім пайдаланылатын while циклі:

a = ['foo', 'bar', 'baz']

while a:

print(a.pop(-1))

Нәтижесі:

baz

bar

foo

Тізім логикалық контексте бағаланған кезде, онда элементтер бар болса, ол ақиқат болады, ал егер бос болса, жалған болады. Бұл мысалда элементтер бар болса"a" ақиқат болады. Барлық элемент .pop() әдісі арқылы жойылғаннан кейін және тізім бос болған соң"a" жалған болып табылады және цикл аяқталады.

 

4-мысал.

d = {'foo': 1, 'bar': 2, 'baz': 3}

while d:

print(d.popitem())

Нәтижесі:

('baz', 3)

('bar', 2)

('foo', 1)

.popitem() әдісі d ішінен бір кілт-мән жұбын жояды және оны кортеж ретінде қайтарады. Осылайша, while циклінің негізгі бөлігі мазмұнды d кортеждері ретінде көрсетеді.

Егер while циклінде көрсетілген шарт ешқашан жалған болмаса, while циклі ешқашан аяқталмайды және шексіз циклге айналады. while цикліндегі кез келген нөл емес мән әрқашан ақиқат шартты көрсетеді, ал нөл әрқашан жалған шартты көрсетеді.

Ресми байқаулар тізімі
Республикалық байқауларға қатысып жарамды дипломдар алып санатыңызды көтеріңіз!
Осы аптаның ең үздік материалдары
Педагогтардың біліктілігін арттыру курстары
Аттестацияда (ПББ) 100% келетін
тақырыптармен дайындаймыз
Аттестацияда (ПББ) келетін тақырыптар бойынша жасалған тесттермен дайындалып, бізбен бірге тестілеуден оңай өтесіз
Өткен жылы бізбен дайындалған ұстаздар 50/50 жинап рекорд жасады
Толығырақ