Алгоритм[1], алгорифм (ағылшынша: algorіthm, algorіsmus — Әл-Хорезмидің атынан шыққан) — бастапқы берілген мәліметтермен
бір мәнде анықталатын нәтиже алу үшін
қай амалды (жұмысты) қандай ретпен орындау
қажеттігін белгілейтін есептерді (мәселелерді)
шешу (математикалық есеп-қисаптар орындау, техникалық объектілерді жобалау, ғылыми-зерттеу жұмысын жүргізу
т.б.) тәсілдерінің дәл сипаттамасы. Алгоритм
—математика мен кибернетиканың негізгі ұғымдарының бірі. Агоритмді
орындау алгоритмдік
процесс деп аталады.
Жалпы Алгоритм деп алдын ала не істеу
керек екені дәл көрсетілген есептеу процесін айтады. Есептеу процесі қандай болса
да алғашқы мәндерден бастап, сол арқылы
толық анықталған қорытынды шыққанша
жүргізіледі. Алгоритм ұғымының алғышартына
алгоритмдік процеспен қатар мүмкін болатын
алғашқы деректер жиынтығының нұсқауы
және қорытынды алуға байланысты жүргізілген
процестің аяқталғандығын көрсететін
ереже енеді. Белгілі бір бастапқы деректердің
жиынына қолданылған Алгоритм тиянақты
қорытындыға келмеуі немесе есептеу барысы
аяқталмай тоқталуы мүмкін. Егер есептеу
процесі белгілі бір қорытынды алумен
аяқталса (не аяқталмай қалса), онда Алгоритм
мүмкін болатын бастапқы деректерге қолданылады
(не қолдануға болмайды) деп ұйғарылады.
Алгоритм — қазіргі математикада,
оның ішінде электронды есептеуіш
машинада қолданылатын негізгі ұғымдардың
бірі. Белгілі бір теңдеу түбірінің жуық мәнін кез келген дәлдікпен табу
оған арналған Алгоритммен есептеледі. Компьютердің кең қолданылуына байланысты Алгоритм
жаңа мағынаға ие болды. Берілген есепті
шешу барысында орындаушыға біртіндеп
қандай әрекеттер жасау керектігін түсінікті
әрі дәл көрсететін нұсқау да Алгоритм
деп аталады. Алогритмді орындаушы — адам, ЭЕМ немесе робот. Әрбір нұсқау — бұйрық. Ал орындаушының
жүзеге асыра алатын бұйрықтар жиыны бұйрықтар
жүйесі деп аталады. Мысалы, у = (ax + b) (cx
- d) функциясын есептеу ЭЕМ-да мынадай әрекеттерден
құралады:
- а-ны x-ке көбейту R1 деп,
- оған b-ны қосу нәтижесі R2 деп,
- с-ны х-ке көбейту R3 деп,
- сх-тан d-ны алу R4 деп,
- R2-ні R4-ке көбейту у деп белгіленеді.
Алгоритмнің бұйрықтары бірінен кейін
бірі кезекпен орындалады. Бағдарлама
Алгоритм тілінде жазу, бейнелеу мағынасын
береді. Компьютерде Алгоритмнің сызықты, тармақты, циклді, логикалық, модельдік, параллельдік, тізбекті т.б. түрлері қолданылады.[2]
[өңдеу]Алгоритм қасиеттері
Толық мақаласы: Алгоритм
қасиеттері
Алгоритм ұғымның
мәнін аша түсетін оның мынадай қасиеттері
бар:
- Алгоритм дискретті информациялармен жасалатын әрекеттерді тағайындайды және өрнектейді. Алгоритмге қатысты әрекеттердің бәрі дискретті болады. Алгоритмнің жұмысына қажетті материалдар ретінде символдық мәтіндер және сандар пайдаланылады.
- Алгоритм біздің қалауымызға қарай өзгертуге болмайтын нақты нұсқау алгоритмде не істеу керектігі алдын-ала айқын береді. Мысалы, бір есепті шешудің алгоритмі берілсе онда ойланбай-ақ алгоритмде қандай нұсқаулар берілсе, сол нұсқауларды берілу ретімен орындасақ, есеп шығады. Алгоритмнің осы қасиетін оның анықталғандық қасиеті дейміз. Бұл жағдай адам сияқты емес ойлау қабілеті жоқ құрылғылардың мысалы, компьютердің көмегімен есептерді шешу мүмкіндігіне кепілдік берді. Мұндай құрылғылар алгоритмнің жарлықтарын ойланбастан формальды орындайды. Сондықтан алгоритмді есепті шығаруға қажеттінің бәрі бір мәнді анықталу және атқарушыға түсінікті әрі нақты болуы тиіс.
- Бір алгоритмнің өзін бірнеше есептің шешімін табу үшін пайдалану мүмкіндігі, яғни бастапқы деректер мәндерінің жиынына пайдаланылу мүмкіндігі бар. Алгоритмнің мұндай қасиетін көпшілікке бірдейлік, басқаша айтқанда, жалпылық қасиеті деп атайды.
- Әрбір алгоритм белгілі бір бастапқы деректердің болуын талап етеді және іздеген нәтижені алуға жеткізеді. Мысалы, екі санды қосу алгоритмнде қосылғыштар бастапқы деректерге, ал қосынды нәтижеге жатады. Осылайша, алгоритмдегі әрекеттердің белгілі бір санның орындалуынан кейін қажетті нәтиже алу мүмкіндігі алгоритімнің нәтижелілігі деп аталады.
Алгоритм – математикадағы ең бір іргелі ұғымдардың бірі.
Алгоритм сөзі ІХ ғасырда өмір сүрген, адамдардың [[квадрат] теңдеулерді жүйелей
құрып оны шеше білуге үйреткен ұлы математик Әл-Хорезмидің атының латынша жазылуы algorithmi
сөзінен алынған. Осылайша алгоритм ұғымы
математикада ертеден қолданыла бастағанымен,
математикалық теорианың объектісі ретінде
кейбір проблемаларды зерттеуге байланысты
ХХ ғасырдың 30-шы жылдарында зерттеле
бастады.
Алгоритм деп берілген
есепті шешудегі жасалатын әректтерді
дәл және қарапайым етіп жазуды айтамыз.
Басқаша айтқанда алға қойылған мақсатқа
жетуде немесе берілген есепті шешуде
орындаушыға біртіндеп қандай әректтер
жасау керектігін дәл көрсететін
нұсқауларды немесе іздеп отырған
нәтижені алу мақсатында деректермен
атқарылатын әрекеттерін орындалу
реттілігін анықтайтын жарлықты алгоритм
дейміз. Алгоритм белгілі бір реттіліепен
бірінен соң бірі орындалатын
бірнеше қадамдардан тұрады. Алгоритмнің
әрбір қадамы бір немесе бірнеше
қарапайым операцияларды қамтиды.
Алгоритм ұғымның
мәнін аша түсетін оның мынадай
қасиеттері бар:
- Алгоритм дискретті информациялармен жасалатын әрекеттерді тағайындайды және өрнектейді. Алгоритмге қатысты әрекеттердің бәрі дискретті болады. Алгоритмнің жұмысына қажетті материалдар ретінде символдық мәтіндер және сандар пайдаланылады.
- Алгоритм біздің қалауымызға қарай өзгертуге болмайтын нақты нұсқау алгоритмде не істеу керектігі алдын-ала айқын береді. Мысалы, бір есепті шешудің алгоритмі берілсе онда ойланбай-ақ алгоритмде қандай нұсқаулар берілсе, сол нұсқауларды берілу ретімен орындасақ, есеп шығады. Алгоритмнің осы қасиетін оның анықталғандық қасиеті дейміз. Бұл жағдай адам сияқты емес ойлау қабілеті жоқ құрылғылардың мысалы, компьютердің көмегімен есептерді шешу мүмкіндігіне кепілдік берді. Мұндай құрылғылар алгоритмнің жарлықтарын ойланбастан формальды орындайды. Сондықтан алгоритмді есепті шығаруға қажеттінің бәрі бір мәнді анықталу және атқарушыға түсінікті әрі нақты болуы тиіс.
- Бір алгоритмнің өзін бірнеше есептің шешімін табу үшін пайдалану мүмкіндігі, яғни бастапқы деректер мәндерінің жиынына пайдаланылу мүмкіндігі бар. Алгоритмнің мұндай қасиетін көпшілікке бірдейлік, басқаша айтқанда, жалпылық қасиеті деп атайды.
- Әрбір алгоритм белгілі бір бастапқы деректердің болуын талап етеді және іздеген нәтижені алуға жеткізеді. Мысалы, екі санды қосу алгоритмнде қосылғыштар бастапқы деректерге, ал қосынды нәтижеге жатады. Осылайша, алгоритмдегі әрекеттердің белгілі бір санның орындалуынан кейін қажетті нәтиже алу мүмкіндігі алгоритімнің нәтижелілігі деп аталады.
Осы айтылғандардан алгоритім
бастапқы деректерді пайдаланып іздеген
нәтижеге қол жеткізетін реттелген
әрекеттер тізбегі деген қлрытынды
жасруға болады. Мұндай әректтер тізбегінің
орындалуы алгоритмдік процесс,
ал әрбір әрекет оның қадамы, әрбір
нұсқау алгоритмнің қалыптасуы болып
табылады.
Алгоритмнің ең маңызды қасиеті
жоғарыда анықталғандық қасиетінде
айтылғандай оның орындалу нәтижесінің
атқарушыға тәуелсіздігі.
Сонымен алгоритм
туралы мына төмендегідей тұжырымдар
жасауға болады:
- алгоритмдер әртүрлі есептерді шешу үшін пайдаланылады;
- алгоритмді атқарушыдан аз білім талап етілетіндіктен есеп шығаруды айтарлықтай оңайлатады;
- әрбір алгоритм толық аяқталған әрекеттерді орындайтын атқарушыға арналған командалардан тұрады;
- атқарушы орындайтын командалардың жиынын атқарушының командалар жүйесі да.
- алгоритмдегі командалар атқарушының командалар жүйесінен алынады;
- алгоритмдегі командалар тізбегінің орындалуы алгоритмдік процесс да;
- алгоритмдегі әрбір команда оның қадамы да;
- санаулы әрекеттен кейін ғана алгоритмде іздеген нәтижеге қол жетеді;
- алгоритмдегі әрбір әрекет атқарушыға түсінікті және нақты болуы керек;
- бірнеше есептің шешімін табу үшін бір ғана алгоритмді пайдалануға болады;
- құрылған алгоритмді атқару есептің мазмұнына ой жүгіртіп оны талдауды қажет етпейді, тек командаларды формальді орындай береді;
- алгоритм әрбір атқарушыға арналып құрылады;
- алгоритмнің командалары атқарушыға түсінікті және орындалатын болуы тиіс;
- алгоритмді атқаруды тек адамға емес компьютерге де жүктеуге болатындығы есептеу процесін автоматтандыруға мүмкүндік береді.
Алгоритмнің құрамы дараланып
және оның әрекеттері анықталғаннан
кейін алгоритмді жазып көрсету
тәсілін және тілін білу керек
Алгоритмдік тілді падалану
оны құрушының өзіне ғана түсінікті
командаларды көпшілік қауымның пайдалануына
мүмкіндік береді.