21
Бұйымдарды сұрыптау алгоритмін қарастыруға қайта оралайық.
Бұл алгоритмде бір бұйыммен өндірілген бір реттік әрекет баяндалған.
Ол № 1 немесе № 2 дүкенге жіберілді және алгоритм осымен
аяқталды. Бірақ шынайы бұйымдардың сұрыптауға үлкен
көлемде
түсетіні. Яғни, алгоритмде баяндалған әрекеттер қайта-қайта
қайталануы тиіс. Ұзақтығы қандай? Сірә, конвейрде бұйым болған
кезде шығар.
Сұрыптау процесі көп рет қайталануы үшін алгоритмді қалай
өзгертуге болады? Нақты қандай әрекеттерді қайталау керек және қай
уақытқа дейін? Шешімнің екі нұсқасы бар:
■
шарт жасау, оны орындау барысында
әрекетті қайталап отыру
қажет, шарт қалай бұзылады, солай қайталауды тоқтатып,
алгоритмді жалғастыруға көшу керек (мысалы, шарбақ
тақтайларын ол біткенше сырлау, содан кейін ғана түскі үзіліске
кірісу);
■
бірдей әрекеттерді қажетті деңгейге жеткенше қайталау (мысалы,
бөшкеге он литр су құю).
Бірінші нұсқа анағұрлым әмбебеп – ол тақтай саны әртүрлі
шарбақтараға
сәйкес келе береді, сонымен бірге алдын ала белгісіз
болған жағдайдарда да. Бірақ бұл алгоритм нұсқасын орындаушы
жасалған шарттың орындалуын тексере алуы керек (шарбақ аяқталды
ма?), адам үшін қиындық тудырмайтын нәрселердің машина үшін ауыр
болуы мүмкін.
Ал екінші нұсқа машина үшін қиындық тудырмайды –
механикалық, электрлік, электрондық
және басқа да есептегіштер
бұрыннан бар және олар әртүрлібір бұл нүсқа иілігіштіктен ада және
алгоритмді орындау шарты өзгереген кезде (мысалы бөшкені
кішірегіне ауыстырған кезде) алгоритмнің өзіндегі нұсқауды өзгерту
қажет (құйылатын шелектің санын өзгерту).
Алгоритмдегі
қайталанатын
әрекет
топтары
циклді
қалыптастырады.
Бірдей әрекеттер
қайталанап келетін алгоритмдер
циклдік алгоритмдер деп аталады
.
Қайталау шарты бұзылған жағдайда алгоритмді орындаушы
циклден тыс тұрған келесі әрекеттерге көшеді
.
Алгоритмде бұйымдарды сұрыптау мен олардың саны алдын ала
белгісіз болғандықтын, бірінші нұсқаны пайдаланып көреміз –
орындалуы сұрыптау процесін қайталау үшін
қажетті шартты тауып
алуға тырысамыз. Мұндай шарт конвейрде кезекті бұйымдардың бар
болуы. Егер сұрыптауды адам жүргізсе, бұл бұйымды кездестіру оңай.
22
Егер сұрыптаушы алгоритмді орындаушы машина болған жағдайда, ол
конвейрдегі бұйымның бар екендігін тексере алуы тиіс. Машина мұны
қалай жасайды, әрі қарай қарастырайық. Ал қазір сұрыптау алгоритмін
циклдің қайталану шартымен толықтырамыз:
1.
Достарыңызбен бөлісу: