Ushbu qo‘llanmada qaralayotgan mashq masalalari uchun dasturlar real masalalar uchun
dasturlarga nisbatan o‘lchami bo‘yicha yetarlicha kichik. Biroq ushbu “o‘yinchoq ” dasturlar
ham, agar ularning yaratilishida qisman ushbu bo‘limda keltirilgan qoidalarga amal qilinsa,
tezroq yoziladi va yanada ishonchliroq bo‘ladilar. Kodlashning texnik masalalari yanada
Yuqoridan pastga loyihalash. Dasturlash bilan bog‘liq bo‘lgan real masalalar, odatda,
avvalo aniq formilirovka qilinmaydi, shuning uchun masalani yechishga uning qo‘yilishini
aniqlashtirishdan boshlanadi. Ushbu ishning natijasi bo‘lib masalani maxsuslashtirish - dasturga
va u keltirib chiqaradigan va yaratadigan natijalarga bo‘lgan talablarni aniq ifodalash
hisoblanadi. Mana shu ma’noda mashq uchun va olimpiada masalalari osonroq, chunki ular
tayyor maxsuslashtirilganlar hisoblanishadilar. Masalani aniqlashtirib, dasturni loyihalashtira
boshladilar. Masalaning asosiy tushunchalari va ular orasidagi bog‘lanishlar aniqlashtiriladi,
masalaostilar aniqlashtiriladi va loyihalashtirilayotgan dastur alohida dasturiy birlik (modullarga)
ajratiladi. Mashq masalalari loyihalashtirishda oddiy, chunki odatda bir necha masalaostiga ega
bo‘ladi va kamdan-kam hollarda modullardan foydalaniladi. Biroq bu yerda ham masalaostilarni
ajratishni va dasturchalar (programmalar) yordamida ularning yechimini aniqlashtirishni bilish
juda zarur. Muhandislik faoliyatining boshqa sohalarida bo‘lgani kabi dasturlashda ham odatda
yuqoridan pastga loyihalashtirish metodi qo‘llaniladi. Masala yechimi, avvalo umumiy
ko‘rinishda, so‘zlarda ifodalash yoki bitta operator ko‘rinishda tasvirlanadi va loyihalashtirish
aniqlashtirishning qadamlar ketma-ketligi ko‘rinishida bo‘ladi. Bunda masala shunday kichik
bo‘laklarga bo‘linadiki, ularning yechimi dasturlash tilida bir necha qator ko‘rinishda yozish
mumkin.
Dasturosti – dasturni dasturostilarga bo‘la turib quyidagi, hali uncha aniq bo‘lmasada
biror qoidaga, amal qilish kerak: maqsadga muvofiq kelsa dasturostilarni ajratish. Odatda
poddastur o‘lchami yuqori darajadagi tilda bir-necha qator kod bilan chegaralanadi. Kichik
dasturosti kattasidan ko‘ra afzal hisoblanadi, chunki o‘lcham orttirishi bilan dasturostilarni
tushunish va ishga tushurish tezlashtirilgan tempda qiyinlashadi. Bundan tashqari katta
dasturostilar bir-biri bilan o‘zaro bog‘liq va ularning bir ortiqchasini o‘zgartirish boshqalarni
ham o‘zgartirishga olib keladi.
Umumiy tavsiya mavjud iloji boricha kam global o‘zgartiruvchilarni ishlatishga harakat
qilish kerak. Ko‘plab dasturostilar jarayonlarni o‘zgartirishi mumkin bo‘lgan hollarda, ushbu
dasturosti yaratish alohida aniqlik talab etiladi. Biroq ushbu tavsiya qo‘llanilmaydigan jarayonlar
ham kam emas. Masalan, rekursiv dasturosti massivlarning paydo bo‘lishi dastur stekining to‘lib
ketishi bilan ogohlantiradi. Dastur oqimining o‘lcham komplyator tuzatmalarida boshqariladi
deb, qarshilik qilish mumkin. Biroq oshirish chegarasi nisbatan katta emas, bu holda (aniqrog‘i
static massivlar), zamonaviy 32 bitli kompliyatorlar tufayli yuzlab megabaytlarni egallashi
mumkin (agarda kompyuter bunga imkon bersa).
Do'stlaringiz bilan baham: