Алгоритмнің түрлері
Сабақтың тақырыбы: Циклдік алгоритм
Сабақтың мақсаты
Білімділік:
- Белгілі бір әрекеттер тізбегі бірнеше рет қайталанатын жағдайда циклдік алгоритмдерді қолданып, есептерді шешу керектігін түсіндіру.
- Есептеулерді орындау барысында циклдік алгоритмдерді құру дағдыларын нығайту.
- Циклдік алгоритмдердің сызба-нұсқаларын (блок-схема) құрып, соған сәйкес алгоритм жазуға үйрету.
Дамытушылық:
- Циклдік алгоритмдерді құру кезінде есепті жүйелеу арқылы шешіп, ойлау қабілетін дамыту.
- Қайталау басталар алдында параметрдің бастапқы мәнін беру, қадамды орнату сияқты шарттарды талдау арқылы циклдер туралы білімді тереңдету.
Тәрбиелік:
- Цикл ұғымын өмірмен байланыстыра отырып, оның мәнін түсінуге тәрбиелеу.
- Қайталану мен қайтымдылық туралы мысалдар келтіріп, өмірдегі кей құбылыстардың қайтымсыз болатынын түсіндіру.
Сабақтың барысы
1-кезең: Үй тапсырмасын тексеру
Activote құралы арқылы тест тапсырмаларын орындау.
-
1) Алгоритм дегеніміз не?
- A) Іс-әрекеттің ретсіз орындалуы
- B) Іс-әрекеттің рет-ретімен орындалуы
- C) Тармақталу алгоритмі
- D) Қандай да бір іс-әрекеттің орындалуы
-
2) Алгоритмнің түрлері?
- A) Сызықтық, циклдік
- B) Тармақталу, сызықтық, негізгі
- C) Сызықтық, тармақталу, циклдік
- D) Негізгі, қосымша
-
3) Алгоритм ұғымын енгізген ғалым?
- A) Мұхаммед әл-Хорезми
- B) Билл Гейтс
- C) Лейбниц
- D) Робертсон
-
4) Алгоритмнің қасиеттері:
- A) Түсінікті, толық
- B) Негізгі, қосымша
- C) Қарапайым, күрделі
- D) Айқындылық, үзіктілік, нәтижелік, жалпылық, формалдылық
-
5) Тармақталу алгоритмінің негізгі түйінді сөздері:
- A) Басы, соңы
- B) Алг, арг
- C) Егер, онда, әйтпесе, бітті
- D) Енгізу, шығару
Бағалау шкаласы
- “5” — 5 ұпай
- “4” — 4 ұпай
- “3” — 2–3 ұпай
- “2” — 1 ұпай
2-кезең: Еске түсіру кезеңі
Семантикалық карталар арқылы өткен тақырыптарды пысықтау.
Есептер
1) Тіктөртбұрыштың периметрін табу программасын құрыңдар.
Псевдокод
Алг есеп1
Арг a, b
Нәт c
Басы
c := sqr(a + b)
шығару c
Соңы
2) Функцияның мәнін есептеу программасын құрыңыз.
Псевдокод
Алг есеп2
Арг x, y, z
Нәт нәтиже
Басы
нәтиже := sqrt(sqr(x)) + sqrt(sqr(y)) + sqrt(sqr(z))
шығару нәтиже
Соңы
3) Сан оң болса 2-ге арттырып, теріс болса 2-ге кемітетін алгоритм құрыңыз.
Псевдокод
Алг есеп3
Арг a
Нәт c
Басы
Егер a > 0 онда
c := a + 2
Әйтпесе
c := a - 2
Бітті
шығару c
Соңы
Қайталау сұрақтары
- Алгоритмдерді неше тілде көрсетуге болады?
- Алгоритмдік және графикалық тілдерді түсіндіріңіз.
- Байланыс сызықтары дегеніміз не?
- Блоктардың неше түрі бар?
- Меншіктеу командасы қалай жазылады? Ондағы айнымалылардың рөлі қандай?
- Командалардың неше түрі бар?
- Алгоритмдердің түрлерін атаңыз.
Жаңа тақырып: Циклдік алгоритмдер
Қайталау әрекеттері бар есептерді ықшам әрі түсінікті түрде сипаттау.
Көптеген алгоритмдерде белгілі бір әрекеттер тізбегі бірнеше рет қайталанып орындалады. Математикада есеп шығару кезінде бір теңдеуді пайдаланып, айнымалы мәні өзгерген сайын сол есептеуді қайта-қайта орындауға тура келеді.
Осындай есептеу процесіндегі бөліктердің қайталанып орындалуын цикл деп атаймыз, ал қайталанатын бөлігі бар алгоритмдер циклдік алгоритмдер тобына жатады.
Циклдік алгоритмдерді қолдану — қайталанатын әрекеттерді кейін программада арнайы цикл командалары арқылы қысқаша жазуға мүмкіндік береді. Циклдік процесті қамтамасыз ететін алгоритм бөлігі қайталау командасы арқылы құрылады.
Қайталау командасының құрылымы
Алгоритмдік тілде қайталау командасын жазу үшін әзірше, цикл басы (цб), цикл соңы (цс) түйінді сөздері қолданылады. Әзірше сөзінен кейін шарт жазылады, ал цб мен цс арасына қайталанатын командалар енгізіледі.
Үлгі
Алг
Басы
енгізу (...)
әзірше <шарт>
цб
<цикл денесі>
цс
Соңы
Цикл денесін аздап оңға ығыстырып жазу қайталанатын командалардың орындалу ретін түсінуді жеңілдетеді.
Цикл түрлері
Қайталау санының алдын ала белгілі немесе белгісіз болуына қарай цикл екі түрге бөлінеді:
- Арифметикалық цикл — қайталау саны алдын ала белгілі.
- Командалық (итерациялық) цикл — орындалу саны алдын ала белгісіз.
Негізгі ой
Цикл — алгоритмді ықшамдайды, қайталанатын әрекеттерді бір үлгіге келтіреді және есепті құрылымды түрде сипаттауға көмектеседі.
Мысал: Қалдықты табу (бөлу амалын қолданбай)
Екі бүтін сан a және b берілсін. Бөлу амалын қолданбай, a-ны b-ға бөлгендегі қалдықты табу керек.
Алг қадамдық цикл
Арг бүт a, b
Нәт бүт a
Басы
енгізу (a, b)
әзірше a >= b
цб
a := a - b
цс
шығару a
Соңы
Ескерту: бастапқы мәтіндегі шарт құрылымы толық берілмегендіктен, мысал логикасы қалдық табудың стандартты тәсілімен нақтыланды.
Тапсырма: Квадраттар кестесін құру
1, 3, 5, …, 15 сандар тізбегі берілген. Осы тізбектің квадраттарының кестесін құрыңыз.
Берілген
x = 1
Қажетті формула
x²
Алгоритм (үлгі)
Алг квадраттар кестесі
Нәт
Басы
бүт x
x := 1
әзірше x <= 15
цб
шығару x, x * x
x := x + 2
цс
Соңы
Бұл тапсырмада қайталау саны алдын ала белгілі болғандықтан, арифметикалық циклді қолдану тиімді.