Просмотр содержимого документа
«Алгоритм т?рлері 1»
Сабақтың тақырыбы: Алгоритм түрлері
Сабақтың мақсаты:
Білімділігі: Оқушыларды алгоритмнің командалары және оның құрылымын түсіндіре отырып, компьютерде есеп шығару кезеңдерімен таныстыру, практика жүзінде қолдануға үйрету;
Дамытушылығы: Оқушыларды алгоритмнің командаларымен және құрылыммен таныстыра отырып, алгоритм құру дағдыларын қалыптастыру, логикалық ой-өрістерін дамыту;
Алгоритмдері графиктік түрде кескіндеу ерекшілектері қандай?
Блок-схема дегеніміз не?
Негізгі блоктарға және көмекші блоктарға нелер жатады?
Алгоритмдік тіл, программалау тілі дегеніміз не?
Жаңа сабақты түсіндіру
Алгоритм командалары
Алгоритм командалары есеп шартына байланысты жай және құрама командалардан тұрады.
Жай команда. Кез келген алгоритмнің қарапайым бір қадамы ақпаратты өңдеудің немесе өрнектеудің операциясын орындайтын жай командадан тұрады. Жай командаларға меншіктеу, мәлімет енгізу және нәтиже алу командалары жатады.
Құрама командалар. Жай командалардан құрылымы күрделі құрама командалар құралады. Құрама командалар құрылымына байланысты тізбекті, тармақталу және циклдік топтардан немесе бірыңғайланған алгоритмдік құрылымдардан тұрады. Олардың жай командадан ерекшелігі бірнеше командадан құрылады және орындалуы берілген шарттарға негізделеді.
Алгоритм құрылымы
Алгоритмдер блоктардың өзара байланысуына қарай үш құрылымға – сызықтық тармақтық және циклдік түрлерге бөлінеді.
1. Сызықтық немесе тізбекті алгоритм. Сызықтық алгоритм тізбектеле орналасқан командалардан, ал блок-схемалар бір сызық бойына орналасқан тізбекті блоктардан тұрады. Әрекеттердің тізбектей орындалуы – сызықтық алгоритм деп аталады.
Мысалы:
алг үй тапсырмасын орындау
басы
күнделікті алу, тиісті бетін ашу,
үй тапсырмасын анықтау
үй тапсырмасын орындау
күнделікті орнына қою
соңы
Сызықтық алгоритм командалары осында көрсетілген рет бойынша орындалатын тізбектеле орналасқан командалардан (блоктардан) тұрады.
Амалдардың бұлай бірінен соң бірі реттеліп орындалу тәртібін табиғи атқарылу дейді. Мысалы, төменде көрсетілген Z функциясының сандық мәнін есептеп шығару алгоритмін жасау керек болсын.
2 2 2
Z = ax + b + cos (ax + b) – tg (ax + b)
Бұл функцияның мәнін табу үшін алдымен жақшада тұрған
ax 2 + b көпмүшелігін жеке есептеп алу қажет, себебі ол
тізбек үш рет есептеліп, орындаушы машина оған уақытты
көп кетіреді. Есептеліп болған Z функциясының мәні
қағазға не экранға басылып шығуы тиіс. Жалпы компьютер
жадына a, b, x мәндері алдын – ала енгізілуі керек.
алг Z функциясын есептеу
(нақa, b, x, z )
арг a, b, x
нәт z
басы
a, b, x енгізу
t : = ax 2 + b
z : = t + cost + tgt
x, z шығару
соңы
Сонымен қарастырылған алгоритм қарапайым сызықтық
алгоритмнің мысалы ьолып табылады. Мұндағы 2-блок - a, b, x
мәндерін пернелерден программаға енгізу блогы, 3-блок t - ның,
ал 4-блок Zфункциясының мәндерін есептейді. 5-блок х
айнымаласының және Z функциясының нәтижесін қағазға басып шығарады.
2. Тармақталу алгоритмдері. Тармақталу алгоритмінде көбінесе арифметикалық теңсіздік түрінде берілген логикалық шарт тексеріледі. Егер орындалса, онда алгоритм бір тармақпен жүзеге асырылады да, соңында екі тармақ қайта бірігеді. Мұндай алгоритмде шартты тексеру тармақталукомандасы деп аталады. Оны алгоритмдік алгоритмдік тілде өрнектелгендеегер, онда, әйтпеес, бітті
түйінді сөздері пайдаланылады. Орынду тәсіліне байланысты тармақталу командасы «таңдау»(толымды) және «аттап өту» (толымсыз) болып екі түрге бөлінеді.
3. Циклдік алгоритмдер. Көптеген алгоритмдерде белгілі бір әрекеттер тізбегі бірнеше рет қайталанып орындалып отырады. Математикада есеп шығару кезінде бір теңдеуді пайдаланып, ондағы айнымалы мәнінің өзгеруіне байланысты оны бірнеше рет қайталап есептеуге тура келеді. Осындай есептеу процесі бөліктерінің қайталап орындалуы цикл деп атайды, ал қайталанатын бөлігі бар алгоритдер тобы циклдік алгоритмдер жатады. Қайталану командасын алгоритмдік жазу үшін әзірше (әзір),цикл бар(цб), және цикл соңы(цс) түінді сөздер қолданылады.
Тапсырма: (33 бет 2 жаттығу)
Екі үшбұрыш қабырғалары a, b, c және d, e, f деп берілген. Қайсы үшбұрыштың үлкен екенін
анықтау қажет.
Күрделі тармақталу
Күрделі шарттарды пайдалану
Арифметикалық циклдер
Итерациялық (қадамдық) цикл.
Сабақты бекіту сұрақтары
Алгоритм командалары есеп шартына байланысты қалай бөлінеді?
Жай және құрама командалардың айырмашылықтары қандай?
Сызықтық алгоритм дегеніміз не?
Тармақталу алгоритмі мен циклдік алгоритмнің айырмашылығы қандай?
Компьютерде есеп шығару қандай кезеңдерден тұрады?