23
x, y
x
енгiзу
басы
2
x
0
3
6
7
1
иә
жоқ
соңы
1.5-сурет. Тармақталу
алгоритмі
x
x
y
1
2
x
y
4
5
орындалу мҥмкіндігі жалған болса, онда 1-амал атқарылып, содан кейін 3-амал
атқарылады. Сонымен, шарттың ақиқат немесе жалған болуына байланысты 1-
амал немесе 2-амал орындалады.
"Аттап ӛту" (1.4-сурет) алгоритмінде шарт орындалса, 1-амалды аттап ӛтіп,
бірден 2-амалды, содан кейін 3-амалды орындаймыз. Ал шарт жалған болса,
онда 1-амал міндетті тҥрде орындалып, одан кейін 2- және 3-амалдар жҥзеге
асырылады. Тармақталу кезеңінде шартты тексеру блогы орындалуы барысын-
да, алгоритмнің екі мҥмкіндігінің тек біреуі ғана таңдап алынып жҥзеге
асырылады да, ал екінші таңдап алынбаған тармақ біріктіру нҥктесіне дейін
орындалмай қалады. Енді осыған нақты мысалдар келтірейік.
1-мысал. y функциясын тӛмендегі формула бойынша есептеп шығару керек
болсын делік.
0
,
1
0
,
2
x
x
x
x
x
y
Мҧнда
x айнымалысының таңбасына (оң,
теріс) байланысты не жоғарғы, не тӛменгі
формуланы таңдап алып, сол арқылы
у
функциясының мәнін табамыз (1.5-сурет). 2-
блоктың орындалу барысында
х айныма-
лысына белгілі бір мән беріледі де, ол мән ен-
гізу операторлары арқылы программаға енгі-
зілуі тиіс. Бҧдан кейін енгізілген мәннің оң
немесе теріс екендігі ҥшінші шартты тексеру
блогы арқылы айқындалады. Шарттың
"ақиқат" (иә) немесе "жалған" (жоқ) болуына
байланысты 4- не 5-блоктардың бірі ғана
орындалып, "таңдау" орындалады. 6-блок
х айнымалысының және
у функция-
сының сандық мәндерін экранға немесе қағазға басып шығарады.
3. Циклдік алгоритмдер. Математикада, экономикада кӛптеген есептерді
шығару кезеңінде бір теңдеуді пайдаланып, ондағы айнымалының ӛзгеруіне
байланысты оны бірнеше рет қайталап есептеуге тура келетін сәттер де жиі кез-
деседі. Осындай қайталап орындалатын есептеу процесінің белгілі бір бӛлік-
терін цикл деп атайды. Осы бірнеше рет қайталанатын бӛлігі бар алгоритмдер
тобы циклдік алгоритмдерге жатады. Циклдік алгоритмдерді пайдалану оларды
кейіннен программаларда цикл операторы тҥрінде қысқартып жазу мҥмкіндігін
береді. Циклдер қайталану санының алдын ала белгілі және белгісіз болуына
байланысты екі топқа бӛлінеді. Қайталану сандары алдын ала белгілі болып
келген циклдер тобы
арифметикалық цикл болып есептеледі, ал орындалу саны
белгісіз циклдер –
қадамдық (итерациялық) цикл болып аталады.
24
Практикада белгілі бір айнымалының сандық
мәніне байланысты орындалатын арифметика-
лық циклдер жиі кездеседі. Мҧнда арифмети-
калық прогрессияға ҧқсас болып келетін циклдер
ең қарапайым арифметикалық цикл болып табы-
лады. Оны басқару қайталану кезеңінде прогрес-
сияның заңына сәйкес тҧрақты шамаға ӛзгеріп
отыратын цикл параметрінің сандық мәнімен
байланысты болуы тиіс.
Цикл орындалуы алдында оның айнымалы
аргументі – параметрі алғашқы мәнге ие болуы
керек, сонан кейін қайталану кезеңінде цикл
параметрі белгілі бір шамаға (қадамға) ӛзгере
отырып, ол алдын ала берілген ең соңғы мәнге
дейін жетуі қажет.
Алгоритмнің орындалу барысында цикл пар-
аметрі, мысалы,
х ӛзінің ең алғашқы
х0 мәнінен
ең соңғы
хk мәніне дейін тҧрақты шамаға (
dx)
ӛзгеріп отырады. Осының нәтижесінде
х
мынадай мәндерді қабылдайды:
x0
, x0
+dx,
x0
+2
dx, ..., x0
+(n-1
)dx, xk, мҧндағы
n – циклдің
қайталану саны, ол былай анықталады:
1
0
-
=
dx
x
xk
n
,
мҧнда [...] – ӛрнектің бҥтін бӛлігі алынатынын кӛрсетеді.
n әрқашанда бҥтін сан
болуы тиіс, егер ол аралас сан болса, онда оның бӛлшегі алынып тасталады,
ӛйткені циклдің қайталану саны бҥтін натуралдық
сан болуы тиіс.
Арифметикалық цикл ҥшін
y=f(x) функциясын
есептеу алгоритмі 1.6-суретте кӛрсетілген. Мҧн-
дағы 3-ші, 4-ші, 7-блоктар циклді ҧйымдастыру
ҥшін қажет. Олар цикл параметрінің алғашқы
мәнін, ӛзгеру қадамын белгілеп және оның ең
соңғы мәніне жеткен-жетпегенін тексереді. Ал 5-
және 6-блоктар бірнеше рет қайталанып циклдің
ӛзін қҧрайды. 4-блок шартты тексеріп қайталану
процесін ҧйымдастырады.
Алгоритм схемасын салу мен программаны
жазуды жеңілдету ҥшін цикл алгоритмдері ықшам-
далған тҥрде "модификатор" немесе "цикл басы"
блогын пайдалану арқылы жазылады (1.7-сурет).
Онда 1.6-суретте кӛрсетілген 3-ші, 4-ші, 7-блок-
тардың орнына "цикл басы" блогы орналасады.
1.6-сурет. Қарапайым
циклдік алгоритм
x;
y
соңы
y:=f(x)
басы
x0
,xк,dx енг.
x :=
x0
х
xk
жоқ
иә
8
2
3
5
x :=
x + dx
6
7
1
4
3
1.7-сурет. Модификаторлы
циклдік алгоритм
y:
= f (x)
x, y
соңы
x0
, xк, dx енгізу
x:
=x0
,xk,dx
2
4
6
5
басы
1