EHM bo’lishi mumkin (faqat aqliy mehnat bilan bog’liq bo’lgan masalalar).
Ikkinchi guruh algorimtlarning ijrochisini EHM zimmasiga yuklash mumkin.
Buning uchun algoritmni EHM
tushunadigan biror tilda yozib, uni mashina
xotirasiga kiritish kifoya.
Shunday qilib, biz algoritm deganda, berilgan masalani yechish uchun ma’lum
tartib bilan bajarilishi kerak bo’lgan chekli sondagi buyruqlar ketma-ketligini
tushunamiz.
Biror sohaga tegishli masalani yechish algoritmini tuzish algoritm tuzuvchidan
shu sohani mukammal bilgan holda, qo’yilgan masalani chuqur
tahlil qilishni
talab qiladi. Bunda masalani yechish uchun kerak bo’lgan ishlarning rejasini
tuza bilish muhim ahamiyatga ega. Shuningdek, masalani yechishda ishtirok
etadigan ob’ektlarning qaysilari boshlang’ich ma’lumot va qaysilari natijaligini
aniqlash, ular o’rtasidagi o’zaro bog’lanishni aniq va to’la ko’rsata bilish, yoki
dastur (programma) tuzuvchilar
tili bilan aytganda, masalaning ma’lumotlar
modelini berish lozim.
Berilgan masala algoritmini yozishning turli usullari mavjud bo’lib, ular
qatoriga so’z bilan, bloktarh (bloksxema) shaklida, formulalar, operatorlar
yordamida, algoritmik yoki dasturlash tillarida yozish va
hokazolarni kiritish
mumkin.
Endi biror usulda tuzilgan algoritmning ayrim xossalari va algoritmga qo’yilgan
ba’zi bir talablarni ko’rib chiqaylik.
1. Algoritm har doim to’liq bir qiymatlidir, ya’ni uni bir xil boshlang’ich
qiymatlar bilan ko’p marta qo’llash har doim bir xil natija beradi.
2. Algoritm birgina masalani yechish qoidasi bo’lib qolmay, balki turli-tuman
boshlang’ich shartlar asosida ma’lum turdagi masalalar to’plamini yechish
yo’lidir.
3. Algoritmni qo’llash natijasida chekli qadamdan keyin natijaga erishamiz yoki
masalaning yechimga ega emasligi haqidagi ma’lumotga ega bo’lamiz.
Yuqorida keltirilgan xossalarni har bir ijrochi o’zi tuzgan biror masalaning
algoritmidan foydalanib tekshirib ko’rishi mumkin. Masalan:
ax2 + bx + с = 0
kvadrat tenglamani yechish algoritmi uchun yuqorida sanab o’tilgan
algoritmning xossalarini quyidagicha tekshirib ko’rish mumkin.
Agar kvadrat tenglamani yechish algoritmi biror usulda yaratilgan bo’lsa, biz
ijrochiga bu algoritm qaysi masalani yechish algoritmi ekanligini aytmasdan a,
b, с larning aniq qiymatlari uchun bajarishni topshirsak, u natijaga
erishadi va
bu natija kvadrat tenglamaning yechimi bo’ladi. Demak, algoritmni ijro etish
algoritm yaratuvchisiga bog’liq emas.
Xuddi shuningdek a, b, с larga har doim bir xil qiymatlar bersak, algoritm har
doim bir xil natija beradi, ya’ni to’liqdir.
Yaratilgan bu algoritm faqatgina bitta kvadrat tenglamani yechish algoritmi
bo’lib qolmay, balki a,b,c larning mumkin bo’lgan barcha qiymatlari uchun
natija
hosil qiladi, binobarin u shu turdagi barcha kvadrat tenglamalarning
yechish algoritmi bo’ladi.