Алгоритм тушунчаси, масалаларни алгоритмлаш.
Компьютер ўз ҳисоблаш кучлилиги билан бирга тезкор, озода, аниқ ва шу билан бирга “бутунлай бефаҳм бажарувчи” ҳисобланади. Турли масалаларни ечишда ундан фойдаланганимизда компьютер бирор нимани ўзи ўйлаб топади деган фикримиз хато, компьютер ишлаши учун аниқ ва тўлиқ инструкция керак бўлади. Бу ерда биз алгоритмни аниқлаш тўпламидан бирига келяпмиз.
АЛГОРИТМ – сўнгги натижани ҳосил қилиш учун керакли бўлган, бирор ҳаракатни амалга оширувчи қатьий ўрнатилган тартиб. Бу ғалати туюлиши мумкин, лекин биз реал ҳаётда алгоритмга ҳар доим дуч келамиз. Омадли телефон қўнғироғи учун керакли бўлган амаллар тартибини ўз ичига олувчи телефон-автоматдан фойдаланиш инструкцияси. Маиший техникадан фойдаланиш қоидалари ва бошқалар қисқа, тушунарли шаклда бизга у ёки бу ҳолда нима қилишимиз кераклигини хабар қилиб, ҳаракатларимиз алгоритмини белгилаб беради. Тарихчи математикларнинг таъкидлашича, (H. Zemanek ишларига қаранг, Lecture Notes in Computer Sciece 122 (1981), 1-81), «алгоритм» сўзи буюк аждодимиз Абу Абдуллоҳ Муҳаммад ибн Мусо ал-Хоразмий исмидан келиб чиққан, унинг машҳур “Китоб ал-жабр ва ал-муқобола” трактаси эса яна бир машҳур “алгебра” атамасининг вужудга келишига асос бўлди. Компьютер иши жараёнида бошқариладиган инструкцияларни ишлаб чиқаришнинг асоси алгоритм ҳисобланади. Бироқ, биз алгоритмдан ўз ёзувларимизни тўғридан-тўғри компьютерга ўтказа олмаймиз, чунки улар компьютер тушунмайдиган, фақатгина инсонлар тушунадиган тилда ёзилган. Компьютер алгоритмни тушуниши учун у машина тилига ўгирилади, айнан шундай машина тилида ёзилган алгоритмлар дастур ёки компьютер дастури деб аталади. Қуйида биз бу тушунчани жорий курс асосида ётувчи алгоритм тушунчаси ёрдамида аниқлаштиришга ҳаракат қиламиз. Шуни таъкидлаш керакки, адабиётда умумэътироф этилган алгоритмни аниқлаш тушунчаси йўқ. Компьютер технологиялари тушунчасига адекват бўлган алгоритм ифодасини берамиз:
Алгоритм – бу масала ечимини ҳосил қилиш учун бошланғич информацияда амалга ошириш керак бўлган аниқ белгиланган амаллар кетма-кетлиги.
Ихтиёрий алгоритм муҳим хоссаларга эга:
Алгоритмнинг аниқлиги – ҳар бир қадам бажарилишининг бир қийматлилиги.
Дискретлилиги – масалани ечиш жараёнини бажарилиш вақтида компьютер ёки инсонга қийинчилик туғдирмаслиги учун бир неча содда босқичлар (бажарилиш қадамлари)га бўлиш.
Оммавийлик –белгиланган масалалар синфини ечиш учун алгоритмнинг фойдалилиги.
Натижавийлик – охирги қадамларда дастлабки маълумотларга эга бўлган керакли натижани олишга имкон берувчи алгоритмнинг ҳаракатлар якуни.
Амалиётда қуйидаги алгоритм турлари мавжуд:
Чизиқли – амаллар кетма-кет, бирор-бир шарт текширилмасдан бажарилувчи алгоритм.
Тармоқланувчи – белгиланган шартларнинг ўзгаришига боғлиқ ҳолда кўрсатмаларнинг вариантлари олдиндан мўлжалланадиган алгоритм.
Циклик – алоҳида жараёнлар ёки жараёнлар гуруҳи бир неча марта бажариладиган алгоритм.
Do'stlaringiz bilan baham: |