Алгоритм тушунчаси
Алгоритм сўзи ва тушунчаси IX асрда яшаб ижод этган буюк
бобоколонимиз Муќаммад ал – Хоразмий номи билан узвий бођлиқ.
Алгоритм сўзи ал – Хоразмийнинг арифметикага бађишланган
асарининг дастлабки бетидаги «Dixit Algoritmi» («Дедики
Алхоразмий » нинг лотинча ифодаси) деган жумлалардан келиб
чиққан.
Ал – Хоразмий биринчи бўлиб ўнли саноқ системасининг
тамойиллари ва унда турли амаллар бажариш қоидаларини асослаб
берди.
Бу эса ќисоблаш ишларини ихчамлаш ва осонлаштириш
имконини яратди, чунки бу билан ўша даврда қўллаш расм бўлган
рим рақамлари ва сонларни сўз орқали ёзиб бажаришдаги
ноқулайликлар бартараф этилди.
232
Дастлаб алгоритм дейилганда ўнли саноқ системасидаги сонлар
устида турли арифметик амаллар бажариш қоидалари тушуниб
келинган.
Демак, ал – Хоразмийнинг илмий асарларидан келиб чиққан
алгоритм тушунчаси жуда кенг маънода қўлланилади. Булар билан,
азиз талаба, сизу биз ђурурлансак бўлади. Айни бир вақтда кундалик
ќаётимизда бизни ўраб олган алгоритмлар шунчалик кўп ва хилма –
хил бўлса-да, биз уларнинг турларини ажрата олишимиз,
хусусиятлари ќамда тасвирлаш ва ишлаш усулларини билишимиз
лозим.
Алгоритм – биз ўрганаётган курсда асос этиб олинган
тушунчалардан бири ќисобланади, чунки унинг таърифи йўқ. Бироқ,
биз алгоритмнинг моќиятини аниқ ва қатъий тушунтиришга ќаракат
қиламиз. Алгоритм деганда бирор мақсадга эришишга ёки қандайдир
масалани ечишга қаратилган кўрсатмаларнинг (буйруқларнинг) аниқ,
тушунарли, чекли ќамда тўлиқ тизими тушунилади.
Алгоритмнинг бешта асосий хоссаси бор :
1. Д и с к р е т л и л и к. Бу хоссанинг мазмуни алгоритмларни
доимо чекли қадамларда бўлаклаш имконияти мавжудлигида, яъни
уни чекли сондаги оддий кўрсатмалар кетма – кетлиги шаклида
ифодалаш мумкин экан ва бу юқорида танишган мисолимизда яққол
кўриниб турибди. Агар кузатаётган жараённи чекли қадамлардан
иборат қилиб бўлаклай олмасак, уни алгоритм деб бўлмайди.
2. Т у ш у н а р л и л и к. Алгоритмнинг ижрочиси ќақида
дастлабки мисолдаёқ тўхтадик. Бироқ, шуни айтиш керакки,
алгоритмнинг ижрочиси ќамма вақт ќам инсон бўлавермайди. Чой
дамлашни, комьпютерни ишлатишни ёки бошқа юмушларни
бажаришни фақат одамга эмас, балки роботга ќам буюриш мумкин.
233
Биз кундалик ќаётимизда берилган алгоритмлар билан ишлаётган
электрон соатлар, машиналар, дастгоќлар, комьютерлар, турли
автоматик ва механик қурилмаларни кузатамиз.
Ижрочига тавсия этилаётган кўрсатмалар унинг учун тушунарли
мазмунда бўлиши шарт, акс ќолда ижрочи оддийгина амални ќам
бажара олмайди. Ундан ташқари ижрочи ќар қандай амални бажара
олмаслиги хам мумкин.
Ќар бир ижрочини бажара олиши мумкин бўлган кўрсатмалар ёки
буйруқлар мажмуи мавжуд, у и ж р о ч и н и н г к ў р с а т м а л а р
т и з и м и дейилади. Демак, ижрочи учун берилаётган ќар бир
кўрсатма ижрочининг кўрсатмалар тизимига мансуб бўлиши лозим.
Кўрсатмаларни ижрочининг кўрсатмалар тизимига тегишли
бўладиган қилиб ифодалай билишимиз муќим аќамиятга эга. Масалан,
қуйи синфнинг аълочи ўқувчиси «сонни квадратга оширилсин» деган
кўрсатмани тушунмаслиги натижасида бажара олмайди, лекин «сонни
ўзини ўзига кўпайтирилсин» шаклидаги кўрсатмани бемалол
бажаради, чунки у кўрсатма мазмунидан кўпайтириш амалини
бажариши кераклигини англайди.
3. А н и қ л и қ. Ижрочига берилаётган кўрсатмалар мазмуни
аниқ бўлиши зарур. Чунки кўрсатмадаги ноаниқликлар мўлжалдаги
мақсадга эришишга ќалал беради.
Одам учун тушунарли бўлган « 3 - 4 марта силкитилсин », «5 –
10 дақиқа қизитилсин», «1 – 2 қошиқ солинсин», «тенгламалардан
биттаси ечилсин» каби ноаниқ кўрсатмалар робот ёки компьютерни
қийин
аќволга
солиб
қўяди.
Бундан
ташқари,
аввал
таъкидлаганимиздек, кўрсатмаларнинг қандай кетма – кетликда
бажарилиши ќам муќим аќамиятга эга. Демак, кўрсатмалар аниқ
234
берилиши ва фақат алгоритмда кўрсатилган тартибда бажарилиши
шарт.
4. О м м а б о п л и к. Ќар бир алгоритм мазмунига кўра бир
турдаги масалаларнинг барчаси учун ќам ўринли бўлиши керак. Яъни
масаладаги бошланђич маълумотлар қандай бўлишидан қатъи назар
алгоритм шу хилдаги ќар қандай масалани ечишга яроқлидир.
Масалан, икки оддий касрнинг умумий махражини топиш алгоритми
касрларни турлича ўзгартириб берсангиз ќам уларнинг умумий
махражларини аниқлаб беради. Ёки учбурчакнинг юзини топиш
алгоритми учбурчакнинг қандай бўлишидан қатъи назар, унинг
юзини ќисоблаб беради. Шахсий комьютерни ишга тушириш
алгоритмини шу хилдаги барча комьютерлар учун ќам қўлласа
бўлади.
5. Н а т и ж а в и й л и к. Ќар бир алгоритм чекли сондаги
қадамлардан сўнг, албатта, натижа бериши шарт. Бажариладиган
амаллар кўп бўлса ќам, барибир натижага олиб келиши керак. Чекли
қадамдан сўнг қўйилган масала ечимга эга эмаслигини аниқлаш ќам
натижа ќисобланади. Агар кўрилаётган жараён чексиз давом этиб
натижа бермаса, уни алгоритм деб атай олмаймиз.
Алгоритмнинг берилиш усуллари хилма – хилдир, биз уларнинг
энг кўп учрайдиганлари билан танишамиз.
1. Алгоритмнинг сўзлар орқали ифодаланиши. Бу ќолда ижрочи
учун бериладиган ќар бир кўрсатма жумлалар орқали буйруқ
мазмунида берилади.
2. Алгоритмнинг формулалар ёрдамида берилиши. Алгоритмни
формулалар билан бериш усулидан математика, физика, кимё каби
аниқ фанларни ўрганишда кўпроқ фойдаланамиз.
235
3. Алгоритмнинг жадвал кўринишида берилиши. Алгоритмнинг
бу тарзда тасвирланишидан ќам кўп фойдаланамиз. Масалан,
мактабда қўлланиб келинаётган тўрт хонали математик жадваллар
билан ќамма ўқувчилар таниш ёки турли лотерея, заёмларининг ютуқ
жадваллари.
4. Алгоритмнинг дастур шаклида ифодаланиши. Алгоритмнинг
дастур шаклида ифодаланиши билан курсимизнинг кейинги
қисмларида батафсилроқ танишамиз. Бу ерда қисқа маълумот билан
чекланамиз. Миллионлаб компьютерларнинг кенг тарқалиб кетиши
алгоритмларнинг дастур тарзидаги тасвирининг кенг оммалашиб
кетишига катта туртки берди. Чунки аввалги бўлимларда
таъкидлаганимиздек, компьютерлар доимо дастурлар ёрдамида
бошқарилади.
5. Алгоритмни алгоритмик тилда тасвирлаш. Алгоритмик тил
алгоритмни бир хил ва аниқ ифодалаш, бажариш учун
қўлланиладиган белгилар ва қоидалар мажмуи. Алгоритмик тиллар
дастурлаш тилларига нисбатан анча кам ишлатилса ќам, уларнинг
алгоритмлар асосларини ўрганиш соќасидаги аќамиятини инкор этиб
бўлмайди.
6.
Алгоритмларнинг
график
шаклида
тасвирланиши.
Алгоритмнинг бу шакли сизга аввалдан таниш, чунки математика
курсида чизилган графикларнинг кўпчилиги алгоритмнинг график
усулда берилишига мисол бўлади.
Бундан ташқари, шаќар ёки турар жой мавзеларида жойлашган
бирор уй ќамда иншоотларни излаш ва ќаракатланиш бўйича берилган
карта – схемалар ќам шунга мисол бўла олади. Бироқ, биз сизларни
алгоритмнинг шу пайтгача таниш бўлмаган яна бир график тасвири
билан таништириб ўтмоқчимиз. Бу махсус воситанинг номи б л о к –
236
с х е м а деб юритилади. Блок – схемалар турли геометрик фигуралар
шаклидаги оддий элементлардан ташкил топади. Қуйида биз блок –
схемаларнинг асосий элеметлари билан танишамиз:
- овал (эллипс) шакли, у алгоритмнинг
бошланиши ёки тугалланишини
белгилайди;
- тўђри бурчакли тўртбурчак, қиймат
бериш ёки тегишли кўрсатмаларни
бажариш жараёнини белгилайди;
- ромб, шарт текширишни белгилайди,
унинг йўналтирувчилари бўлиб, тар
моқлар бўйича бири «ќа», иккинчиси
«йўқ» йўналишларни беради;
- параллелограмм, маълумотларни киритиш
ёки чиқаришни белгилайди;
-
- ёрдамчи алгоритмга мурожаатни
белгилайди;
- йўналтирувчи чизиқ, блок–схемадаги
ќаракатнинг бошқарувини белгилайди.
Блок – схемалар билан ишлашни бошиданоқ яхшилаб
ўзлаштириб бориши зарур.
Do'stlaringiz bilan baham: |