Тармақталу алгоритмі
«Алгоритм» ұғымы информатикада ақпарат сияқты іргелі ұғымдар қатарына жатады.
Қазіргі кезде «алгоритм» ұғымы тек математикалық есеп шешу әдісімен ғана шектелмейді. Оның мағынасы әлдеқайда кең. Әрбір компьютер алдын ала берілген алгоритммен, яғни жоспарлы жұмыс істейді. Алгоритмді реттелген амалдар жиыны, кезекпен орындалатын амалдар тізімі деп ұғынған жөн. Оның көптеген анықтамасы бар. Соның бірі: алгоритм - берілген есептің шығару жолын реттелген амалдар тізбегі түріне келтіру. Кез келген есепті қарапайым амалдарды тізбектей орындау арқылы шығаруға болады. Алгоритмді компьютерде орындау үшін оны бағдарлама түрінде жазып шығу керек.
Алгоритмді орындаушының рөлін, негізінен адам немесе автоматтандырылған құрылғы, яғни компьютер, робот т.б. атқарады.
Күнделікті тұрмыстан алгоритмге бір мысал келтірейік. Студент болу үшін алгоритмнің мынадай қадамдарын орындау керек:
1. Мектепті тамамдау.
2. Бірыңғай ұлттық тестілеуден өту.
3. Керекті құжаттарды, аттестаттың түпнұсқасын, емтихан қорытындысымен бірге белгілі бір мамандықты көрсетіп, конкурсқа тапсыру.
4. Конкурстан өту.
5. Таңдаған мамандығы бойынша оқитын жоғары оқу орнын анықтау.
Бұл көрсетілген пункттердің орындарын ауыстыруға болмайды. Олар көрсетілген ретпен кезегімен орындалуы тиіс. Сонда ғана көздеген нәтижеге қолымыз жетеді.
Сонымен алгоритм – белгілі бір нәтижеге жету үшін қолданылатын амалдардың реттелген жиыны.
Қазіргі кездегі өнделетін ақпарат көлемінің тез өсуі көптеген мәселелердің (есептердің) шешуін адамды әр түрлі автоматтарға, компьютерлерге, роботтарға, техникалық құрылғыларға жүктеуге мәжбүр етіп отыр. Күнделікті тіршілікте біз күн сайын көптеген алгоритмдерді кездестіреміз және атқарамыз. Мәселен, мектепке бару, сабаққа даярлану, ас әзірлеу, ағаш отырғызу, нан пісіру, автобус, трамвай, троллейбуспен межелі жерге жету, сөздіктен қажетті сөзді іздеу кезінде белгілі бір алгоритмдерді атқаруға, яғни бірқатар қалыптасқан әрекеттер тізбегін орындауға тура келеді.
Сонымен алгоритм атқарушы – көрсетілген іс-әрекеттер тізбегін бұлжытпай орындай отырып, керекті нәтиже алуды жүзеге асыратын машина, құрылғы немесе адам бола алады.
Берілген мәселені шешу жолының түсініктілігін оның алгоритмінің түсініктілігі деп қарастырады. Алгоритмде алдыңғы әрекеттің нәтижесі келесі әрекетте пайдаланылады.
Алға қойған мақсатқа жету немесе берілген есепті шешу бағытында атқарушыға қандай әрекеттер жасау қажеттігін әрі түсінікті, әр дәл етіп көрсететін нұсқаулар ретін алгоритм деп атайды.
Алгоритмді орындау кестесін беруге мысал қарастырайық.
Мысалы: «Сабаққа дайындалу» алгоритмін жазайық.
Команда нөмірі Алгоритм командасы Алгоритм нәтижесі
1. Күнделікті қолға ал Күнделікті қолға алынды
2. Тиісті бетін аш Тиісті беті ашылды
3. Пәнді, тақырыпты, берілген тапсырманы анықта Пән, тақырып, берілген тапсырма анықталды
4. Үйге берілген тапсырманы орында Үйге берілген тапсырма орындалды
5. Тоқта Сабаққа дайындалу аяқталды
Барлық командалары бірінен кейін бірі ретімен орындалатын болса, оны сызықтық алгоритм деп атайды. Егер командалардың орны ауысатын болса алгоритм орындалмайды. Сызықтық алгоритмге мысал қарастырайық.
Мысалы: «Үй тапсырмасын орындау» алгоритмі.
1. Күнделікті алу.
2. Тиісті бетін ашу.
3. Үй тапсырмасын анықтау.
4. Үй тапсырмасын орындау.
5. Күнделікті орнына қою.
6. Тоқта.
Сонымен, әрекеттердің тізбектей орындалуын сипаттайтын алгоритм – сызықтық алгоритм болды. Сызықтық алгоритм командалары осында көрсетілген реті бойынша орындалатын тізбектеле орналасқан командалардан тұрады. Амалдардың осылай бірінен кейін бірінің реттеліп орындалу тәртібін табиғи атқарылуы дейді.
Күнделікті өмірде жиі кездесетін алгоритмдердің бір түріне есептегі белгілі бір шарттың орындалуына не орындалмауына байланысты командалар тізбегінің бірнеше тармақтарға бөлінетін тобы жатады. Тармақталу алгоритмінде көбінесе арифметикалық теңсіздік (теңдік) түрінде берілген логикалық шарт тексеріледі. Егер ол орындалса, онда алгоритм бірінші тармақпен, ал орындалмаса екінші тармақпен жүзеге асырылады да, соңында екі тармақ қайта бірігеді. Мұндай алгоритмдерде шартты тексеру тармақталу командасы деп аталады.
Шарттардың орындалу нәтижелеріне байланысты атқарылатын іс-әрекеттер тізбегін тармақталған алгоритм деп атайды. Шарт схемасынан екі команда шығады. Сұраққа «иә» деп жауап берілсе, онда «иә» тармағынада тұрған команда орындалады. Егер сұраққа «жоқ» деп жауап берілсе, онда «жоқ» тармағында тұрған команда орындалады.
Мысалы: «Мал азықтандыру» алгоритмі
иә жоқ
Алгоритмде бір іс-әрекет бірнеше рет қайталанса, онда оны қайталау алгоритмі деп атайды. Бұл алгоритмнің орындалуы шартқа байланысты.Шарт іске асырылып тұрғанда, команда қайталанып орындала береді. Егер шарт орындалмаса, командаларды қайталау да тоқталады.