1 Тақырып. Алгортим ұғымы
Алгоритм сөзі IX ғасырда арифметикалық амалдарды орындау ережесін тұжырымдаған ұлы математик әл-Хорезмидің аты латынша algoritmi болып жазылуынан шыққан. Алғашқы кезде алгоритмі тек көп таңбалы сандарға арифметикалық төрт амалды орындау ережесі ғана деп ұғынған Кейінірек бұл ұғым жалпы алға қойылған мәселені шешуге келтіретін әрекеттер тізбегін белгілеу үшін пайдаланыла бастады.
Қазіргі заманда, адам көп істі компьютерде пайдалану, арқылы атқарады. Кез келген міндетті орындату алгоритмнің болуын, яғни нәтиже алуға жеткізетін әрекеттердің алдын ала жазылып қоюуын қажет етеді. Алгоритмнің негізінде программа түзіледі, яғни есеп шешуінің алгоритмі оны компьютерде орындауға жарамды түрде жазылады. Осыдан барып компьютердің көмегімен есепті шешу процесінің мәні алгоритмді құру екені көрінеді.
Кез келген адам күнделікті көптеген жұмысқа кезігеді, ал оларды атқарудың жолдарын көрсететін белгілі ережелер (нұсқаулар, жарлықтар) болады.
Көзделген мақсатқа жетуге немесе қойылған есепті шешуге бағытталған әрекеттер тізбегін іске асыру үшін атқарушыға түсінікті әрі дәл жарлық (нұсқау) алгоритм деп түсініледі.
Алгоритмдік алдын ала жазбаларды құрастыру процесі алгоритмдеу деп аталады.
Алгоритм мысалдары, алгоритмнің жазылуы атқарушыдан қайсыбір аяқталған әрекетті орындауды талап ететін жекелеген нұсқауларға жіктелетінін көрсетеді. әрбір осындай нұсқау команда деп аталады. Алгоритмнің командалары бірінен кейін бірі орындалады. Алгоритмнің әрбір орындалу қадамында атқарушыға келесі жолы қандай команданың орындалатыны дәл белгілі болады. Алгоритм командаларын шектеулі санды қадамдар жасап өз кезегімен орындау есепті шешуге, қойылған мақсатқа жетуге әкеледі. Әрбір алгоритм әйтеуір бір атқарушыға арналып құрылады. Атқарушының берілген алгоритм бойынша есепті шеше алуы үшін, оның алгоритм командалары міндеттейтін әрбір әрекетті орындай алатындай күйде болуы қажет.
Атқарушы жүзеге асыра алатын командалардың жиынтығы атқарушының командалар жүйесі деп аталады. Алгоритм атқарушыға түсінікті болып, яғни оның әрбір командасы орындаушының командалар жүйесіне енуі керек. Сонымен, алгоритмді дұрыс құру үшін атқарушыға командалар жүйесінің білу және алгоритмнің орындалуының әрқашан шектеулі санды қадамнан соң аяқталатынына сенімді болу қажет.
Алгоритмнің мынадай ерекшелігі болуы керек.
Алгоритм айқын, аяқталған әрекеттер болып табылатын жеке қадамдарға бөлінуі керек. Орындаушының келесі қадамға өтуі алдыңғысын аяқтағаннан кейін ғана мүмкін. Алгоритмнің жеке қадамдардан құрыла алатын қасиеті дискреттілігі деп аталады.
Алгоритмнің әр ұйғарымы немесе командасы орындаушыға түсінікті болуға тиіс, яғни олар бір мағынада түсініліп, қайталанатын алғашқы деректер бойынша біріңғай нәтижелерге әкелуге тиіс. Алгоритмнің бұл қасиеті анықтығы деп аталады.
Алгоритмнің нақты бір мәселені ғана емес, бүкіл бір типті мәселелерді шеше алатын мүмкіндігі бар. Мысалы; квадрат теңдеуін шешетін алгоритм оның түбірін кез келген коэффициент мәндерінде табуға мүмкіндік береді, ал жол жүру ережесі баршаға ортақ. Алгоритмнің қасиеті жалпылылығы (көпшілікке бірдейлігі) деп аталады.
Нәтижелілігі. Айқын белгіленген әрекеттер тізімнің әрқайсысы нәтижеге жеткізе бермейді. Мыс: шахматта 10120 жүрістен тұратын ұтылыссыз ойын стратегиясы бар, бірақ оны түгел орындауға адам баласының ғұмыры жетпейді. Орындаушы үшін ол орындап отырған әрекеттер тізімі, егер олар мәселені қолайлы мерзімде шешуге жеткізсе, алгоитм болып есептеледі.
Осылайша алгоритм мынадай қасиеттерге ие: дискреттік, анықтық, жалпылық, нәтижелік.
Алгоритмнің формальды атқарылуы
Атқарушы алгоритмді атқара отырып, өзі не істеп отырғанын істің мән-жайына жете үңілмеуі мүмкін, соның өзінде ол керекті нәтижені ала алады. Мұндайда орындаушы формальды әрекет етеді, дейді, яғни қойлған мәселенің мазмұнына үңілмей ақ, қайсыбір ережелерді, нұсқауларды бұлжытпай орындап отырады. Бұл алгоритмдердің өте маңызды ерекшелігі. Сонымен, алгоритм құру есепті алгоритмнің командаларын көрсетлген ретпен формальды, механикалық түрде орындай отырып, шығаруға мүмкіндік береді.
Кез келген саладағы есепті шығару үшін алгоритм құру адамның сол саладан терең білімі болуын қажет етеді, қойылған мәселені мұқият зерттеп талдаумен, күрделі, кейде аса ыждахатты пайымдаулармен байланысты болады.
Алгоритм көрсетімінің әдістері. Алгоритмнің мәтіндік және графиктік түрде көрсетілуі. Алгоритмге мысалдар.
Алгоритм сипаттамасының, көрсетімінің әдістері көп. Біз төртеуіне тоқталамыз: табиғи тіл, графикалық тіл, алгоритмдік тіл және программалау тілі.
табиғи тіл (орындаушы адам) – орыс, қазақ, ағылшын тілдерінің сөздері.
графикалық тіл (орындаушы адам) – әрекеттер сипаттамасы бар графикалық схемалар (блок-схемалар).
алгоритмдік тіл (орындаушы адам) – әрекет немесе орындаушыға арналған командалар мағынасы берілетін табиғи тілдің белгілі сөздері.
программалау тілі (орындаушы компьютер) – программалау тілінің командалары.
Алгоритмдердің құрылымын құру әдістерін үйрену үш көрсетілімде бірден жүреді: блок-схемалар түрінде, алгоритмдік тілде, программалау тілінде. Алгоритм көрсетімінің ең көрнекі әдісі болып блок-схемалар түріндегі графикалық көрсетім саналады. Алгоритм бұл жерде блоктар бірізділігі түрінде бейнеленеді. Олардың ішіне орындалып жатқан әрекеттерді түсіндіретін ақпарат орналасқан.
Алгоритмнің графиктік схемасын (блок схемасын) мынадай геометриялық фигуралар арқылы бейнелеу келісілген.
- эллипс, программаның басын және соңын белгілеу.
- деректерді енгізу, деректерді шығару немесе қорытындылау.
- белгілі бір амалдың орындалуын анықтайды немесе есептеуіш әрекет.
- берілген шартты тексеру белгісі.
- информацияның берілу бағытын көрсетеді.
Егер алгоритмдердің жасалу құрылымын қарасақ, олардың жасалуының үш негізгі түрін атап көрсетуге болады: сызықтық, тармақталған, циклдік.
Егер орындаушы командаларды бірінен соң бірін ілесу тәртібімен орындайтын болса, ол алгоритм сызықтық деп аталады.
Орындаушының әрекеттері кейбір шарттарды тексеру нәтижелерімен белгіленетін болса, алгоритм тармақталған болып саналады.
Жеке командалар немесе команда топтары көп рет қайталанатын болса, алгоритм циклдік деп саналады.
Алгоритмге мысалдар:
Сызықтық алгоритмнің блок-схемасы:
1. Мыс: Табаны В және биіктігі H берілген үшбұрыштың ауданын бабу керек.
Тармақталған алгоритмнің блок-схемасы:
2. Мыс:
иә жоқ иә жоқ
Циклдік (қайталау) алгоритмнің блок-схемасы:
3. Мыс: Берілген 1-ден 100-ге дейінгі сандардың қосындысын есептеу.
Достарыңызбен бөлісу: |