
Бонусты жинап картаңызға (kaspi Gold, Halyk bank) шығарып аласыз
Else циклін басқару. 8-сынып. 3-тоқсан
Тексерілді ___________
|
Ұзақмерзімді жоспардың тарауы: Мектеп: №33 Б.Момышұлы Python тілінде алгоритмдерді программалау Күні: Мұғалімнің аты-жөні: Сынып: 8 « » Қатысқандар: Қатыспағандар: |
|||||||
|
Сабақтың тақырыбы |
4.6. Else циклін басқару |
||||||
Осы сабақта қол жеткізілетін оқу мақсаттары |
8.3.3.3 цикл басқару нұсқаулығын қолдану (continue, break, else); |
|
||||||
Сабақтың мақсаты |
Else ұғымы мен қызметін анықтау. Else нұсқаулығының орындалуын талдау мен қолдану. Else нұсқаулығын қолданудың маңыздылығын тұжырымдау. |
|
||||||
Құндылықтарға баулу |
Өмір бойы оқу, Қазақстандық патриотизм және азаматтық жауапкершілік дағдысы қалыптасады. |
|
||||||
Сабақтың барысы |
|
|||||||
Сабақтың кезеңдері |
Мұғалімнің әрекеті |
Оқушының әрекеті |
Бағалау |
Ресурста р |
|
|||
Сабақтың басы Ұйымдастыру кезеңі |
Сәлемдесу, түгендеу. |
Оқушылар мұғаліммен сәлемдеседі. Оқушылар сыныптасының өзіне ұнайтын тұстарын ғана айтады. |
bilimclass.kz Асық арқылы бағалау |
Презентация Видео проектор |
|
Қызығу-шылық ты ояту 7 минут Өткен сабақты пысықтау |
«Алтын саха» ойыны. |
Оқушылар «ай», «күн» суреттерін құрастыру арқылы топтарға бірігеді. Оқушылар қоржыннан нөмірленген сахаларды алып сұрақтарға жауап береді.
else командасы қандай қызмет атқарады? Есіңе түсір. |
Асықтар арқылы ҚБ |
Сурет қиындыла ры |
Сабақтың ортасы 11 минут Мағынаны тану Оқулықпен жұмыс Саралау тапсырмалары Жеке жұмыс |
Оқулықтағы ақпаратты оқушылармен бірге талдайды. Слайд материалы арқылы таныстырылым жасайды. 1-тапсырма жалпы тапсырма. Мұғалім көмектеседі. |
Оқушылар оқулықтағы ақпаратпен танысады. Визуалды ақпарат алады. Мұғаліммен бірге талдайды. Мақсаты: аудиал мен визуал оқушыларды біліммен қамтамасыз ету. №1-тапсырманы мұғалімнің көмегімен орындайды. N натурал саны берілген. Сол санның цифрларының арасында «7» цифры болса, цикл жұмысын тоқтатып «Error», әйтпесе санның цифрларының қосындысын экранға шығаратын программа құрастыр. x=int(input('N=')) k=s=0 while x!=0: k=x%10 x//=10 s=s+k if k == 7: print('Error') Break else: print(s) Дескрипторлар:
|
3 балл |
Видео ролик Оқулық, жұмыс дәптері. Компьют ер оқулық. |
10 минут Жеке жұмыс 10 минут |
2-тапсырма көлемі үлкен тапсырма. |
2)Латын әріптерінен құралған L жол берілген. Осы жолда «k» әрпі кездесе ме? Анықтаңдар. Егер іздеген әріп кездессе, онда «bar», ал кездеспесе «joq» жауабын экранға шығаратын программа құрастыр. Программа коды: x=int(input('x=')) k=s=0 while x!=0: k=x%10 x//=10 if k < 5: print('Joq') break else: print('Ia') Дескрипторлар:
3)Ұзындығы N(1≤N≤20) бүтін сандар мен бір ғана бөлшек саннан тұратын тізбек берілген. Бөлшек сан кей жағдайларда тізбекте кездеспеуі де мүмкін. Осы тізбекте бөлшек болса, онда санның орнын, әйтпесе «joq» жауабын экранға шығаратын программа құрастыр. Программада деректер тігінен енгізіледі. Дескриптор:
- программа кодын тексереді. |
3 балл 3 балл |
|
|
Алдымен мұғалімнің көмегімен, содан кейін өз бетінше орындайды. |
2-тапсырманы мұғалімнің нұсқауымен өз бетінше орындайды. 1, 2-практикалық тапсырмалардың программа кодын талдаңдар (1, 3- суреттер). Екі программадағы еlse блогының қызметіне түсініктеме беріңдер. Дескриптор - Else операторының қызметін анықтайды. |
2 балл |
|
Сабақтың соңы Ой толғаныс Жаңа білімді бекіту 7минут Кері байланыс |
«Венн диаграммасы» «Білім ағашы» әдісі. |
Оқушылар топтық жұмыс жасайды Вreak сontinue, еlse цикл нұсқаулықтарының негізгі ұқсастық пен айырмашылықтарын салыстыра отырып, бағала. Бұл нұсқаулықтардың программа құрудағы маңызы қандай? Программа құруды қаншалықты жеңілдетеді? Ойыңды ортаға сал. Бүгінгі сабақтағы жетістігім. Оның себептері Бүгінгі сабақтағы кемшілігім.Оның себептер |
Әр дұрыс жауап 1 балл |
А4 Парағы Стикерлер |
Үйге: 102 – беттегі Үй тапсырмасын орындау. |
4.6 Else ЦИКЛІН БАСҚАРУ
№ 1- тапсырма* 102-бет
N натурал саны берілген. Сол санның цифрларының арасында «7» цифры болса, цикл жұмысын тоқтатып, «Error», әйтпесе санның цифрларының қосындысын экранға шығаратын программа құр.
Мысалы |
Нәтиже |
92576 |
Error |
123456 |
21 |
Бұл тапсырма бойынша, егер берілген санның цифрларының арасында "7" цифры болса, цикл жұмысын тоқтатып, "Error" деп шығару керек. Ал егер "7" цифры жоқ болса, онда цифрлардың қосындысын есептеп, оны экранға шығару қажет.
N = input("Натурал санын енгізіңіз: ")
if '7' in N: # "7" цифры бар-жоғын тексеру
print("Error")
else:
sum = sum(int(d) for d in N) # Цифрлардың қосындысын есептеу
print(sum)
Түсініктеме:
-
N = input("Натурал санын енгізіңіз: "): Пайдаланушыдан санды енгізу сұралады. Біз санды жол түрінде қабылдаймыз, өйткені оның цифрларын өңдеу оңай болады.
-
if '7' in N: Бұл шарт арқылы жолда "7" цифрының бар-жоғын тексереміз. Егер бар болса, "Error" деп шығарамыз.
-
Егер "7" жоқ болса, онда цифрларды қосу үшін sum(int(digit) for digit in N) қолданамыз. Бұл тізімді құрып, әр цифрды бүтін санға түрлендіріп, олардың қосындысын есептейді.
№ 2- тапсырма**
Латын әріптерінен құралған L жол берілген. Осы жолда ´k´ әрпі кездесе ме? Анықта. Егер іздеген әріп кездессе, онда «bar», ал кездеспесе, «joq» жауабын экранға шығаратын программа құр.
Мысалы |
Нәтиже |
uhuyhukgggff |
bar |
Бұл тапсырманы орындау үшін Python тілінде берілген жолда (L) k әрпінің кездесетінін тексеретін бағдарлама жазу керек. Егер k әрпі бар болса, "bar", жоқ болса "joq" деген нәтижені экранға шығарамыз.
Міне, осы тапсырманы шешуге арналған Python коды:
L = input("Жолды енгізіңіз: ")
if 'k' in L: # 'k' әрпі жолда бар-жоғын тексеру
print("bar")
else:
print("joq")
Түсініктеме:
-
L = input("Жолды енгізіңіз: "): Пайдаланушыдан жолды енгізу сұралады.
-
'k' in L: Бұл шарт L жолында k әрпінің бар-жоғын тексереді. Егер k бар болса, онда True мәні қайтарылады, ал жоқ болса, False.
-
Егер k бар болса, "bar" шығарылады, ал жоқ болса, "joq" шығарылады.
№ 3- тапсырма** 102-бет
Ұзындығы N(1≤N≤20) бүтін сандар мен бір ғана бөлшек саннан тұратын тізбек берілген. Бөлшек сан кей жағдайда тізбекте кездеспеуі де мүмкін. Осы тізбекте бөлшек болса, онда санның орнын, әйтпесе «joq» жауабын экранға шығаратын программа құр. Программада деректер тігінен енгізіледі.
Мысалы |
Нәтиже |
6 45 69 327 32.5 87 23 |
Index = 4 |
Бұл тапсырманы жеңіл әрі түсінікті жолмен шығару үшін:
-
Тізбекті енгізіп, әр элементті тексереміз.
-
Егер сан бөлшек болса, оның орнын анықтаймыз.
-
Бөлшек сан жоқ болса, "joq" деп шығарамыз.
Мұны орындау үшін келесі кодты жазуға болады:
N = int(input())
sequence = input().split() # Тізбекті енгізу
for i in range(N): # Тізбекте бөлшек сан бар-жоғын тексеру
if '.' in sequence[i]: # Егер сан бөлшек болса
print(f"Index = {i + 1}") # Индекс 1-ден басталатынын ескеру
break
else:
print("joq")
Түсініктеме:
-
N = int(input()) — Пайдаланушыдан тізбектің ұзындығын енгіземіз.
-
sequence = input().split() — Тізбектегі барлық сандарды бір қатарда енгізгенде оларды бөлу үшін split() қолданамыз.
-
if '.' in sequence[i] — Әр санның бөлшек екенін тексереміз. Егер сан бөлшек болса, онда оның ішінде нүкте (.) болады.
-
print(f"Index = {i + 1}") — Бөлшек сан табылса, оның индексін 1-ден бастап шығарамыз.
-
else: print("joq") — Егер цикл толық аяқталып, бөлшек сан табылмаса, "joq" деп шығарамыз.
4.7
АЛГОРИТМНІҢ ТРАССИРОВКАСЫ 8-СЫНЫП
1-тапсырма*
k мен p аралығындағы сандардың цифрларының қосындысын табатын программа құр. Тапсырманы орындау барысында қандай қате жібердің? Назар аудар. Цикл денесінде орналасқан операторлар жұмысын трассировкалау арқылы тексер.
Мысалы |
Нәтиже |
97 103 |
61 |
k, p = map(int, input("k және p санын бір қатарда енгізіңіз: ").split())
# Цикл арқылы k мен p аралығындағы сандарды қарау
for num in range(k, p + 1):
digit_sum = 0 # Әр санның цифрларының қосындысын сақтау үшін айнымалы
temp = num # санды уақытша сақтап қою
# Әр санның цифрларының қосындысын есептеу
while temp > 0:
digit_sum += temp % 10 # Соңғы цифрды қосу
temp //= 10 # Соңғы цифрды алып тастау
# Нәтижені шығару
print(f"{num}: {digit_sum}")
Түсініктеме:
map(int, input().split()): Бұл бөлікте пайдаланушыдан екі санды бір қатарда енгізу сұралады. input().split() енгізілген жолды бос орындар бойынша бөледі, ал map(int, ...) әрбір бөлікті бүтін санға түрлендіреді.
Пайдаланушы енгізген k мен p аралығындағы сандарды for циклімен қарастырып, олардың цифрларының қосындысын есептейді.
Мысалы: Егер k = 97 және p = 103 болса:
-
97 -> 9 + 7 = 16
-
98 -> 9 + 8 = 17
-
99 -> 9 + 9 = 18
-
100 -> 1 + 0 + 0 = 1
-
101 -> 1 + 0 + 1 = 2
-
102 -> 1 + 0 + 2 = 3
-
103 -> 1 + 0 + 3 = 4
Нәтиже: [16, 17, 18, 1, 2, 3, 4]
№ 3 – тапсырма** 107-бет
N(100≤N≤999) санына дейінгі үштаңбалы сандар арасындағы барлық цифры әртүрлі сандарды экранға шығар.
Мысалы |
Нәтиже |
107 |
102 103 104 105 106 107 |
Ескерту: Үштаңбалы сандар 100-ден басталады.
Бұл тапсырма бойынша 100 мен 999 аралығындағы барлық үштаңбалы сандарды қарастырып, олардың цифрлары әртүрлі болуын тексеру керек. Егер санның цифрлары әртүрлі болса, оны экранға шығарамыз.
Мұны Python тілінде келесі түрде жазуға болады:
for n in range(100, 1000): # Санды цифрларға бөлеміз
j = num // 100 # жүздіктер
o = (num // 10) % 10 # ондықтар
b = num % 10 # бірліктер
# Егер үш цифр әртүрлі болса, санды экранға шығарамыз
if j != o and j != b and o != b:
print(n, end=" ")
Түсініктеме:
-
range(100, 1000) — 100 мен 999 аралығындағы сандарды қарастырады.
-
hundreds, tens, және ones — бұл сандардың жүздік, ондық және бірліктерін алу үшін бөлшектер. Мысалы, 345 санында:
-
hundreds = 3
-
tens = 4
-
ones = 5
-
-
if hundreds != tens and hundreds != ones and tens != ones: — бұл шарт әрбір санның цифрларының бірдей болмауын тексереді. Егер барлық цифрлар әртүрлі болса, онда сан экранға шығарылады.

