3. Diskretlilik (uzluklilik, alohidalik). Algoritmda masalani yechish jarayoni alohida olingan sodda ko'rsatmalar ketma-ketligini qadamma-qadam bajarishdan iborat boiishi kerak. Bu xossa awalgi darsdagi misollarda yaqqol ko'rinib turibdi.
4. Natijaviylik (cheklilik). Algoritmning tavsifida «biror maqsadga erishishga qaratilgan» jumlasi qo'llanilgan. Bu maqsadni yuqorida keltirilgan misollarda ko'rishi 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 awaldan ko'zlangan maqsadga erishishga olib kelmasligi ham mumkin. Bunga ba'zan algoritmning noto'g'ri tuzilgani yoki boshqa xatolik sabab boiishi ham mumkin. Ikkinchi tomondan, qo'yilgan masala ijobiy yechimga ega boimasligi ham mumkin. Lekin salbiy natija ham natija deb qabul qilinadi.
1- misol. x2+ x + 1 = 0 kvadrat tenglama yechilsin.
Quyida keltirilgan «ax2 + bx + c = 0 (a ≠ 0) ko'rinishidagi kvadrat tenglamani yechish» algoritmini qoilab, tenglama yechimga ega emasligi aniqlanadi. Bu ham natijadir.
1) a, b, c qiymatlar aniqlansin;
2) diskriminant: D = b2— 4ac hisoblansin;
3) agar D < 0 bo’lsa, tenglama yechimga ega emas deb olinsin va 6-bandga o'tilsin;
b
4) agar D = 0 boisa, yagona yechim _ _____ ga teng deb olinsin va
2*a
6-bandga o'tilsin;
-b- D -b+ D
5) birinchi yechim —------ ga, ikkinchi yechim —---------- ga teng
2a 2a
deb olinsin;
6) tugallansin.
E'tibor bergan bo'lsangiz diskriminantning noldan kichikligi va nolga tengligi tekshirildi, ammo noldan kattaligi tekshirilmadi. Sababini o'ylab ko 'ring!
Demak, algoritm doimo chekli qadamdan iborat boiishi va biror natija berishi shart ekan.
5. Ommaviylik. Biror masalani yechish algoritmi umumiy hollar uchun tuziladi, ya'ni faqatgina boshlang'ich maiumotlar bilan farqlanuvchi bir
16
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'rin- -
lidir.
Quyida keltirilgan berilgan ikki natural sonning eng katta umumiy U bo'luvchisi (EKUB)ni topishning Evklid algoritmi ham barcha natural sonlar uchun o'rinlidir.
2-misol. N va M natural sonlarning eng katta umumiy bo'luvchisi
topilsin.
1) agar N = M boisa, natija N deb olinsin va 4-bandga o'tilsin;
2) Nva M sonlarning kattasi o'zi bilan kichik sonning ayirmasiga teng deb olinsin;
3) 1-bandga o'tilsin;
4) tugallansin.
Xulosa qilib shuni aytish mumkin: yuqoridagi barcha xossalar bajaril-ganda ko'rsatmalar ketma-ketligi algoritm boiadi va biror (ijobiy yoki salbiy) natijaga olib keladi.
Do'stlaringiz bilan baham: |