Ma’ruza C++ tili sintaksisi va uning leksik asosi. C++ tili dasturining tuzilishi va shakli Reja



Download 335,51 Kb.
Pdf ko'rish
bet5/8
Sana27.01.2023
Hajmi335,51 Kb.
#903607
1   2   3   4   5   6   7   8
Bog'liq
Ma’ruza 1 (1)

1.5. Til sintaksisi 
Avvalgi mavzuda ma’noga ega dastur tuzish uchun kerakli bo‘lgan C++ 
tushunchalari o‘rganildi. Dastur tuzish uchun avval uning o‘ziga xos strukturasini 
aniqlash kerak. O‘ziga xos strukturadan foydalanishdan asosiy maqsad – C++ da 
tuzilgan dasturni tushunishni osonlashtirish va dasturni o‘zgartirishdan iborat. 
Sintaktik to‘g‘ri yozilgan, lekin hech qanday strukturaga ega bo‘lmagan dasturni 
tushunish va o‘zgartirish juda qiyin hamda ko‘p resurs, vaqt talab qiladi. Shuning 
bilan birga, har bir C++ tilida tuzilgan dastur tildagi aniqlangan qoidalarni 
qoniqtirishi zarur. C++ dasturida asosiy funksiya – main() funksiyasi mavjud 
bo‘lishi kerak. Dastur grammatik qoidalarga o‘xshash bo‘lgan sintaksis qoidalariga, 
ya’ni tilda nima to‘g‘ri, nima noto‘g‘ri, nima mumkin, kima mumkin emasligini 
aniqlovchi qoidalarga amal qilish kerak. Shuningdek, maqsadga erishishda 
dasturlash tilining ma’nosini beruvchi tilning semantik qoidalariga ham amal qilish 
zarur. Bunda, sintaksis, probellarning ishlatilishi, nuqta, vergul, nuqtali vergul va 
qavslarning ishlatilishi va ma’nosi, semantika, identifikatorlar va ularning 
nomlanishi, qatorlarning ishlatilishi, izohlar va ularda ishlatilgan hujjatlash, 
shuningdek, dasturning tuzilish shakli va yozilish stiliga alohida e’tibor berish kerak.
Sintaksis – qanday yozish mumkin va qanday yozish mumkin emasligini 
aniqlab beruvchi tilning qoidalari. Xatolar kompilyatsiya jarayonida aniqlanadi va 
dasturchiga ko‘rsatiladi. 
Ma’lumki, dastur matni matn muxarriri yordamida kompyuterga kiritiladi. 
Mukammal dastur matnini tuzish juda qiyin, turli ko‘rinishdagi va qiyinchilikdagi 
xatoliklar bo‘lishi tabiiy. Shuning uchun, kompilyatsiya jarayonidan keyin yuzaga 
kelgan xatoliklar matn muxarriri tomonidan dasturchiga taqdim etiladi. Shunday 
xatoliklar bo‘lishi mumkinki, ma’lum bir spetsifik kod qismidagi xatolik dastur 
kodining boshqa qismlarida xatolikni yuzaga keltirayotgan bo‘lishi mumkin. 
Bunday xolatlarda asosiy xatolik bo‘lgan qismini to‘g‘irlab, dasturni kompilyatsiya 
qilgandan so‘ng qolgan xatoliklar to‘liq yoki qisman yo‘qolishi mumkin. Shuning 
uchun, sintaksis xatolarini kompilyator ko‘rsatgan ketma-ketlikda bartaraf etish 
maqsadga muvofiq. Shuningdek, kompilyator faqatgina xatolarni aniqlabgina 
qolmasdan, ularning dastur matnining qaysi qismidaligini va uni bartaraf etish 
yo‘llarini xam ko‘rsatib beradi. Masalan:
#include
//1-qator
using namespace std;
//2-qator
int main()
//3-qator
{
//4-qator


int x, y;
//5-qator
cin >> x >> y;
//6-qator
w=x+y;
//7-qator
cout << “W = ” << w; 
//8-qator
return 0;
//9-qator
}
//10-qator
Dasturda 5ta xato mavjud, ularning qatorlari ham ko‘rsatilgan. Birinchi xato 
w identifikatori mavjud emas, ushbu xatoni to‘g‘irlash uchun 5-qator matnini 
quyidagicha o‘zgartiriladi: 
int x, y, w;
//5-qator
So‘ngra kompilsiya jarayonini ishga tushurilganda kompilyator quyidagi 
xatolarni ko‘rsatib beradi:
Ko‘rinib turibdiki, birinchi xatoning o‘zi uchta kompilyatsiya xatoligini 
yuzaga keltirib chiqargan.
Probellarni ishlatishda ham alohida e’tiborli bo‘lish kerak. Berilganlar 
kiritilayotganda bir yoki bir nechta probellar berilganlarni ajratish uchun ishlatiladi. 
Shuningdek, kalit so‘zlar va identifikatorlarni ham bir-biridan ajratishda 
ko‘llaniladi. Faqat, kalit so‘z yoki identifikatorlarning o‘zini yozishda probellar 
umuman ishlatilmaydi.
int a, b, c;
//1-qator
dou ble d, e, f;
//2-qator
double birinchi;
//3-qator
float ikki nchi;
//4-qator
Ushbu namunalarda, 1-qator to‘g‘ri yozilgan, “int” kalit so‘zi va “a” 
identifikatori bitta probel yordamida ajratilgan. Qolgan identifikatorlardan oldin 


ham bittadan probel qo‘yilgan. 2-qatorda esa probel noto‘g‘ri ishlatilgan. “double” 
kalit so‘zini yozishda noto‘g‘ri probel qo‘yilgan, natijada kalit so‘z ajralib kolgan va 
bu kompilyatsiya jarayoni xatoligiga olib keladi. 3-qatorda “double” kalit so‘zi va 
“birinchi” identifikatori orasida to‘rtta probel mavjud va bu xatolikka olib kelmaydi. 
4-qatorda esa, “ikki nchi” identifikatorni yozishda probel noto‘g‘ri ishlatilgan, aslida 
“ikkinchi” ko‘rinishida ajratilmasdan yozilishi kerak edi. Ushbu qatorda ham 
kompilyatsiya xatoligi yuzaga keladi.
Barcha C++ instruksiyalari nuqtali vergul – “;” bilan tugallanishi zarur. 
Figurali qavslar (“{” va “}”), xattoki ular ko‘pincha bir qatorda va xech qanday 
dastur matnisiz kelsa xam instruksiya emas. Figurali qavslar programma qismini bir 
butunlik deb tushunish uchun ishlatiladi. Vergul (“,”) odatda ro‘yxat elementlarini 
ajratish uchun ishlatiladi. Masalan, o‘zgaruvchilar e’lon qilinayotganda bir turdagi 
bir nechta o‘zgaruvchini e’lon qilishda verguldan foydalaniladi. 
Namuna uchun quyidagi C++ tilida yozilgan dastur qismini ko‘raylik:
int x, a; 
// 1-qator
int y
// 2-qator
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.

Download 335,51 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish