Diskretlilik (uzluklilik, alohidalik). Algoritmda masalani yechish jarayoni alohida olingan sodda ko‘rsatmalar ketma-ketligini qadamma-qadam bajarishdan iborat bo‘lishi kerak. Bu xossa avvalgi darsdagi misollarda yaqqol ko‘rinib turibdi.
Natijaviylik (cheklilik). Algoritmni tavsifida “biror maqsadga erishishga qaratilgan” jumlasi ishlatilgan. Bu maqsadni yuqorida keltirilgan misollarda ko‘rishimiz mumkin: choy damlash, g‘ishtlar sonini hisoblash, yig‘indini hisoblash. Bular algoritmning natijaviylik (cheklilik) xossasi bilan bog‘liq. Bu xossaning mazmuni shundan iboratki, har qanday algoritm ijrosi chekli qadamdan
so‘ng oxir-oqibat ma’lum bir yechimga olib kelishi kerak. Shuni ta’kidlash joizki, algoritm avvaldan ko‘zlangan maqsadga erishishga olib kelmasligi ham mumkin. Bunga ba’zan algoritmning noto‘g‘ri tuzilgani yoki boshqa xatolik sabab bo‘lishi ham mumkin. Ikkinchi tomondan, qo‘yilgan masala ijobiy yechimga ega bo‘lmasligi ham mumkin. Lekin salbiy natija ham natija deb qabul qilinadi.
2–misol. x 2 x 1 0 kvadrat tenglama yechilsin.
Quyida keltirilgan “ ax2 bx c 0 a 0
ko‘rinishidagi kvadrat tenglamani
yechish” algoritmini qo‘llab, tenglama yechimga ega emasligini aniqlaymiz. Bu ham natijadir.
a, b, c qiymatlar aniqlansin;
diskriminant: D b2 4ac hisoblansin;
agar D < 0 bo‘lsa, tenglama yechimga ega emas deb olinsin va 6-bandga o‘tilsin;
agar D = 0 bo‘lsa, yagona yechim b
2 a
o‘tilsin;
ga teng deb olinsin va 6-bandga
birinchi yechim
tugallansin.
ga, ikkinchi yechim
2 a
ga teng deb olinsin;
2 a
E’tibor qilgan bo‘lsangiz diskriminantning noldan kichikligi, nolga tengligi tekshirildi, ammo noldan kattaligi tekshirilmadi. Sababini o‘ylab ko‘ring!
Demak, algoritm doimo chekli qadamdan iborat bo‘lishi va biror natija berishi kerak ekan.
Ommaviylik. Biror masalani yechish algoritmi umumiy hollar uchun tuziladi, ya’ni faqatgina boshlang‘ich ma’lumotlar bilan farqlanuvchi bir turdagi masalalar turkumi uchun tuziladi.
Yuqoridagi “ ax2 bx c 0 a 0
ko‘rinishidagi kvadrat tenglamani yechish”
algoritmi ixtiyoriy a, b, c sonlar uchun natija beradi, ya’ni algoritmning ommaviylik xossasi o‘rinlidir.
Quyida keltirilgan berilgan ikki natural sonning eng katta umumiy bo‘luvchisini (EKUB) topishning Evklid algoritmi ham barcha natural sonlar uchun o‘rinlidir.
2–misol. N va M natural sonlarning eng katta umumiy bo‘luvchisi topilsin.
agar N = M bo‘lsa, N natija deb olinsin va 5 - bandga o‘tilsin;
N va M sonlarning kattasi aniqlansin;
N va M sonlarning kattasi o‘zi bilan kichik sonning ayirmasiga teng deb olinsin;
1-bandga o‘tilsin;
tugallansin.
Dostları ilə paylaş: |