9
2) алгоритм дегеніміз – берілген мәндерді пайдаланып қажетті нәтижеге
жетуді жүзеге асыратын әрекеттердің орындалу ережесі.
3) алгоритм дегеніміз – алғашқы берілген мәліметтерді пайдаланып, қойыл-
ған мақсатқа жетуге немесе мәселені шешуге (есепті шығаруға) бағытталған
әрекеттердің орындалуын жүзеге асыратын атқарушыға түсінікті және
нақты нұсқаулар тізбегі.
Осы анықтамаларды және жоғарыда келтірілген мысалдарды ой елегінен
ӛткізіп қорытынды жасау қажет. Ӛздерің де алгоритмге бірнеше мысал
келтіріңдер.
1.3 Алгоритмнің қасиеттері
Алгоритм ҧғымының мәнін ашатын негізгі қасиеттерінен немесе оған
қойылатын талаптардан қысқаша мағлҧматтар келтірейік. Компьютерде орын-
далуға тиіс алгоритмдерге мынадай талаптар қойылады:
1) алгоритм анық әрі дәл ӛрнектелуі тиіс;
2) оның модульдік (бӛлікке бӛліну) қасиеті, яғни алгоритмді кішкене бӛлік-
терге бӛлу мҥмкіндігі болуы қажет;
3) алгоритм шектелген уақыттан соң нәтиже беруі тиіс, яғни алгоритм
қадамдарының саны шексіз болмауы керек;
4) бір тектес есептерге жалпы бір ғана алгоритм қолданылуы тиіс.
1. Алгоритмнің айқын, дәл ӛрнектелу қасиеті. Алгоритмде келтірілген
барлық іс-әрекеттердің мағынасы айқын, нақты анықталған болу керек. Онда
қандай қадамдар кӛрсетілсе, тек соны ғана орындау керек. Есеп шығару
жолына керектің бәрі біржақты анықталуы және орындаушыға тҥсінікті әрі
нақты болуы тиіс. Атқарушы алгоритм командаларын орындау кезінде
ешқандай ойланбауы тиіс.
Мысал: Бір патшаға ҧсталған ҧрыны алып келеді. Сонда патша оның қоғамға
жат қылықтарын естіп, уәзірлеріне "Ӛлім болмасын кешірім" деп бҧйрық
береді. Қағазға жазылып, ҥтірі қойылмаған бҧл бҧйрықты қалай тҥсінуге
болады? Егер "Ӛлім, болмасын кешірім" деп берілсе, онда ол ӛмір сҥрмейді. Ал
"Ӛлім болмасын, кешірім" деп айтылған жағдайда, оған жеңілдік жасалуы тиіс.
Міне, ауызша айтылған бҧл бҧйрықта айқындық болмай тҧр. Алгоритмді
осындай тҥрде ауызша айқындамай беруге болмайды.
2. Алгоритмнің үзіктілік, яғни модульділік қасиеті. Екіншіден, алгоритмнің
ҥзік-ҥзік модульдерге бӛліну қасиеті болуы тиіс, яғни ҥлкен алгоритмді
бірнеше кішкене алгоритмдерге жіктеуге әрқашанда мҥмкіншілік болуы керек.
Бҧл қасиет бойынша алгоритм аралық нәтиже беретіндей бірнеше ықшамды
бӛліктерге, ал олар одан да кіші қадамдарға бӛлінеді, яғни мәселені шешу про-
цесінің тізбегі жеке-жеке әрекеттерге жіктеледі. Сондықтан алгоритмді екі-ҥш
бӛлікке бӛліп, оларды ӛзінше қҧра алатын дәрежеде жҧмыс істелуі қажет. Олар
тек бірінің қорытындысын келесі жолы керекті мәлімет ретінде қолдануы тиіс.
Орындаушы алғашқы әрекетті, қадамды аяқтамай келесі әрекетке кӛше
алмайды. Олай болса, алгоритмдік процестің қҧрылымы ҥздікті (дискретті),
яғни бір-бірінен ажыратылған командалар тізбегінен тҧрады. Атқарушы алғаш-
10
қы әрекетті – қадамды аяқтамай, келесі әрекетке кӛше алмайды және алгоритм-
нің әрбір қадамын жеке нақты нҧсқау ретінде орындайды. Белгілі бір
командалар негізінде алгоритмнің біртіндеп қадамдарға бӛлініп атқарылуын
оның ҥзіктілік қасиеті деп атайды.
3. Алгоритмнің нәтижелілік қасиеті. Кез келген алгоритм нәтижелі болуы
керек. Әрекеттердің шектелген санынан кейін белгілі бір уақыт ішінде
қорытынды нәтиже алуымыз қажет. Әрбір алгоритм біршама бастапқы
мәліметтердің болуын талап етеді және іздеген нәтижені алуға қол жеткізеді.
Алгоритмде қҧрастырылған нҧсқаулардың шекті саны орындалғаннан кейін
(алгоритм соңында), егер есептің шешуі болса оның шешуін, ал шешуі болмаса
"шешуі жоқ" деген нәтиже беруі қажет. Мысалы, сандарды қосу алгоритмі ҥшін
бастапқы мәліметтерге қосылғыштар мәні жатады, ал нәтижесі қосынды
болады. Кейде алгоритмнің бірнеше қадамы қайта-қайта қайталанып, ешбір
нәтиже бермей қояды. Ондай есептер алгоритмдерін компьютерде циклден
шықпайтын, нәтижесіз деп қайта қҧрады.
4. Алгоритмнің жалпылық немесе ортақтық қасиеті. Алгоритм қҧрылғанда
белгілі бір жеке ғана мәселеге (есепке) арналып жасалмай, сол тәрізді мәсе-
лелердің барлық тобын шешуге мҥмкіндік беретіндей етіліп жасалуы қажет.
Бҧл қасиетті алгоритмнің жалпылық немесе жалпыға бірдейлік қасиеті дейді.
Бҧл қасиет алгоритмнің практика жҥзінде пайдаланылу бағалылығын артты-
рады. Алгоритмнің бҧл қасиеті бастапқы мәліметтер мәнінің бір жиыны бір
ғана нәтиже беретініне кепілдік бере алады. Егер берілген мәліметтер ӛзгерсе,
нәтиже де ӛзгереді. Басқаша айтқанда, бір алгоритм бір типтес есептердің әр-
тҥрлі алғашқы мәліметтері ҥшін әртҥрлі нәтижелер беруі тиіс. Мысалы, квадрат
теңдеуді шешу алгоритмі кез келген а, b, с мәндері ҥшін оның тҥбірін дҧрыс
табуы керек. Егер а-ны ӛзгертсек, тҥбір де ӛзгереді, яғни жалпы квадрат
теңдеулер тек бір алгоритммен шығарылып, дҧрыс нәтиже береді. Ал, берілген
бҧрыштың синусын табу алгоритмі кез келген алғашқы бҧрыш аргументі
арқылы оның (sіnх) нақты мәнін тауып бере алады.
Біз бҧдан былай орындалатын іс-әрекеттер тізбегін ӛрнектеу кезеңінде жиі
қолданылатын қарапайым блок-схемаларды пайдаланамыз. Программалау
тілдерінде атқарылатын амалдар қысқаша жазылып, тҥсінікті болуы ҥшін
табиғи тілдің кейбір тҥйінді сӛздері қарастырылады.
Енді алгоритм қасиеттерінің сырын ашатын бірнеше мысалдар қарас-
тырайық.
1-мысал.
d
cx
b
ax
y
формуласы бойынша x-тің кез келген мәні ҥшін y-тің
мәндерін есептеңдер. Бҧл мысалда амалдарды қадам ретінде біртіндеп
программалау кӛрсетілген. Қазіргі кезде мҧндай программалау тәсілі тек
машиналық тілдерде жҥргізіледі. Алгоритмді тӛмендегідей амалдарға бӛліп
жазу машиналық тілдерде немесе ассемблер тілінде жҥзеге асырылады. Ал
студенттер және жалпы тҧтынушылар оларды математикада жазылуына сәйкес
ӛрнек тҥрінде бірден жаза береді.
y-тің мәндерін есептеу алгоритмі:
Достарыңызбен бөлісу: |