2.3.
АЛГОРИТМДЕРДІ ЖАЗУ ТӘСІЛДЕРІ
2.3.1.
Сөзбен жазу
Алгоримтмдерді жазудың бірнене тәсілдері бар. Біздің осы уақытқа
дейін қолданған тәсіліміз – сөздік тәсіл.
Сөздік тәсіл дегеніміз – бұл әрекеттер ретін адамға түсінікті бір
тілде жазу.
Бұл тәсілдің ыңғайлылығы сол, онда әрекеттер тізімі бізге түсінікті
тілде анық баяндалған. Ол, әсіресе, тізбекті алгоритмдерге жақсы
келеді және біз оны күнделікті өмірде біреумен сөйлесу арқылы ылғи
қолданамыз (бірдеңені қалай жөндеу керектігін, немесе бір жерге қалай
бару керектігін айтамыз және т.б.).
2.3.2.
Графикалық көрсетілім
Егер алгоритм барысында кейбір шарттарды орындау кезінде
белгілі бір әрекеттердің нұсқаларын таңдау қажет болса, онда сөздік
алгоритм қолайсыз болады және онда тез шатасасың. Нансалғыштан
нанды алған соң кезекті әрекетті іздегенімізді еске түсірейікші, ал
алгоритм сізді бәрібір сонда да дүкенге нанға жіберді. Бұл жағдайда
алгоритмнің графикалық көрсетілімі анағұрлым көрнекті және
ыңғайлы бола алады.
Алгоритмің
графикалық көрсетілімі
(блок-сызба) — бұл
алгоритмнің әрекеттерін орындау тәртібінде орналасқан арнайы
графикалық символдардың жиынтығы.
28
Бұл тәсіл үшін алгоритмді жазуға стандартталған графикалық
мәндер (символдар) пайдаланылады.
Алгоритмнің басталуы мына таңбалармен белгіленеді:
Төмен қарай түсетін сызық алгоритмнің бірінші әрекетіне өтуін
білдіреді. Алгоритмнің соңы да дәл осындай таңбамен белгіленеді,
онда сызық соңғы символдан жоғарыдан келеді:
Әдетте, әрекеттің атауы жазылатын алгоритмнің кез келген әрекеті
тіктөртбұрышпен белгіленеді:
2.1-
сурет. «Нанды алу» блок-сызбасы
29
2.2-
сурет. Бұйымды сұрыптау алгоритмінің блок-схемасы
Егер алгоритм бірінен кейін бірі ретімен орындалатын бірнеше
әрекеттен тұрса, онда олардың барлығы бір тікбұрыштың ішіне
жазылады.
Шартты орындауды тексеру мен шарттың орындалғанын немесе
орындалмағанына сәйкес келетін алгоритм тармағын таңдау ромбпен
беріледі, онда шарттар сұрақ ретінде жазылады. Шарт орындалған
жағдайда, қажетті тарамаққа өту «Иә» жауабы бағытында орындалады,
ал егер шарт орындаламаса «Жоқ» бағытында болады:
Алгоритмді орындау үшін көбінесе ақпараттарды сан немесе өзге
формада енгізу қажет. Алгоритмнің (не оның бөлігінің) нәтижесі
ақпаратты түрлі формада шығару болуы мүмкін.
30
2.3-
сурет. Бұйымдарды сұрыптау цикылдық алгоритмінің блок-схемасы
Міліметтерді енгізу немесе нәтижесін шығару операциясы келесі түрде
белгіленеді:
Көмекші алгоритмді шақыру символының түрі
Алгоритмдегі түрлі операцияларды белгілейтін басқа да симводар
бар.
31
Графикалық символдар әрекеттердің реттілігіне сәйкес, мақсатқа
қол жеткізу үшін өзара тік сызықтармен байланысады. Символдан
символға өтудің стандартты бағыты - жоғарыдан төмен, солдан оңға
қарай. Егер белгілі бір себептермен символдарды бұл тәртіпте
орналастыру мүмкін болмаса және кезекті символға өту басқа бағытта
жүргізілуі тиіс болса, онда бұл бағытты стрелкамен көрсету керек.
Алдында қарастырылған кейбір алгоритмдердің блок-сызбасын
жасайық. Тармақталған екі алгоритмнің блок-сызбасы — «Нанды алу»
және бұйымдарды сұрыптау 2.1, 2.2 суреттерінде көрсетілген. Олар
алгоритмнің графикалық көрсетілімнің артықшылығын көрнекті түрде
көрсетеді – тексерілген шарттардың орындалуы кезіндегі де,
орындалмауы кезіндегі де әрекеттердің реттілігі жеңіл бақыланады.
2.3-
суретте циклдық алгоритмнің блок-сызбасы берілген, ол
бұйымдарды сұрыптау алгоритмінің дамуы болып саналады. Алдыңғы
алгоритм конвейрдегі бұйымның бар екендігін тексеретін шарттың оң
нәтижесінде қайталанатын циклді білдіреді.
2.4-
сурет. Контейнерді тиеу алгоритмінің блок-сызбасы
32
2.5-
сурет. Контейнерді екі шартпен тиеу алгоритмінің блок-сызбасы
Блок-сызбада циклдың шекарасы жақсы көрінеді – ол символдан
символға өтудің стандартты бағытына қайшы жоғары қарай кететін
сызықпен қамтылған және стрелкамен аяқталады. Циклды орындап
болғаннан кейін циклдың бірінші әрекетіне осы сызық бойынша
қайту
жүзеге асады, бұл жағдайда конвейрдегі бұйымның болуы тексеріледі.
Қайту сызығы алгоритмнің сөзік сипаттамасы кезінде циклды
төменгі жағынан шектейтін
Цикл соңы
жолын алмастыра алады және
ол циклдің жоғарғы шекарасы болып саналатын
Конвейрде бұйым бар
ма?
шартына нұсқайды.
33
Егер шарт орындалмаса, яғни, конвейрде бұйым болмаған жағдайда,
цикл қайталанбайды және алгоритм аяқталады.
Бұл алгоритмде шарттарды тексеру цикл басталмас бұрын
жүргізіледі және егерде цикл бірде бір рет орындалмаса, яғни,
конвейрде бұйым болмаған жағдайда шартты тексерудің бірден
циклдің аяқталуына алып келетін жағдайлардың орын алуы да мүмкін.
2.2.3 бөліміндегі конвейрлерге тиеу циклдық алгоритмінің блок-
сызбасын қарап көрейік, циклдың қайталану шартын тексеру ол
орындалғаннан кейін жүргізіледі (2.4-сурет).
Басы
символының ізінше
алгоритмның әрекеті жүреді, сондықтан цикл ылғи да, кемінде бір рет
орындалады. Егер контейнерді тиегеннен кейін вагонда бос орындар
қалмаса, онда тексеру шарты
Соңы
символына көшеді. Қайту сызығы
бұрынғысынша циклды қамтиды және оның төменгі және жоғарғы
шекарасын көрсетеді.
Бұл алгоритмнің кеңейтілген нұсқасының блок-сызбасы 2.5-суретте
көрсетілген. Онда цикл нұсқауының дейін және кейін орындалуын
тексеретін шарттар орналасқан. Мына сурет арқылы алгоритмнің түрлі
комбинациялар кезіндегі орындалу барысын бақылаңыздар
2.6-
сурет. «
t-
ға дейін қызу
»
алгоритмінің блок-сызбасы
34
Көмекші алгоритмдердің блок-сызбасын қарастырып көрелік.
Көмекші ретінде пайдаланылатын алгоритмнің бір ерекшелігі бар: онда
негізгі алгоритмнен берілген ақпаратты әрекеттер жүргізіледі және сол
жерге қажет болған жағдайда көмекші алгоритмнің орындау нәтижесі
айтылады.
Сондықтан
көмекші
алгоритмнің
блок-сызбасы
мәліметтерді енгізу символын құрайды, ал қажет болған жағдайда
нәтижесін шығару символы да енеді, бұл негізгі алгоритм мен көмекші
алгоритмнің өзара қарым-қатынасын көрсетеді.
2.6-
суретте «
t-
ға дейін қызу
»
алгоритмінің блок-сызбасы
көрсетілген. Мәліметтерді енгізу символы негізгі алгоритмнен қызу
температурасының
t
мәнін алуға нұсқайды. Қызу алгоритмі орындалып
болған соң, көмекші алгоритмді шақыру бұйрығынан кейінгі келесі
әрекетпен негізгі алгоритмнің орындалуы басталады. Шақыру
бұйрығының өзі жоғарыда аранайы символдармен берілген негізгі
алгоритмнің блок-сызбасында көрсетілген, оған шақырушы
алгоритмнің аты енгізілген.
Достарыңызбен бөлісу: |