1.2-сурет. «Таңдау» алгоритмі 1.3-сурет. «Аттап өту» алгоритмі
1-мысал. y функциясын төмендегі формула бойынша есептеп шығару керек.
-
|
x x,
|
x ≥ 0
|
|
y
|
x 2 1,
|
x 0
|
|
|
|
|
Мұнда x айнымалысының таңбасына (оң, теріс) байланыс-ты не жоғары, не төменгі фор-муланы таңдап алып, сол ар-қылы у функциясының мəнін табамыз (1.4-сурет). 2-блоктың орындалу барысында х айныма-лысына белгілі бір мəн беріледі де, ол мəн енгізу операторлары арқылы программаға енгізілуі тиіс. Бұдан кейін енгізілген мəннің оң немесе теріс екендігі үшінші шартты тексеру блогы
1.4-сурет. Тармақталу алгоритмі арқылы айқындалады. Шарттың
18
“ақиқат” (иə) немесе “жалған” (жоқ) болуына байланысты 4- не 5-блоктардың бірі ғана орындалып, “таңдау” орындалады. 6-блок
айнымалысының жəне у функциясының сандық мəндерін экранға немесе қағазға басып шығарады.
Циклдік алгоритмдер. Математикада, экономикада көп-тегенесептердішығарукезеңіндебіртеңдеудіпайдаланып,ондағы айнымалының өзгеруіне байланысты оны бірнеше рет қайталап есептеуге тура келетін сəттер де жиі кездеседі. Осындай қайталап орындалатын есептеу процесінің белгілі бір бөліктерін цикл деп атайды. Осы бірнеше рет қайталанатын бөлігі бар алгоритмдер тобы циклдік алгоритмдерге жатады. Циклдік алгоритмдерді пай-далану оларды кейіннен программаларда цикл операторы түрінде қысқартып жазу мүмкіндігін береді. Циклдер қайталану санының алдын ала белгілі жəне белгісіз болуына байланысты екі топқа бөлінеді. Қайталану сандары алдын ала белгілі болып келетін циклдер тобы арифметикалық цикл болып есептеледі, ал орын-далу саны белгісіз циклдер – қадамдық (итерациялық) цикл бо-лып аталады.
Практикада белгілі бір айнымалының сандық мəніне байланы-сты орындалатын арифметикалық циклдер жиі кездеседі. Мұнда арифметикалық прогрессияға ұқсас болып келетін циклдер ең қарапайым арифметикалық цикл болып табылады. Оны басқару қайталану кезеңінде прогрессияның заңына сəйкес тұрақты ша-маға өзгеріп отыратын цикл параметрінің сандық мəнімен байла-нысты болуы тиіс.
Цикл орындалуы алдында оның айнымалы аргументі – па-раметрі алғашқы мəнге ие болуы керек, сонан кейін қайталану кезеңінде цикл параметрі белгілі бір шамаға (қадамға) өзгере от-ырып, ол алдын ала берілген ең соңғы мəнге дейін жетуі қажет.
Алгоритмнің орындалу барысында цикл параметрі, мысалы,
өзінің ең алғашқы х0 мəнінен ең соңғы хk мəніне дейін тұрақты шамаға (dx) өзгеріп отырады. Осының нəтижесінде х мына-дай мəндерді қабылдайды: x0, x0+dx, x0+2dx, ..., x0+(n-1)dx, xk, мұндағы n – циклдің қайталану саны, ол былай анықталады:
n= xk -x0 +1,
dx
19
1.5-сурет. Қарапайым циклдік алгоритм
1.6-сурет. Модификаторлы циклдік алгоритм
мұнда [...] – өрнектің бүтін бөлігі алынатынын көрсетеді. n əрқашанда бүтін сан болуы тиіс, егер ол аралас сан болса, онда оның бөлшегі алынып тасталады, өйткені циклдің қайталану саны бүтін натуралдық сан болуы тиіс. Арифметикалық цикл үшін y=f(x) функциясының есептелу жолы алго-ритм ретінде 1.5-суретте көрсетілген. Мұндағы 3-ші, 4-ші, 7-блоктар циклді ұйымдастыру үшін қажет. Олар цикл параметрінің алғашқы мəнін, өзгеру қадамын белгілеп жəне оның ең соңғы мəніне жеткен-жетпегенін тексереді. Ал 5- жəне 6-блоктар бірнеше рет қайталанып циклдің өзін құрайды. 4-блок шартты тексеріп қайталану процесін ұйымдастырады.
Алгоритм схемасын салуды жəне программаны жазуды жеңілдету үшін цикл алгоритмдері ықшамдалған түрде “модификатор” немесе “цикл басы” блогын пайдалану арқылы жазылады. Онда 1.5-суретте көрсетілген 3-ші, 4-ші, 7-блоктардың орнына “цикл басы” блогы орналасады. Ол алты-бұрыш тəрізді геометриялық фигура-дан тұрады жəне оның міндетті түрде екі кіру жəне екі шығу сызығы болуға тиіс. Осы блокты пайдалану арқылы жоғарыда келтірілген алгоритм 1.6-су-ретте көрсетілген түрде кескінделеді. Параметрдің алғашқы х мəні оның соңғы х мəнінен кем болса, онда оның қадамы dx оң сан болады. Керісінше, параметрдің алғашқы мəні оның соңғы мəнінен артық болса, онда қадам теріс сан болады.
Достарыңызбен бөлісу: |