23
double z;
// 3-qator
y = w + x;
// 4-qator
Ushbu qatorlar kompilyatsiya qilinganda 2-qatorda kompilyatsiya xatoligi yuzaga
keladi. CHunki, 2-qatorda y o‘zgaruvchisi e‘lon qilinishidan keyin nuqtali vergul (― ; ‖)
belgisi qo‘yilmagan. Ikkinchi kompilyatsiya xatoligi 4-qatorda yuzaga keladi. Bu qatorda
w identifikatori ishlatilmoqda, ammo u e‘lon qilinmagan.
(tarjima)
Tilning ma‘nosini beruvchi qoidalar to‘plami semantika deyiladi. Masalan, arifmetik
operatorlar bajarilish ketma-ketligi qoidasi semantik qoida.
(tarjima)
Agar dasturda sintaktik xatolar bo‘lsa, kompilyator bu haqida xabar beradi. Lekin
semantik xato bo‘lganda dastur ishlaydi, lekin kutilgan natijaga erishib bo‘lmaydi.
Masalan, quyidagi ikki qator sintaktik to‘g‘ri
yozilgan, lekin ma‘nolari turlicha (turlicha
qiymat hosil bo‘ladi):
2 + 3 * 5
// 1-qator
va
(2 + 3) * 5
// 2-qator
Birinchi qatorda arifmetik operatorlar bajarilish ketma-ketligi qoidasiga ko‘ra
ko‘paytirish amali bajariladi, so‘ngra qo‘shish amali ishga tushadi. Ikkinchi qatorda esa,
avval qavs ichi bajariladi, sonlar qo‘shiladi, keyin ko‘paytirish amali ishlaydi.
(tarjima)
Quyida ikki xil ko‘rinishdagi instruktsiyalarni ko‘raylik:
const double A = 0.1;
//o‘zgartirish konstantasi
double x;
//santimetr uchun o‘zgaruvchi
double y;
//millimetr uchun o‘zgaruvchi
x = y * a;
va
const double SANTIMETR_UCHUN_MILLIMETR = 0.1;
double santimetr;
double millimetr;
santimetr = millimetr * SANTIMETR_UCHUN_MILLIMETR;
Ikkinchi
ko‘rinishdagi
dastur
instruktsiyalaridan
foydalanilganda
SANTIMETR_UCHUN_MILLIMETR ko‘rinishidagi identifikatorlar odatda xujjatlashgan
identifikatorlar deb ataladi. Sababi, dasturchi identifikatordan nima maqsadda
foydalanishni doim bilib turadi. Birinchi ko‘rinishdagi
dastur instruktsiyalarida esa,
identifikatorlardan nima maqsadda foydalanilayotganligi identifikatorlarni e‘lon qilganda
izohlar orqali berib o‘tilgan. Dastur matnining qolgan qismlarida identifikatorning nima
maqsadda ishlatilishini bilish uchun doim dastur matni boshiga yoki identifikator e‘lon
qilingan qismiga o‘tib izoh orqali yozilgan xujjatlash qismidan o‘qib tushunish kerak
bo‘ladi. Xujjatlashgan identifikatorlar izohlardan foydalanishni
kamaytirish uchun
ishlatiladi. olmasoni – xujjatlashgan identifikatorini taxlil qilaylik. Ushbu identifikatorni
birgalikda
qo‘llaniluvchi
so‘z
(run-together
word)
deyiladi.
Xujjatlashgan
identifikatorlardan foydalanayotganda birgalikda qo‘llaniluvchi so‘zlarni noto‘g‘ri
qo‘llash orqali xujjatlashda aniqlikni kamaytirish mumkin. Birgalikda qo‘llaniluvchi
so‘zlarni tushunarliroq qo‘llash uchun bir qancha ko‘rinishlar taklif qilingan. Har bir
ma‘noga ega so‘zni bosh harf orqali yozish yoki ulardan oldin tag chiziq (―_‖) belgisini
qo‘yish mumkin. Masalan, tushunarlilik aniqligini
oshirish maqsadida olmaSoni,
olma_soni
ko‘rinishidagi
identifikatorlardan
foydalanish
mumkin.
Konstanta
24
o‘zgaruvchilardan foydalanganda, ularni oddiy o‘zgaruvchilardan farqlab turish maqsadida
barcha xarflarni bosh harflar yordamida yozish maqsadga muvofiq.
(tarjima)
Yaxshi xujjatlashgan dastur qismi sifatida foydalanuvchi dastur bilan muloqotda
bo‘lganda (dasturni ishga tuShurganda) uning dasturni tushunishi ham nazarda tutiladi.
Foydalanuvchi dasturni ishga tuShurganda qanday berilganni kiritish kerakligini bilmasa
dasturdan foydalanish qiyinlashadi. Shuning uchun foydalanuvchiga nima qilish
kerakligini yoki qanday tushunchaga ega ma‘lumot kiritilishi
yoki chiqarilayotganini
ko‘rsatib borish kerak. Masalan, int turidagi son o‘zgaruvchisi uchun quyidagi dastur
qismi berilgan bo‘lsin:
(tarjima)
cout << "1 va 10 oralig‘idagi butun sonni kiriting"
<< " va Enter tugmasini bosing" << endl;
cin >> son;
Ushbu dastur qismi ishga tushganda foydalanuvchi ekranida quyidagi matn hosil
bo‘ladi:
1 va 10 oralig‘idagi butun sonni kiriting va Enter tugmasini bosing
Ushbu qatorni ko‘rgan foydalanuvchi 1 va 10 oralig‘idagi sonni kiritishi, keyin Enter
klavishini bosishi kerakligini tushunadi. Agar Shu yozuvlar foydalanuvchiga taqdim
etilmasa, foydalanuvchi nimani kiritishini bilmasdan o‘tiraveradi. Shuning uchun, odatda,
foydalanuvchi kiritishi lozim bo‘lgan qiymatdan oldin foydalanuvchiga ma‘lumot
chiqarish orqali dastur tuziladi.
(tarjima)
Dasturchi yozayotgan dastur faqat uning o‘zi uchun emas, balki boshqalar uchun ham
tushunarli bo‘lishi kerak. Shuning uchun dasturchi dasturini xujjatlashtirib tuzishi kerak.
Yaxshi xujjatlashgan dasturni birinchi yozilganidan uzoq vaqt o‘tgandan
keyin ham
tushunish va o‘zgartirish oson bo‘ladi. Bunda xujjatlashgan identifikatorlar yoki
izohlardan foydalanish mumkin. Izohlar dastur qismining maqsadi-mazmunini, dasturchi
ismini (kim yozganligini) va turli spetsifik ma‘lumotlarini uz ichiga olishi kerak.
Shuningdek, dastur matnini ham turli qoidalarga asoslanib tuzish maqsadga muvofiq.
Masalan, o‘zgaruvchilarni e‘lon qilishda:
(tarjima)
int gramm, tonna;
double x, y;
va
int gramm,tonna;double x,y;
Ikkala ko‘rinish
ham xatosiz, to‘g‘ri yozilgan. Ularni tushunishda komp‘yuter
qiyinchilikka duch kelmaydi. Ammo dasturchi uchun birinchi ko‘rinish tushunarliroq.
Sababi, o‘zgaruvchilarning turlari alohida ajratilgan, o‘zgaruvchilar ham probel yordamida
ajratib yozilgan.
(tarjima)
Do'stlaringiz bilan baham: