Hisoblash jarayonini algoritmlashtirish. Algoritmlashtirish jarayoni masalani yechish algoritmini tuzishni ta’minlaydi va birlamchi axborotni natijaviyga aylantirish bosqichlar ketma-ketligini aniqlash va ifoda etish uchun xizmat qiladi.
§ 10.1. Shaxsiy kompyuterlarda masalalami yechish bosqichlari
293
Masalani yechish algoritmi kutilayotgan natijani olish maqsadida dastlabki ma’lumotlar va oraliq natijalar ustidan bajarilayotgan elementar operatsiyalar tartibini aniq belgilab berishi kerakdir. Algoritm masalani yechish usuli hisoblanmaydi, balki, tanlangan sonli usulni amalga oshiradi. Agar bitta sonli usulni amalga oshirish uchun bir nechta algoritmlar mavjud bo’Isa, u holda ular orasidan shaxsiy kompyuterdan eng samarali foydalanish uchun xizmat qiladigan usuli tanlab olinadi(tarkibida kam operatsiyalar bori kam xotira talab qiladi). Kompyuter dasturinituzish.Dasturlash - bu shaxsiy kompyuter dasturlash tilida algoritmni tasvirlash jarayonidir. Agar dastur kompyuter tilida(ya’ni kompyuter komandalarida) tuzilsa, u holda dastur to‘g‘ridan to’g’ri shaxsiy kompyuterda amalga oshiriladi. Dastur simvollar tilida yozilsa, u holda dastur matni translyator orqali kompyuter tiliga o’giriladi va undan keyin u shaxsiy komyuterda yechiladi. Dasturni sozlash.Dasturdagi xatoliklami aniqlash va ulami to’g’rilash jarayoni sozlash deyiladi. Dasturlarda sintaksis va mantiqiy xatolar bo’lishi mumkin. Translyator tomonidan dasturni sintaksis nazorat qilish natijasida dasturlash tili tomonidan ulami tuzishda ruxsat etilmagan turli kontruksiyalar aniqlanadi. Sintaksis xatoliklaming mavjudligi dastuming to‘g‘ri bajarilishiga yo‘l qo’ymaydi. Shunda ham dastuming bajarilishi yakunlansa, u holda olingan natijalar shubha uyg’otadi. Sintaktik xatoliklami tuzatgandan so‘ng dasturchi kompyuterda olingan natijalar asosida dastuming to‘g‘ri ishlayotganini aniqlash kerak bo‘ladi. Agar olingan natijalar kutilishi kerak boTgan natijalar bilan mos kelsa, u holda dasturni mukammalroq qilib yana bir bor tekshirib olish lozim. Agar natijalar noto‘g‘ri bo‘lib chiqsa, u holda biz judayam yomon bo‘lgan mantiqiy xatoliklarga duch kelgan bo’lamiz. Mantiqiy xatoliklarga asosan dastur mazmunini loyihalashtirayotganda yo‘l qo‘yiladi. Masalani mohiyatini tahlil qilish, algoritmini tuzish yoki dastuming o‘zini dasturlash tilida yozish vaqtida dasturchi tomonidan uning ma’nosi bo‘yicha xatolikka yo’l qo’yilishi mumkindir. Shuning uchun ham dasturlashni dastlabki bosqichiga qaytib qo’yilgan masalaning ma’no- mohiyatini chuqurroq o‘rganishga to‘g‘ri keladi. Vujudga kelgan holat algoritmda e’tiborga olinganmi? Hisoblovchi(schotchik) sikldan to‘g‘ri foydalanilayaptimi? Hisoblovchilar uchun to‘g‘ri birlamchi va natijaviy qiymatlar ko‘rsatilganmi? Birlamchi ma’lumotlar dasturlash tilida mumkin bo’lgan formatga egamimi yoki yo‘qmi? Hisoblashlar to‘g‘ri asoslanganmi? Ushbu savollarni shu bosqichda hal qilishga to‘g‘ri keladi. Mantiqiy xatoliklaming borligi bosib o’tilgan bosqichlaming barchasi yoki ayrimlarini qaytadan tekshirib chiqishni talab etadi. Yo‘l qo’yilgan xatolikning mazmunidan kelib chiqqan holda ulami tuzatish barcha dasturni to’liq yoki ayrim qismini masala algoritmiga kerak bo’lgan
294
10 - bob. Algoritmlashtirish asoslari
o‘zgartirishlami kiritgandan keyin qaytadan tuzishni talab etadi. Bu jarayon katta kuch va kompyuter vaqtini ishlatishni talab etadi, shuning uchun ham dastumi yozishning dastlabki bosqichlaridan e’tibor yuqori darajada bo‘lsa uni oldini olish mumkin bo‘ladi. Masalani shaxsiy kompyuterdayechish.Dastur to'liq sozlanib bo'lingandan keyin birlamchi ma’lumotlaming barcha variantlari uchun natijalami olish maqsadida masalani shaxsiy komyuterda yechish amalga oshiriladi.
§ 10.2. ALGORITM TUSHUNCHASI
Qo‘yilgan masalani u yoki bu turini yechishning algoritmlarini shakllantirish va ishlab chiqish eng mas’uliyatli hamda muhim bosqichlardan hisoblanadi, chunki bu bosqichda keyinchalik shaxsiy kompyuterda bajari 1 ishi kerak bo‘lgan amallaming ketma-ketligi oldindan belgilab olinadi. Algoritmda yo‘lga qo‘yilgan xatoliklar hisoblash jarayonini noto‘g‘ri bajarilishiga olib celadi, ya’ni noto‘g‘ri natijalami beradi.