(Ж, Қ) Циклдегі итерация санын анықтау үшін while циклымен кейбір код үзінділерін жұптарға ұсыныңыз. Жұптар арасында жарыс ұйымдастырыңыз.
(Ұ) Тапсырманы ең жақсы орындаған жұпқа олардың қалай тез және дұрыс орындағаны жайлы сұраңыз.
Оқушылармен жиі кездесетін қателіктерді қайталаңыз.
(Т, Қ) Оқушыларға шешуге екі немесе үш есеп ұсыну. Оқушылар кіріс және шығыс деректерін, параметрдің бастапқы мәнін, циклдегі параметрдің шартын, параметрді өзгертуді және циклде қайталанатын командаларды анықтауы керек.
(Қ) Дайын шешімдерге өзара сараптама ұйымдастырыңыз, оқушыларды программа кодын тексеруге шақырыңыз, қателерді анықтаңыз және оларды код авторымен талқылаңыз.
(Ұ) Сабақты қорытындылаңыз.
Оқушыларға келесі сұрақтарды қойыңыз:
Сабақтың тақырыбы қандай болды?
Сабақта не білдіңіз?
Не үйрендің?
Бағдарламадағы цикл дегеніміз не?
Цикл параметрі дегеніміз не?
«Циклды итерациясы» дегеніміз нені білдіреді?
Цикл денесінде цикл параметрі қалай өзгереді?
(Ө, Қ) Оқушыларды әлі де нақтылауды қажет ететін сұрақтарды анықтауға шақырыңыз.
|
Егер алгоритмнің орындаушысы алдын ала анықталса және іс-әрекетті ойланбастан, тек сыныптың командаларын ғана орындайтын болса жақсы болады. Әдетте, бұл тапсырма мұғалімнің түсініктемелерімен өте қызықты өткізіледі.
Циклдық алгоритм үшін келесі анықтаманы қолдануға болады:
Циклдік алгоритм - командалар немесе командалар тобы бірнеше рет қайталанатын алгоритм.
Сіз элементтер тізімін алдын ала жасай аласыз және мысал келтірілген элементті алып тастай аласыз. Бұл оқушыларға циклдардың кез келген пәндік салада қолданылатынына сенімді болуын қамтамасыз етеді.
Сызықтық, тармақталу және циклдық алгоритмдері бар схемаларды дайындаңыз. Тек циклдың алғы және кейінгі шарттары бар циклдарын қолданыңыз. Оқытудың осы кезеңінде параметрлік циклды қолдану ұсынылмайды.
Саралау мақсатында циклды шарт ішінде немесе шарттың цикл ішінде қолданылатын блок-схемалардың күрделірек түрлерін қарастыруға болады болады. Оқушылардан шарттың және циклдің қайда екенін түсіндіруді сұраңыз.
Бұл сабақта біз студенттерді while циклінің операторымен таныстырамыз. Цикл бір әрекеттің бірнеше қайталануын ұйымдастыруға мүмкіндік береді. Программаның бір жолында циклдің әр итерациясында айнымалылар әр түрлі мағынаға ие болатынына тоқталайық.
Көрсету кезінде әрбір орындау циклін көрсететін бағдарламаны қолданыңыз. Мысалға,
number = int(input())
while number > 0:
print('Вы ввели положительное число! Вводите дальше.')
number = int(input())
print('Так-так, что тут у нас...')
print('Вы ввели отрицательное число или ноль. Всё.')
Естеріңізге сала кетейік, if операторы шартты тексереді және оның рас немесе жалған екеніне байланысты келесі шегініс блокты орындайды немесе орындамайды.
While операторы («әзірше») шартты тексереді және егер ол рас болса, келесі код блогын орындайды («цикл денесі»). Алайда, бұл код блогы орындалғаннан кейін, одан кейін келетін іс-әрекет емес, while-дан кейін жазылған шарт қайта тексеріледі.
While циклы логикалық операциялар мен логикалық айнымалыларды немесе логикалық мәндерді қолданатын if операторына ұқсас жазылады.
Циклдің бір қадамы (цикл денесінің орындалуы) итерация деп те аталады.
While циклы кодтың бір бөлігін бірнеше рет орындау қажет болған кезде қолданылады - және қанша екенін алдын ала айту мүмкін емес екенін оқушылармен талқылаңыз.
Түсіндіру кезінде тапсырманың қысқаша түрде жазылу белгісін енгізіңіз.
Мысалы, number = number + 1 үшін қысқартылған түр - number += 1.
Қысқартылған форма басқа да арифметикалық амалдар үшін қолданылады.
Кез келген шарт орындалмай тұрып, шексіз цикл есептерін шешуді қарастырыңыз. Мысал ретінде «Бос жолға дейн» есебін қарастыруға болады: Бос жол " " енгізілгенше қолданушы жолдарды енгізе бере алатын программа. Бос емес жолды енгізген сайын, бағдарлама «мәтінді» басып шығаруы керек.
Деректерді енгізу:
Мәтінді бөлек жолдарға енгізу.
Деректерді шығару:
«Мәтінді» бос жолға басып шығару.
Шешімнің мысалы:
line = input()
while line != "":
print("текст")
line = input()
«Құпия сөз» есебі
Пайдаланушы «123» болғанша құпия сөзді енгізетін бағдарламаны жазыңыз. Егер құпия сөз дұрыс енгізілмесе, «Қате құпия сөз» мәтіні көрсетіледі, дұрыс сөз енгізілгенде «Бәрі дұрыс» мәтіні көрсетіледі.
Деректерді енгізу:
Құпия сөздердің жеке жолдағы нұсқалары.
Деректерді шығару:
Дұрыс құпия сөзді немесе «Дұрыс парольді» енгізбес бұрын әр жолға «Жарамсыз пароль» мәтіні жазылады.
Есеп шешімі:
passw = input()
while passw != "123":
print("Неверный пароль")
passw = input()
print("Верный пароль")
Саралау мақсатында оқушыларға күрделілігі жоғары, олимпиадалық сипаттағы тапсырмаларды ұсыныңыз.
Сіз екі натурал санның ең үлкен ортақ бөлгішін (ЕҮОБ) табудың Евклид алгоритмін енгізуді қарастыра аласыз.
while циклы арқылы жазылған мысал:
while a != 0 and b != 0:
if a > b:
a = a % b
else:
b = b % a
|
Python тілі туралы толық жинақ. Қазақша
http://www.informatika.kz/wiki/python-engizy-shigary.php
While Python циклі http://www.informatika.kz/wiki/while-python-cikli.php
Python бағдарламалау тілінде мәліметтерді қалай шығару керек https://kk.bornpottytrained.com/380-.html
Python оқулықтары. Авторлары: К.Ю.Поляков, Е.А.Еремин
https://kpolyakov.spb.ru/school/pycpp.htm
Python-да бағдарламалау. WHILE циклі https://younglinux.info/python/while
Блок-схемларды құру үшін сіз Microsoft Power Point бағдарламасындағы әдеттегі автофигураларды немесе http://www.gliffy.com
онлайн қосымшасын пайдалана аласыз.
While циклі https://pythonru.com/osnovy/cikl-while-v-python
Интерактивті оқулық. Python -дағы циклдар
https://pythontutor.ru/lessons/while/
Python -дағы циклдар
http://pythonicway.com/python-loops
For циклы, While циклы, және де операторлар
https://itproger.com/course/python/6
Python сабақтары
https://www.youtube.com/watch?v=6uSUQz3k_EM
Python бағдарламалау тіліндегі while циклы
https://www.youtube.com/watch?v=Ll3AN1FXXfE
Python. Параметрлік цикл. range() функциясының мүмкіндіктері
https://www.youtube.com/watch?v=yxiQC4n2eTA
Python -дағы циклдар. Тапсырмалар жинағы.
https://informatics.msk.ru/mod/book/view.php?id=2534
Тест. Циклдік алгоритмдер блок-схемалары
https://kpolyakov.spb.ru/school/test7a/16.htm
Python. while циклымен бағдарламаларды талдау
https://kpolyakov.spb.ru/school/egetest/b6-py.htm
|