“to‘g‘ri dastur” termini bir ma’noli emas. Mutlaqo “unday emas” natijalarni beruvchi
sintaktik to‘g‘ri dastur tahlili qilishga va o‘zgarishlarga ehtiyoj sezadi. Kiruvchi ma`lumotlarning
ba’zi nusxalari to‘g‘ri ishlovchi dastur o‘quvchilarining musobaqalarida qanadydir ball ga ega
bo‘lishi shaklga ega. (biroq ular g‘alaba qilishga yetarli emas.) Talabalarning “tarmoqlarning”
ko‘plab musobaqalarda masala operatsiyasi qoniqtiruvchi barcha mumkin bo‘lgan kiruvchi
ma’lumotlar uchun to‘g‘ri natijalar berishi kerak. Odatda bunga erishish uchun maxsus tanlangan
ma’lumotlarda dasturni bir necha marta har tomanlama va necha marta tekshirish va unda etilgan
xatolarni to‘g‘rilash kerak (uni sozlash). Real masalalar uchun dasturlar uchun dasturlar
ixtiyorida xatolarni kiruvchi ma’lumotlarda o‘zining shunga layoqatini saqlay bilishi (yashagan
bo‘lishi) va xatolarni diagnostikasini va xatosiz qayta ishlashin taminlashi kerak. Yozilgan va
terilgan, hatto katta bo‘lmagan, dastur deyarli hamma vaqt xatolarga ega bo‘ladi va ularni izlash
ha ularni yo‘qotishga ya’ni sozlashga to‘g‘ri keladi. So‘zlash jarayoni bizdan kodni yoqishdan
ko‘ra ancha ko‘p vaqtni talab qiladigan oddiy bo‘lmagan. So‘zlash qiyinchiliklarining asosiy
sababi ruhiy qarashlarda yotadi. Ong haqiqatda mavjud bo‘lganlarni emas balki u nimani
istayotgan va kutayotgan bo‘lsa shularni ko‘radi. Qachonlardir klassik-algorimistlardan biri
Uvlyam Ogdan shunday xazillashgan edi “sozlangan dastur – uning ishchi layoqati yo‘qligini
haligacha topilmagan dastur”. Shunday bo‘lsada “o‘yinchoq ” mashq masalalar uchun sozlangan
dasturlar –reallik. Sozlashni yengilashtirishni eng yaxshi usuli – uning zaruriyatini minimumga
olib keling. Dasturlashning pastga ketuvchi strukturaviy loyihalashdan va yaxshi stildan
foydalaning, har bir qadamni o‘ylang. Klaviatura yoniga borishga shoshilmang. Sozlashni
yengillashtiruvchi bir necha usullarni qarab chiqamiz. Dasturga maxsus sozlovchi operatorlarni
(va ular uchun zarur e’lonlarni) kiriting. Ular xatolarning stoplari deyiladi va ularni izlashni
yengillashtiradi. Dasturga xato borligi ma’lum bo‘lganda terilgan dasturga sozlash vositalarini
kiritishga qaraganda, ulardan voz kechish ancha oson. Ularni qo‘llash bo‘yicha bir necha
tavsiyalar quyidagilardan iborat.
Dasturga olingan kiruvchi ma’lumotlarning chiqaruv operatorlarini qo‘shing.
Strukturasi keyinchalik dasturga xato kiritmasdan yo‘q qilish imkonini beruvchi
sozlovchi bloklarning qiymatlarini taxlab va u yoki bu dasturosti bajarilmaganining
boshlangaligining yoki tugallanganligini ko‘rsatish mumkin.
Sozlovchi bloklar ishini bo‘lingan o‘zgaruvchilar to‘plami yordamida boshqarish
mumkin. Ular maxsus ravishda dasturda e’lon qilinadi va sozlash oxirida yo‘q qilinadi.
Ular dastur boshida va o‘zining qiymatlari bilan mos keluvchi blok boshlanishini, u yoki
bu o‘zgaruvchining qiymatini chiqarilishini ko‘rsatadi. Shartli
kompilyatsiya
yordamida
analogik effektga erishish mumkin.
Sikllar bajarilishi yoki dasturosti chaqirilishining miqdorini bilishga imkon beruvchi
sanagish yordamidan foydalaning.
Dastur yaratilayotilishida sozlovchi vositalardan foydalanish dasturlarining himoyaviy stili
deyiladi. Uni asosan ortiqcha o‘ziga ishonganligi va sozlash vositalariga ortiqcha kuch
yo‘qotmaganligi tufayli ko‘pincha rad qiladi. Shunday bo‘lsada himoyaviy dasturlashga ketgan
vaqt dasturni sozlashda ko‘p marta o‘zini qo‘llaydi. Sozlashga dasturlash muhitining vositalari
yordamlashadi. Muhim sozlovchisining imkoniyatlarini o‘rganishni va turli xil kompilyatsiya
rejimlarini beruvchi muhitlardan foydalanishni maslahat beramiz. Jumladan, keyingi bo‘limida
Turbo Paskal kompilyatorning
bazalari taqdim qilingan. Kompilyatorlar ko‘rsatatigan va kichik
kamchiliklarni initsalizatsiyalangan yoki ortiqcha o‘zgaruvchilarni va shularni ko‘rsatadigan
ogoxlantirishni (warnings) e’tibordan chetda qoldirmang. Ba’zan bu kamchiliklar hech narsaga
ta’sir ko‘rsatmaydi, shuning ushun ular qayd qilinganida, kompilyatorlar bajaruvchi dasturni
yaratadi. Kompilyatorning ogohlantirish beradigan rejimidan foydalanishni tavsiya qilamiz.
Nihoyat, sozlashni yengillashtiruvchi yana bir necha yaxshi usuli, qog‘ozda dasturning
imitatsiyalash tushuniladi. Buning uchun dasturni diqqat bilan o‘qish va algoritmiga iloji boricha
chuqurroq kirib borishi kerak. Agar xato uncha katta bo‘lmagan matn sohasida lakallashgan
bo‘lsa, o‘ta foydali va uning aniq joylashuvini topish kerak. Esdan chiqarmang: istalgan
tog‘irlashish dasturiga yangi hattoki kiritishi mumkin va qo‘shimcha tekshirishni talab qiladi.
Do'stlaringiz bilan baham: