Тапсырмаларды шешу стратегиялары.

Алгоритм– математикадағы ең бір іргелі ұғымдардың бірі.Информатика ғылымында «алгоритм» түсінігі ақпарат түсінігі сияқты негізгі ұғымдардың бірі болып табылады.

«Алгоритм» сөзі ІХ ғасырда өмір сүрген, адамдардың квадрат теңдеулерді жүйелей құрып оны шеше білуге үйреткен ұлы араб математигі Әбу Жафар Мухаммед ибн Мұса әл-Хорезми (763—850 жж.) есімінің латындық algorithmi сөзінің транскрипциясы болып табылады. Ол санаудың ондық санау жүйесінде көп орынды сандар мен арифметикалық амалдардың орындалу ережесін ұсынған. Бұл ережелер қосынды мен көбейтіндіні табуға арналған амалдарды орындауға қажетті тізбектен құрылған. Сол ереже осы күнге дейін қолданылып келеді.

Бірақ әл-Хорезмиге дейін де арифметикалық операцияларды орындау ережелері көп болатын. Бірақ ол кезде сандардың ерекшеліктеріне көп мән берілген, ал әл-Хорезми болса, көпорынды сандардың бәріне ортақ және барлық сандарға жарамды ереже ұсынды. Әл-Хорезмидің тәсілін қолдаушыларды алгоритмдіктер деп атады. Алгоритм ұғымы бірнеше қасиеттері бар ережелер жүйесі деген мағынаны білдіреді. Осылайша алгоритм ұғымы математикада ертеден қолданыла бастағанымен, математикалық теорияның объектісі ретінде кейбір проблемаларды зерттеуге байланысты ХХ ғасырдың 30-шы жылдарында зерттеле бастады.

Қазіргі таңда алгоритм ұғымы тек математикалық есептерге ғана емес, сонымен қатар басқада мағыналарда қолданылады. Әрбір компьютер алдын-ала құрылған алгоритм бойынша, яғни программа бойынша жұмыс істейді.

Алгоритм ұғымының анықтамасы өте көп. Берілген есепті шешу үшін қандай да бір программалау тілінде программа жазғыңыз келсе, онда алдымен есепті шешудің алгоритмін құруыңыз керек.

Алгоритмдеп берілген есептің шығару жолын реттелген амалдар тізбегі түріне келтіруді айтамыз. Кез келген есептің шешу кезеңін қарапайым амалдар тізбегіне бөлектеуге болады. Алгоритмді компьютерде орындау үшін оны программа түрінде жазып шығу керек.

Программа деп машина тілі түсінетіндей, инструкциялар тізбегі түрінде жазылған алгоритмді айтамыз. Программа командалар тізбегінен тұрады. Командалар тізбегі орындалған кезде есептің нәтижесі шығады. Әрбір компьютер алдын-ала құрылған программа бойынша жұмыс жасайды. Яғни, программа деп белгілі бір нәтиже алу үшін түсінікті операциялар тізбегін айтамыз. Процессор программа құрамындағы командаларды реті бойынша орындайды. Команда бір қарапайым операцияны орындауға бұйыратын бұйрық түрінде болады. Командалар арифметикалық, логикалық, басқаруды беру, сандарды салыстыру, экранға шығару, принтерге шығару және т.б. болып бөлінеді.

Алгоритм құрылымына қарай оны келесі типтерге бөлуге болады:

1. Сызықтық алгоритмдер. Сызықтық алгоритм қарапайым командалар тізбегінен тұрады. Әрекеттердің тізбектей орындалуын сипаттайтын алгоритм сызықтық алгоритм деп аталады. Мысалға, алдыңғы практикалық жұмыстағы екі санның қосындысын табу алгоритмі сызықтық алгоритмге жатады.

2. Тармақталу алгоритмі. Күнделікті өмірде алгоритмдер негізінен тармақтарға бөлінеді. Бұл тармақтардың орындалуы шарттың орындалуына байланысты болады. Тармақталу алгоритмінде біріншіден, арифметикалық теңсіздік түрінде берілген логикалық шарт тексеріледі. Егер шарт орындалса, алгоритм бір тармақ бойынша (1-ші серия) , ал егер орындалмаса, екінші тармақ бойынша (2-ші серия) орындалады.

 

 

 

3. Циклдік алгоритмдер. Көптеген алгоритмдерде белгілі бір әрекеттер бірнеше рет орындалады. Математикада, есеп шығару барысында айнымалы мәні өзгеруіне байланысты бір теңдеудің көмегімен бірнеше рет есептеледі. Алгоритмнің белгілі бір бөлігі бірнеше қайталанатын болса, ондай процессті цикл деп атайды. Қайталанатын бөлігі бар алгоритмдер циклдік алгоритм деп аталады. Циклдік алгоритмдер қолдану арқылы программаны қысқа да нұсқа жазуға болады. Қайталану бөлігіне қайталану (циклдік) командалары қолданады. Қайталану саны белгілі немесе белгісіздігіне байланысты циклдар екі түрге бөлінеді. Қайталану саны белгілі болса, ондай цикл арифметикалық, ал егер белгісіз болса, итерациялық деп аталады.