СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Алтымыш Нарматов атындагы "Өрнөк" орто мектеби

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Алтымыш Нарматов атындагы "Өрнөк" орто мектеби»

Тема 3.4. While жана for циклдери


Сабактын жалпы максаты:

  • While жана for операторлору менен иштөөнү уйрөнүү.

Сабакта колдонула турган түшүнүктөр:

  • Программада циклдик амалдарды аткаруу түшүнүгү.

Мугалимдин максаты:

  • Циклдик операторлордун колдонуу методдорун уйрөтүү.

  • While жана for операторлорунун айырмасын түшүндүрүү.

Балдар эмнени билиши жана үйрөнүшү керек:

  • Кандай учурларда циклдык операторлор колдонулат.

  • While жана for операторлорунун айырмасын.

  • Код жазууну.

Балдар менен баарлашуунун моделдери:3.4.1. while оператору

w hile оператору - «ошондой болгон учурда кайталансын» деген маанини билдирет. Мисалы, while dдегени dнын элементи 10 болгонго чейин кайталансын деген маанини берет. While операторунда (:) коюлгандан кийин цикл башталат жана кийинки сап жылышып жазылат (4 пробелге, же бир Tabга). Бул оператор циклдин канча жолу кайталанаары белгисиз болгон учурларда колдонулат.

Бул оператор төмөнкүчө жазылат:

while шарт:

инструкциялардын блогу.

циклди аткарылганда алгач while оператору шартты текшерип көрөт. Эгер шарт жалган болсо, анда цикл ишин токтотот да кийинки командага өтөт. Эгер шарт чын болсо анда оператор кийинки берилген инструкцияны аткарып, кайра шартты текшерүүгө жөнөтөт.

1-Мисал. 1ден 10го чейинки сандарды саноо программасын түзөбүз.

d=0

while d

d+=1 # бул d=d+1 дегенди билдирет.

print (d)



- Балдар, силерге 1 ден 100 го чейинки сандарды кошуп, суммасын тап десем, силер аны канча убакыт ичинде эсептеп бутөсүңөр?

- Мен 5 минутта эсептеймин.

- Мага 10 минут керек болот.

- Мен канча убакыт керек болуусун билбейм.

- Белгилуу алым Ал Хоразмий тууралу ушундай уламыш бар болчу. Ал Хоразмий 9 жашта экен. Устаты ага 1 ден 100 гө чейинки сандарды кошуп берчи деп тапшырма бериптир. Ал Хоразмий тапшырманы тез эле бүтүрүп коюптур. Устаты: “Тапшырманы кандай аткардыңыз”, деп сураса, шакирт айтыптыр:

- 1 ден 100 гө чейинки сандарды бир таяктын үстүнө койдум.

1, 2, 3, 4....98, 99, 100. Анан ушул таякты ортосунан сындырдым. Таяктын экинчи үчү биринчисин астына келип түштү.

1, 2, 3, 4.... 50. 1дин астына 100, 2нин астына 99.... 50нүн астына 51 түштү.

100,99,98,97...51

Ар бир жуптун суммасы 101 болду. Андай 101дик жуптан 50сү бар экен.

101*50=5050 чыкты. – дептир.

- Эми бул математикалык жол менен чыгаруу ыкмасы. Бирок силер кандай аткарабыз деп ойлодуңар?

- 1ге 2ни кошобуз, чыккан санга 3тү кошобуз.... Ушунтип 100гө чейин кошуп чыгабыз деп ойлогон болчубуз.

- Келгиле ушул силер ойлогон методго алгоритм түзүп көрөбүз. iга санала турган сандарды беребиз, s менен ошол сандарды кошуп чыгабыз.

Алгач i=0, s=0 болот.

i=i+1 Бул формула сандарды санайт.

s=s+i Бул формула саналган сандарды кошот.

Бул иш i=100 болгонго чейин кайталанат. Ушундай кайталоочу ыкмасы бар болгон алгоритмдерди циклдик алгоритмдер деп айтабыз.

- Кээ бир алгоритмдерде бир түрдөгү амалдардын бир нече жолу кайталануусун байкайбыз. Аларды программалоодо Pythonдо бизге while жана for циклдик операторлору жардам берет.

2-мисал. Берилген сандын цифраларынын санын аныктоочу программа түзөбүз.

