Дамытушылы?: О?ушыларды? ойлау ?абілетін,логикалы?-абстракциясын дамыту.
Саба?ты? т?рі: Аралас саба?.
Саба?та ?олданылатын к?рнекті ??ралдар:
компьютер, о?улы?,ж?мыс д?птері
Саба?ты? ?ту барысы:1.О?ушыларды ?йымдастыру
2.Жа?а та?ырыпты т?сіндіру
3.Тапсырмаларды орындау
4.Саба?ты бекіту
5.?йге тапсырма
Жа?а т?сініктер:
2. Тарма?талу алгоритмдері. Алгоритмдерді? есептегі белгілі бір шарт?а т?уелді тарма?талып бірнеше жолдар?а б?ліну тобы тарма?талу алгоритмдері деп аталады.
И? жо?
Тарма?талу алгоритмі. схемасыны? б?л т?ріне міндетті т?рде шартты тексеру блогы кіреді. Ол ромб т?рінде кескінделіп, бас?а блоктармен 1 ж?не 2 сызы?тары ар?ылы байланысады.Тарма?талу алгоритмдеріні? толымды т?рі екі серияны? бірін ?ана та?дауды іске асырады, м?нда берілген шарт тексеріледі, егер ол шарт орындалса, онда 1-серия ж?зеге асырылып, содан кейін келесі амалдар?а к?шеді. Ал, кері жа?дайда 2- серия ат?арылып, содан кейін ?ана алгоритм ары ?арай орындалады.
Дамытушылық: Оқушылардың ойлау қабілетін,логикалық-абстракциясын дамыту.
Сабақтың түрі: Аралас сабақ.
Сабақта қолданылатын көрнекті құралдар:
компьютер, оқулық, инт.тақта, жұмыс дәптері
Сабақтың өту барысы:1.Оқушыларды ұйымдастыру
Үй тапсырмасын тексеру.
Оқушыларға сұрақтар қою арқылы үй жұмысын тексеру.
Жаңа түсініктер:
Көптеген алгоритмдерде белгілі бір әрекеттер тізбегі бірнеше рет қайталанып орындалып отырады. Математикада есеп шығару кезінде бір теңдеуді пайдаланып, ондағы айнымалы мәнінің өзгеруіне байланысты оны бірнеше рет қайталап есептеуге тура келеді. Осындай есептеу процесі бөліктерінің талап орындауын цикл деп атайды, ал қайталанатын бөлігі бар алгоритмдер тобы циклдік алгоритмдерге жатады. Циклдік алгоритмдерді пайдалану, оларды кейіннен программаларда цикл командалары түрінде қысқартып жазу мүмкіндігін береді.
Циклдік процесті қамтамасыз ететін алгоритм бөлігін қайталау командасы құрайды. Бұл команда алгоритмді жинақы етіп жазуға мүмкіндік береді.
Қайталау командасын алгоритмдік тілде жазу үшін әзірше (әзір), цикл басы (цб) және цикл соңы (цс) түйінді сөдері қолданылады: әзірше сөзінен кейін қолданылатын шарт, ал цикл басы мен цикл соңы түйінді сөдерінің арасына қайталанатын командалар жазылады. Мұнда да цикл басы мен цикл соңы түйінді сөздер арасындағы цикл аздап оңға ығыстырылып жазылады, олай ығыстыру қайталанатын командалардың орындалу реттігін түсінуді оңйлатады.
Төменде қайталау командасы алгоритмдік тілде және графиктік түрде берілген.
Қайталау санының алдын ала белгілі және белгісіз болуына байланысты цикл екі түрге бөлінеді. Қайталау саны алдын ала белгілі цикл – арифметикалық цикл деп, орындалу саны белгісіз цикл - командалық (итерациялық) цикл деп аталады.
Арифметикалық цикл. Арифметикалық цикл ең қарапайым цикл болып табылады және практикада жиі қолданылады. Қайталану барысында цикл параметрі арифметикалық прогрессияның заңы бойынша тұрақты шамаға өзгеріп отырады. Алгоритм атқарылар алдында цикл параметрінің бастапқы мәні белгілі, осыдан кейінгі қайталану барысында цикл параметрі белгілі бір шамаға (қадамға) өзгере отырып, алдын ала берілген соңғы мәнге жетуі қажет.
Алгорим мен программа жазуды жеңілдету үшін циклдік алгоритмдер ықшамдалған түрде «модификатор» немесе «цикл басы» блогын пайдалану арқылы жазылады. Бұл программадағы арифметикалық циклдің өз командалары былай жазылады:
Интерациалық (қадамдық) цикл. Цикл орындалмас бұрын, оның қайталану саны белгісіз болған жағдайда, қадамдық циклді пайдаланады. Циклді аяқтау үшін белгілі бір шарт тексеріледі. Егер шарт орындалмаса, онда кайталану командасы атқарылады. Ал шарт орындалса, онда цикл қайталанбайды. Қадамдық циклді кескіндегенде модификатор қолданылмайды, себебінеше рет қайталанатынын алдын ала білмейміз. Енді қадамдық циклге мысал келтірейік.
Мысалы: Екі бүтін сан - а жәнеb () берілсін. Бөлу амалын қолданбай а-ны b-ға бөлгендегі қалатын қалдықты табу керек.
алгқадамдық цикл (бүт а,b)
арг a, b
нәт а
басы
енгізу (а,b)
егер а=b онда a:=a-b
бітті
шығару а
соңы
Мысал 2. Қайталану саны белгісіз болғандағы мына есепті қарастырайық.
Натурал сандардың тізбегі берілген дедік. Осын натурал сандардың тізбегі
1,2,3,4,... саны берілген К санынан үлкен болғанша цикл орындалу керек.
алгқадамдық цикл (бүт s,i,k)
арг s, i, k
нәт
басы
енгізу (k)
s:=0; i:=1;
s:=s+i;
егер sk онда i:=i+1 әйтпесе
бітті
шығару i, s
соңы
Бұл есептің сызба-нұсқасы төменгі суретте кескінделген. Ол сегіз блоктан тұрады.
Жұмыс басында 2 блокта К-ға мән беріледі. Әрі қарай 3 блокта i айнымалысы 1 мәнін қабылдайды, осы 1 мәнінен бастап натуралды санау басталады да, әрі жалғаса береді. S айнымалысы осы сандардың қосындысы болады, қосындыны орындар алдында оның мәні 0-ге тең деп аламыз. Одан кейін теңдеу 5-ші блокқа көшеді. Бұл блокта S = S + i командасы орындалып, ұяшықтағы S және i айнымалыларының қосындысын орындайды да оның қосындысының мәні S -ке меншіктеліп, S ұяшығына сақталады. Біз басында S-тің мәнін 0-деп алған болатынбыз енді операция орындалғанан кейін S = 1 болады. S ұяшығыдағы алғашқы 0 мәнін өшіріп, оның орнына жаңа 1 санын сақтайды.
Мынаған назар аударайық: егер 3 блоктағы S = 0 операциясын орындамасақ, онда S + 1 қосындысын есептегуі қате болар еді. Өйткені ол жадына басында –ді сақтамас еді. Яғни санды 0-ге қосқанда санның өзі шығатынын ескеріп біз солай істейтін санағыш жасап отырамыз.
Сабақтың бекіту сұрақтары:
Цикл деген не?
Циклдің түрлері қандай?
Цикл блогы қалай сызылады?
Цикл блогында неше байланыс сызығы бар?
Циклда егер шарт болатын болса, онда ол қалай орналасу керек?