Maxsus algoritmik til yordamida namunaviy masalalarni yechish
Mavzu:Maxsus algoritmik til yordamida namunaviy masalalarni yechish. Reja: 1. Algoritm. 2. Algoritmik til. 3. ALGORITMLARNING BERILISH USULLARI. 4. Masalalarni kompyutеrda еchish bosqichlari.
1. ALGORITM VA UNGA QO‘YILADIGAN TALABLAR Inson butun hayoti davomida algoritmlar ichida yashaydi, lekin buni u odatda sezmaydi. U dunyoga kelishidan tortib , to dunyodan ketishigacha bo‘lgan faoliyati davomida o‘z oldiga doim qandaydir masalalar qo‘yadi, bu masalalarni echishning yo‘l-yo‘riqlarini qidiradi. Natijada ma’lum bir qonun-qoidalarni o‘ylab topadi, belgilangan tartibda ularni bajarib, ko‘zlagan natijasiga erishadi. Agar ana shu qonun-qoidalarni ixtiyoriy odam ko‘rsatilgan tartibda bajarishga muvafaq bo‘lsa, u ham ana shu natijalarga erishishi, tartib buzib bajarganda esa olingan natija uni qanoatlantirmasligi mumkin. Qandaydir maqsadga erishish yo‘lida belgilangan amallar ketma-ketligini bajarayotgan inson yoki texnik vositani ijrochi deb ataymiz. Ta’rif: Algoritm deb qo‘yilgan masalani to‘la hal uchun ijrochining bajarishi lozim bo‘lgan amallar ketma-ketligining qat’iy tartibiga aytiladi. 1-misol: CHoy damlash algoritmi. Bu masalani hal qilish uchun keragicha qaynab turgan suv, quruq choy hamda 1 litrli choynak berilgan deb hisoblaymiz. 1. CHoynakni chaying. CHoynakka 5 gramm quruq choy soling. 3. CHoynakni qaynab turgan suv bilan to‘ldiring. 4 CHoynakning qopqog‘ini yoping. 5. CHoynakni o‘t ustiga qo‘yib, 5 minut dam bering. 6. CHoy tayyor. 2-misol. Ko‘chani xavfsiz kesib o‘tish qoidasi. 1. Yo‘lning chetiga kelib to‘xtang. Yo‘lning chap tomoniga qarang. 3. Agar chap tomonda transport vositalari yaqin kelib qolgan bo‘lsa, o‘tib ketguncha 8 4. CHap tomoningizda transport vositalari qolmagan bo‘lsa, yo‘lning o‘rtasiga o‘tib to‘xtang. 5. Yo‘lning o‘ng tomoniga qarang.
6. Agar o‘ng tomonda transport vositalari yaqin kelib qolgan bo‘lsa, o‘tib ketguncha kuting. 7. O‘ng tomoningizda transport vositalari qolmagan bo‘lsa, yo‘lning qolgan qismini kesib o‘ting. 1-misolda choy damlayotgan shaxs, 2-da esa yo‘lni kesib o‘tayotgan shaxs ijrochi hisoblanadi. SHuningdek, ixtiyoriy dorilarni tayyorlash yo‘llari, ovqatlarni tayyorlash usullari, xakim belgilagan dorilarni iste’mol qilish, bankomyotdan pul olish kabi amallarni algoritm sifatida qabul qilish mumkin. Algoritmlarga turli fan sohalaridagi masalalarni Yechish yo‘llari ham kiradi. 3-misol: 20x y = ni 5 ta amal yordamida hisoblang. 1 x x а * : 1 = 2x hisoblandi 2 1 * 1 : a a a = 4x hisoblandi 3 2 * 2 : 3 a a a = 8x hisoblandi 4 3 * 3 : 4 a a a = 16 x hisoblandi 5 2 * 4 : a a y = 20x hisoblandi Algoritmlarga quyidagi talablar qo‘yiladi : 1.Boshlanishi va tugashi ko‘rsatilishi kerak. Har qanday amal buyruq tarzida ifodalanishi shart. 3. Har bir amal ijrochiga tushunarli bo‘lgan ko‘rinishda ifodalangan bo‘lishi shart. 4. Har bir amalda qatnashayotgan o‘zgaruvchilarning qiymatlari oldindan aniqlangan bo‘lishi kerak. 5. Har qanday amal natijasi bir qiymatli bo‘lishi kerak. 6. Bajariladigan amallar soni cheklangan bo‘lishi kerak. 7. YAkuniy natijalarni ajratib ko‘rsatish va chiqarish shart. 8. Qo‘yilgan masalani to‘la yechish uchun berilgan hamma ma’lumotlar va mumkin bo‘lgan barcha imkoniyatlar hisobga olingan bo‘lishi kerak. 9. Algoritm ommaviy, ya’ni bitta sinfga taaluqli bo‘lgan ko‘plab masalalarni Yechishga mo‘ljallangan bo‘lishi kerak. Yuqoridagi talablarning birortasi buzilgan bo‘lsa, qo‘yilgan masalani Yechish uchun qurilgan algoritm to‘laqonli bo‘la olmaydi, ya’ni masalaning to‘la echimini bera olmaydi. Masalan: Agar biron bir amalni bajarishda qatnashayotgan har bir o‘zgaruvchining qiymati oldindan aniqlanmagan (4-talab) bo‘lsa, u holda ana shu
o‘zgaruvchining o‘rniga odatda nol qo‘yib hisoblanadi. Bu esa har doim ham to‘g‘ri 9natija beravermaydi. Faraz qilaylik, K-o‘zgaruvchining qiymati oldindan aniqlanmagan bo‘lsin. U holda ( ) K B A D / + = ifodaning qiymatini hisoblashning iloji yo‘q, chunki K ning o‘rniga kompilyator nol qiymatini qo‘yadi. Natijada nolga bo‘linish holati ro‘y beradi. Bunday bo‘lishi esa mumkin emas. Endi 6-talabni buzib ko‘raylik. 1. Hisoblansin ; 1 := i Hisoblansin ; 1 : + = i i 3. 1-ga o‘tilsin. Bu holda qurilgan algoritm «cheksiz algoritm» bo‘lib qoladi, yani uni «ijrochi» hech qachon tugata olmaydi. ALGORITMLARNING BERILISH USULLARI Algoritmlar uch hil usulda qurilishi mumkin. A) Algoritmni so‘zlar orqali qurish. Bunda algoritmning har bir buyruq-amali ijrochiga tushunarli bo‘lgan so‘zlar orqali ifodalanadi. 1-misol: AB kesmani teng ikkiga bo‘lish algoritmi. 1. Boshlansin. Sirkulning bir uchi A nuqtaga qo‘yilsin. 3. Radiusi AB bo‘lgan aylana chizilsin. 4. TSirkulning uchini V nuqtaga quyilsin. 5. Radiusi BA bo‘lgan aylana chizilsin. 6. Aylanalarning kesishish nuqtalarini CD kesma bilan birlashtirilsin. 7. CD va AB kesmalarning kesishish nuqtasi M ni belgilansin. 8. M nuqtani izlangan nuqta deb hisoblansin. 9. Ishni tugatilsin. B) Matematik formulalar usuli. Bu usulda algoritmning har bir amali matematik formulalar yordamida hosil qilinadi. Algoritm amallarini ifodalashda oddiy matematik yozuvlardan foydalanish mumkin. 2-misol: 02= + + c bx ax kvadrat tenglamaning echimi topilsin. 1. Boshlansin.
Aniqlansin c b a , , . 3. Hisoblansin ac b D 4 : 4. Agar D<0 bo‘lsa chiqarilsin «Echimi yo‘q» ; 7 ga o‘tilsin. 5. Hisoblansin S) Blok-sxemalar usuli. Bunda algoritmning har bir buyrug‘i maxsus geometrik shakllar yordamida ifodalanadi. Blok-sxemalarni qurishda 1-jadvaldagi shakllardan foydalanish mumkin. 1-jadval 1 algoritmning boshlanishi va oxirida qo‘yiladi 2 o‘zgaruvchilarga qiymat berish 3 ma’lumotlarni kiritish 4 mantiqiy ifodalarni hisoblash 5 amallarni bajarish yo‘nalishi 6 yordamchi algoritmga murojaat 7 yakuniy natijalarni chiqarish 3-misol: 0 2 = + + c bx ax kvadrat tenglama uchun blok-sxema. 1.3. ALGORITMIK TIL HAQIDA QISQA MA’LUMOT Yuqorida uch hil ko‘rinishdagi algoritmga misollar keltirildi. Ularning bilim darajasi o‘rtacha bo‘lgan ixtiyoriy o‘quvchi bajara oladi, CHunki bu algortimlarda uning uchun tushunarli bo‘lgan so‘zlar va formulalardan foydalanilgan. Informatika fani odatda algortimlarning ijrochisi deganda EXM ni nazarda tutadi. EXM yuqoridagi usullarda ifodalangan algortimlarni tushunmasligi mumkin. Demak biz turli masalalarning yechish algortimlarni EXM larga tushunarli ko‘rinishda ifodalash uchun qo‘shimcha vositaga muxtoj bo‘lib qoldik. SHunday vosita bo‘lib algoritmik til xizmat qiladi. Ko’pincha algoritm va algoritmik til tushunchalarini chalkashtirib qo‘yishadi yoki bir xil narsa deb