"С.К?беев атында?ы №56 жалпы орта мектеп" коммуналды? мемлекеттік мекемесі
Орында?ын: ПАРТАЕВА АРАЙЛЫМ ЖАРЫЛКАСЫНОВНА
Саба?ты? та?ырыбы: Циклдік алгоритмдер Біріктірілген циклдер. Есептерді б?іктерге б?лу, к?мекші алгоритм.
Саба?ты? ма?саты:
1.Білімдік. Белгілі бір ?рекеттер тізбегі бірнеше рет ?айталанатын болса, онда циклдік алгоритмдерді ?олдананып, есептерді шешу керектігін о?ушылар?а т?сіндіру. Осындай есептеулерді орында?ан кезде циклді алгоритмдерді ??руда?ы білімдерін арттыру. Циклдік алгоритмдерді? сызба-н?с?аларын ??рып, со?ан байланысты алгоритімін ??ру?а да?дыландыру.
2.Дамытушылы?. Циклдік алгоритмдерді ??ру кезінде есепті ж?йелеу ар?ылы шешіп, ойлау ?абілеттерін дамыту. ?айталау барысын орындау алдында оны? аргументіні? параметріні? ал?аш?ы м?нін енгізу ар?ылы, оны? ?адамын орнату жа?дайларын ?арастырып, циклдерге деген білімдерін дамыту.
3.Т?рбиелік. Циклдік алгоритмдерді ?мірмен байланыстыру ар?ылы о?ушыларды цикілді? м?нін ??у?а т?рбиелеу. Оны? ?айтымды?ына ?мірмен байланыстырап, мысалдар кертілу ар?ылы ?мірді? ?айтымсыз екндігіне к?з жеткізу.
Саба?ты? т?рі: жа?а саба?ты бекіту
Саба?ты? к?рнекілігі: инерактивті та?та, компьютер, цикл?а арнал?ан бейне
П?наралы? байланыс: математика
Саба?ты? барысы:
- Салемдесу
- ?ткенді ?айталау
- Жа?а саба?ты т?сіндіру
- Жа?а саба?ты пысы?тау
- Ба?алау
- ?йге тапсырма
?ткенді ?айталау:
- Алгоритмдерді неше тілде к?рсетуге болады?
- Алгоритмдік ж?не графикалы? тілдерді т?сіндір
- Байланыс сызы?тары деген не?
- Блоктарды? неше т?рі бар?
- Меншіктеу командасы ?алай жазылады? Онда?ы айнымалылар.
- Командаларды? неше т?рі бар?
- Алгоритмдерді? т?рлерін ата.
Жа?а саба?ты т?сіндіру.
К?птеген алгоритмдерде белгілі бір ?рекеттер тізбегі бірнеше рет ?айталанып орындалып отырады. Математикада есеп шы?ару кезінде бір те?деуді пайдаланып, онда?ы айнымалы м?ніні? ?згеруіне байланысты оны бірнеше рет ?айталап есептеуге тура келеді. Осындай есептеу процесі б?ліктеріні? талап орындауын цикл деп атайды, ал ?айталанатын б?лігі бар алгоритмдер тобы циклдік алгоритмдерге жатады. Циклдік алгоритмдерді пайдалану, оларды кейіннен программаларда цикл командалары т?рінде ?ыс?артып жазу м?мкіндігін береді.
Циклдік процесті ?амтамасыз ететін алгоритм б?лігін ?айталау командасы ??райды. Б?л команда алгоритмді жина?ы етіп жазу?а м?мкіндік береді.
?айталау командасын алгоритмдік тілде жазу ?шін ?зірше (?зір), цикл басы (цб) ж?не цикл со?ы (цс) т?йінді с?дері ?олданылады: ?зірше с?зінен кейін ?олданылатын шарт, ал цикл басы мен цикл со?ы т?йінді с?деріні? арасына ?айталанатын командалар жазылады. М?нда да цикл басы мен цикл со?ы т?йінді с?здер арасында?ы цикл аздап о??а ы?ыстырылып жазылады, олай ы?ыстыру ?айталанатын командаларды? орындалу реттігін т?сінуді о?йлатады.
Т?менде ?айталау командасы алгоритмдік тілде ж?не графиктік т?рде берілген.
?айталау саныны? алдын ала белгілі ж?не белгісіз болуына байланысты цикл екі т?рге б?лінеді. ?айталау саны алдын ала белгілі цикл – арифметикалы? цикл деп, орындалу саны белгісіз цикл - командалы? (итерациялы?) цикл деп аталады.
Арифметикалы? цикл. Арифметикалы? цикл е? ?арапайым цикл болып табылады ж?не практикада жиі ?олданылады. ?айталану барысында цикл параметрі арифметикалы? прогрессияны? за?ы бойынша т?ра?ты шама?а ?згеріп отырады. Алгоритм ат?арылар алдында цикл параметріні? бастап?ы м?ні белгілі, осыдан кейінгі ?айталану барысында цикл параметрі белгілі бір шама?а (?адам?а) ?згере отырып, алдын ала берілген со??ы м?нге жетуі ?ажет.
Алгорим мен программа жазуды же?ілдету ?шін циклдік алгоритмдер ы?шамдал?ан т?рде «модификатор» немесе «цикл басы» блогын пайдалану ар?ылы жазылады. Б?л программада?ы арифметикалы? циклді? ?з командалары былай жазылады:
Интерациалы? (?адамды?) цикл. Цикл орындалмас б?рын, оны? ?айталану саны белгісіз бол?ан жа?дайда, ?адамды? циклді пайдаланады. Циклді ая?тау ?шін белгілі бір шарт тексеріледі. Егер шарт орындалмаса, онда кайталану командасы ат?арылады. Ал шарт орындалса, онда цикл ?айталанбайды. ?адамды? циклді кескіндегенде модификатор ?олданылмайды, себебінеше рет ?айталанатынын алдын ала білмейміз. Енді ?адамды? циклге мысал келтірейік.
Мысалы: Екі б?тін сан - а ж?не 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;
егер s>k онда 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-ге ?ос?анда санны? ?зі шы?атынын ескеріп біз солай істейтін сана?ыш жасап отырамыз.
?ткенді пысы?тау:
- Цикл деген не?
- Циклді? т?рлері ?андай?
- Цикл блогы ?алай сызылады?
- Цикл блогында неше байланыс сызы?ы бар?
- Циклда егер шарт болатын болса, онда ол ?алай орналасу керек?
?йге тапсырма: Та?ырып мазм?нына дайындалу.
Есеп.
1-топ?а: 20 саннан б?тін сандар тізбегі берілген, осы сандарды? ішінен 5 санынан ?лкен сандар ?ашан екенін аны?тайтын алгоритм ж?не сызба-н?с?а ??р.
2-топ?а: 10 саннан б?тін сандар тізбегі берілген, осы сандарды? ішінен 4 санынан кіші сандар ?ашан екенін аны?тайтын алгоритм ж?не сызба-н?с?а ??р.