Бул программаны түзүү үчүн берилген сандын цифраларынын оң жактан бир-бирден өчүрүп таштайбыз, жана бул иш канча жолу кайталанган экендигин санап чыгабыз:

n=int(input("Санды киргиз: "))

n=0

while n0:

n=n//10 # же болбосо n//=10

n+=1

print (n)

программанын натыйжасын чыгаруу үчүн F5 ти басып каалаган санды киргизсек:

19654

5

Бул программанын Pythonдо жазылышынын оңой жолу да бар:

n=int(input())

print(len(str(n))) # len функциясы саптын узундугу канча символдон турарын эсептейт

ТАПШЫРМАЛАР :

  1. 1 ден 10го чейинки болгон сандардын суммасын табуучу программа туз.

Натыйжасы 55 чыгат.




  1. 10 дон 1 га чейин сандарды саноочу программаны жаз.

Натыйжасы төмөнкүүчө болот.

10 9 8 7 6 5 4 3 2 1




  1. Берилген n санынан кичине болгон бардык так сандарды чыгааруучу программаны жаз.

Мисалы: Берилиши 15 натыйжасы: 1 3 5 7 9 11 13




  1. 0 саны жолукмайынча киргизилген бардык сандардын суммасын табуучу программа түз.

Берилиши

Натыйжа

1

3

9

0

13

3.4.2. for оператору

Pythonдо for оператору башка программалоо тилдеринен айырмаланып, өзүнүн мүмкүнчүлүктөрүнүн көп экендиги менен айырмаланып турат. for оператору да циклдик оператору деп эсептелет.

Алгач 0 ден 10го чейинки болгон натуралдык сандарды санап берүүчү программаны түзүп көрөбүз.

for i in range (11):

print (i,end=" ")

0 1 2 3 4 5 6 7 8 9 10

Бул жерде биринчи сапты «i үчүн 11ге чейинки болгон натуралдык сандар ичинен берилсин» деп которсо болот. 0 – биринчи элемент болгондуктан, 10го чейин циклдин кайталоосу 11 жолу болот. for оператору коюлган саптын акырына кош чекит коюлат. Ошондо кийинки сап жылдырылып жазылат. Эгер кийинки сап башынан башталса кайталоо бүткөн экендигин билдирет.

Ал эми саноо 0дөн эмес 1ден башталсын десеңиз, анда:

for i in range (1,11):

print (i,end=" ")

1 2 3 4 5 6 7 8 9 10

Эми 1ден 10го чейинки так сандарды чыгаруу үчүн биринчи сапка «эки кадам менен» деген маанини билдирген 2 санын жазабыз:

for i in range (1,11,2):

print (i,end=" ")

1 3 5 7 9

Суроо: 1ден 10го чейинки жуп сандарды чыкаруу үчүн кайсы жерде кандай өзгөрүү киргизилет?

Жообу:

for i in range (0,11,2):

Эсептөө тескери кетсин десек, кадамдын мааниси (-) минус белгиси менен берүү керек:

for i in range (10,0,-1):

print (i,end=" ")

10 9 8 7 6 5 4 3 2 1

1-мисал: 1ден 100гө чейинки болгон натуралдык сандардын суммасын табуучу программаны түзөлү:

sum = 0

for i in range(1, 101):

sum += i # sum = sum + i

print(sum)

5050

Бул программада 2чи жана 3-сап төмөнкүчө окулат: цикл 1ден 101ге чейин кайталанат жана 101 болгондо кайталануу токтойт. Циклдин биринчи жүрүшүндө (проход) алынган сумма sum өзгөртмөсүнө жазылып, кийинки жүрүшүндө ал суммага кийинки каралып жаткан i саны кошулуп, кайрадан sum өзгөртмөсүнө жазылат.

ТАПШЫРМАЛАР

  1. 1ден 100гө чейинки так сандарды кошуучу программа түз:




  1. Берилген 10 түрдүү сандын суммасын табуучу программа түз.




  1. Берилген n натуралдык сандын ар бирин кубга көтөрүп суммасын табуучу программасын түзгүлө: 13+23+33+...+n3




  1. Берилген n санын цифраларынын суммасынын табуучу программа түз.

Мисалы: Берилиши 12345 натыйжасы: 15



Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!