Algoritm tushunchasi Yuqorida qayd qilganimizdek, qo’yilgan biror masalani EHMda echish
uchun, avval uning matematik modelini, keyin algoritmini va programmasini
tuzish kerak bo’ladi. Bu uchlikda algoritm oppi muhim ahamiyatga ega. Endi
algoritm tushunchasining ta’rifi va xossalarini bayon qilamiz.
Algoritm bu oldimizga qo’yilgan masalani echish zarur bo’lgan amallar
ketma-ketligidir.
Masalan kvadrat tenglamani echish uchun quyidagi amallar ketma-ketligi
zarur bo’ladi:
a,v,s- koeffiientlar berilgan bo’lsin,
2. Berilgan a,b,c- koeffiientlar yordamida discriminant D=b2-4ac hisoblanadi,
3. D>0 bo’lsa X ½= (- b )/(2 *a )
4. D<0 bo’lsa haqiqiy echim yo’q
Misol sifatida yana berilgan a, v, s tomonlari bo’yicha uchburchakning yuzasini Geron formulasi bo’yicha hisoblash masalasini ko’rib o’taylik.
1. A, v, s –uchburchakning tomonlari uzunliklari,
2. R= (a+v+s)/2 –perimetrning yarmi hisoblansin,
3. T=p(r-a)(r-v)(r-s) hisoblansin,
4. S=/~ T hisoblansin.
Yuqoridagi misollardan ko’rinib turibdiki, algoritmning xar bir qadamda
bajariladigan amallar tushinarli va aniq tarzda ifodalangan, hamda chekli sondagi amallardan keyin aniq natijani olish mumkin. Fikr etilgan, tushinarlilik, aniqlik, cheklilik va natijaviylik tushunchalari algoritmning asosiy xossalarini tashkil etadi. Bu tushunchalar oppis pararaflarda alohida ko’rib o’tiladi.
Algoritm so’zi va tushunchasi IX asrda yashab ijod etgan buyuk alloma
Muhammad al-Xorazmiy nomi bilan uzviy bog’liq. Algoritm so’zi Al-Xorazmiy
nomini Evropa olimlari tomonidan buzib talaffuz qilinishidan yuzaga kelgan. AlXorazmiy birinchi bo’lib o’nlik sanoq sistemasining tamoyillarini va undagi to’rtta amallarni bajarish qoidalarini asoslab bergan.
Algoritmning asosiy xossalari Algoritmning 5-ta asosiy xossasi bor.
Diskretlilik (Cheklilik). Bu xossaning mazmuni algoritmlarni doimo
chekli qadamlardan iborat qilib bo’laklash imkoniyati mavjudligida. Ya’ni uni
chekli sondagi oddiy ko’rsatmalar ketma-ketligi shaklida ifodalash mumkin. Agar
kuzatilayotgan jarayonni chekli qadamlardan iborat qilib qo’llay olmasak, uni
algoritm deb bo’lmaydi.
2. Tushunarlilik.Biz kundalik hayotimizda berilgan algoritmlar bilan
ishlayotgan oppish soatlar, mashinalar, dastgohlar, kompyuterlar, turli avtomatik
va mexanik qurilmalarni kuzatamiz.
Ijrochiga tavsiya etilayotgan ko’rsatmalar, uning uchun tushinarli mazmunda
bo’lishi shart, aks holda ijrochi oddiygina amalni ham bajara olmaydi. Undan
tashqari, ijrochi har qanday amalni bajara olmasligi ham mumkin.
Har bir ijrochining bajarishi mumkin bo’lgan ko’rsatmalar yoki buyruqlar
majmuasi mavjud, u ijrochining ko’rsatmalar tizimi (sistemasi) deyiladi. Demak,
ijrochi uchun berilayotgan har bir ko’rsatma ijrochining ko’rsatmalar tizimiga
mansub bo’lishi lozim.
Ko’rsatmalarni ijrochining ko’rsatmalar tizimiga tegishli bo’ladigan qilib
ifodalay bilishimiz muhim ahamiyatga ega. Masalan, quyi sinfning a’lochi
o’quvchisi “son kvadratga oshirilsin” degan ko’rsatmani tushinmasligi natijasida
bajara olmaydi, lekin “son o’zini o’ziga ko’paytirilsin” shaklidagi ko’rsatmani
bemalol bajaradi, chunki u ko’rsatma mazmunidan ko’payirish amalini bajarish
kerakligini anglaydi.
3. Aniqlik. Ijrochiga berilayotgan ko’rsatmalar aniq mazmunda bo’lishi
zarur. Chunki ko’rsatmadagi noaniqliklar mo’ljaldagi maqsadga erishishga olib
kelmaydi. Odam uchun tushinarli bo’lgan “3-4 marta silkitilsin”, “5-10 daqiqa
qizdirilsin”, “1-2 qoshiq solinsin”, “tenglamalardan biri echilsin” kabi noaniq
ko’rsatmalar robot yoki kompyuterni qiyin ahvolga solib qo’yadi.
Bundan tashqari, ko’rsatmalarning qaysi ketma-ketlikda bajarilishi ham
muhim ahamiyatga ega. Demak, ko’rsatmalar aniq berilishi va faqat algoritmda
ko’rsatilgan tartibda bajarilishi shart ekan.
4. Ommaviylik.Har bir algoritm mazmuniga ko’ra bir turdagi
masalalarning barchasi uchun ham o’rinli bo’lishi kerak. YA’ni masaladagi
boshlang’ich ma’lumotlar qanday bo’lishidan qat’iy nazar algorim shu xildagi har
qanday masalani echishga yaroqli bo’lishi kerak. Masalan, ikki oddiy kasrning
umumiy mahrajini oppish algoritmi, kasrlarni turlicha o’zgartirib bersangiz ham
ularning umumiy mahrajlarini aniqlab beraveradi. Yoki uchburchanning yuzini
oppish algoritmi, uchburchakning qanday bo’lishidan qat’iy nazar, uning yuzini
hisoblab beraveradi.
5. Natijaviylik.Har bir algoritm chekli sondagi qadamlardan so’ng albatta
natija berishi shart. Bajariladigan amallar ko’p bo’lsa ham baribir natijaga olib
kelishi kerak. Chekli qadamdan so’ng qo’yilgan masala echimga ega emasligini
aniqlash ham natija hisoblanadi. Agar ko’rilayotgan jarayon cheksiz davom etib
natija bermasa, uni algoritm deb atay olmaymiz.