logo

C++ va Java dasturlash tillari. Eclipse platformasi va uning xususiyatlari.

Yuklangan vaqt:

12.08.2023

Ko'chirishlar soni:

0

Hajmi:

59.5234375 KB
Mavzu:   C++   va   Java   dasturlash   tillari.   Eclipse   platformasi   va   uning
xususiyatlari.
Reja:
I. Kirish
II. Asosiy qism
1. C++ dasturlash tili va uning imkoniyatlari
1.1 C++ dasturlash tilining alfaviti
1.2 C++ dasturlash tili asosiy tushunchalari
2. Java dasturlash tili haqida
2.1 Java dasturlash tilining asosiy strukturasi
2.2 Java texnologiyalari
3. Eclipse platformasi va uning xususiyatlari
III. Foydalanilgan adabiyotlar Kirish
       Inson kabi kompyuter ham óziga xos tilda muloqot qiladi. Bu til faqat kompyuter
tushunadigan   til   bólib,   u   cheklangan   lug'at   va   qat'iy   yozish   qoidalaridan   iboratdir.
Kompyuter  tushunadigan  va muloqot  olib boradigan "til" DASTURLASH TILI deb
ataladi. Istalgan dasturlash tilini bilgan shaxs óz dasturini bemalol tuza oladi.   
              Protsessor   dasturlash   tilida   yozilgan   dasturni   tóg'ridan   -   tóg'ri   tushunmaydi.
Buning uchun dasturni protsessor  tiliga tarjima qiladigan (raqamli ótkazib beruvchi)
tarjimon tili - translyatordan foydalaniladi.
Tarjimon tilining ikkita turi mavjud: kompilyator va interpretator .
              KOMPLIYATOR   dasturlash   tilida   yozilgan   dastur   kodini   tólaligicha   óqib   ,
mashina kodiga tarjima qiladi va tarjima natijalarini bajariladigan yaxlit bitta faylga
yig'adi.
           INTERPRETATOR dasturlash tilida yozilgan kodni bosqichma -bosqich mashina
kodiga aylantirib , tahlil qiladi va berilgan buyruqlarni ketma- ketlikda bajaradi. Agar
xatolik sodir bólsa, ósha zahoti xabar beradi.
              Dasturlash   tillari   juda   kól   bólib,   ularning   har   biridan   óziga   xos   masalalarni
yechishda foydalanish mumkin. Quyida ularning eng mashhurlari haqida ma'lumotlar
bilan tanishamiz.
         C++   kompyuter operatsion tizimlarini yozish uchun móljallangan til.
        JAVASCRIPT     interfaol web- saytlarni yozish uchun móljallangan til.
       SCRATCH         dasturlarni órganish uchun eng Mo's vizuallashgan dasturlash tili.
              JAVA         kompyuter,   mobil   telefon   va   planshetlar   uchun   móljallangan   dastur
yozuvchi til.
       PHP        dinamik web-saytlar yaratish uchun móljallangan til.
              PYTHON           turli   masalalarni   yechish   ,   sun'iy   intellekt   tizimlari   uchun
móljallangan dasturlash tili.
        Aksariyat   dasturlash   tillari,   xususan,   C++,   Pascal   ,   Java,   Python   va   boshqalar
integrallashgan dasturlash muhiti (IDE)ga ega.
         IDE ( Integrated Development Environment- integrallashgan dasturlash muhiti)-
dasturiy ta'minot yaratish uchun dasturiy vositalar majmui.
           Tizimli va amaliy dasturlarni yaratish uchun dasturlash tillaridan foydalaniladi.
Dastur yaratish jarayoni katta hajmga ega bólib, dasturlash tillarida Tizimli va amaliy
dasturlarni yaratish uchun dasturlash tillaridan foydalaniladi. Dastur yaratish jarayoni
katta   hajmga   ega   bólib,   dasturlash   tillarida   dastur   yozishshu   jarayonning   bir   qismi
sanaladi.   Kompyuter   dasturlarini   yaratish   jarayoni   ham   kompyuterda   masalani
yechish   jarayoniga   óxshash   bólib,   bir   necha   bosqichni   óz   ichiga   oladidastur yozishshu   jarayonning   bir   qismi   sanaladi.   Kompyuter   dasturlarini   yaratis   jarayoni
ham kompyuterda masalani yechish jarayoniga óxshash bólib, bir necha bosqichni óz
ichiga oladi.
          Birinchi bosqichda dastur uchun talab aniqlanadi. Ushbu jarayonda dasturning
qanday   maqsadda   qóllanilishi,   kirish   va   chiqish   ma'lumotlari   aniqlanadi.   Dastur   va
resurslarni ishlab chiqish , uni joriy etishning narxi baholanadi.
            Ikkinchi   bosqichda   dastur   loyihasi   ishlab   chiqiladi.   Dasturchilar   uchun   texnik
topshiriq   va   vazifalar   shakllantiriladi.   Ishchi   hujjatlar   hamda   ish   rejasining   grafigi
tuziladi
                  Uchinchi   bosqichda   dastur   kodi   yoziladi.   Bu   kodlash   (dasturlash)   jarayoni
bólib, tuzilgan algoritm dasturlash tilida yoziladi.
             To'rtinchi bosqichda kodlash jarayoni tugab, dasturdagi xatoliklarni aniqlash va
testlash boshlanadi. Bu jarayonda dasturning tóg'ri tuzilganligi , ishlash samaradorligi
va boshqa parametrlariga    aniqlik kiritiladi.
                    Beshinchi   bosqichda   dastur   amaliyotga   joriy   etiladi.   Agar   dastur   aniq
buyurtmachi   talabiga   muvofiq   yaratilgan   bólsa,   u   holds   bu   bosqich   eng   muhim
bosqich sanaladi. Bunda avvalgi dasturda foydalanilgan qurilma va ma'lumotlar yangi
dasturga moslanadi. Ushbu dastur bilan ishlovchi mutaxassislar óqitiladi.
             Oltinchi sónggi bosqichda qóllab- quvvatlash amalga oshiriladi. Bu bosqichda
foydalanuvchilarga   tavsiyalar   beriladi.   Shuningdek   ,   foydalanuvchi   xohishini
inobatga   olgan   holda,   ish   jarayonida   yuzaga   kelgan   kamchilik   va   takliflar   asosida
dasturga 1. C++ dasturlash tili va uning imkoniyatlari
            C++   dasturlash   tili   nomi   C   dasturlash   tilidan   kelib   chiqqan   bo`lib,   ++   belgisi
inkrement amali, ya`ni o'zgaruvchining qiymatini bittaga oshish amalidan olingan. C
++  dasturlash  tili  turli  xil  amaliy  dasturlarni  yaratish,  operatsion   tizimlarni,  qurilma
drayverlarini,   shuningdek   video   o'yinlarni   va   boshqalarni   yaratish   uchun   keng
qo'llaniladi. C ++ dasturlash tili 1980-yillarning boshlarida Bell Laboratories firmasi
xodimi Byorn Stroustrup tomonidan yaratilgan. Byorn Stroustrup o'zining ehtiyojlari
uchun C dasturlash tiliga bir qator yangiliklar kiritmoqchi bo`ldi, ya'ni dastlab C ++
dasturlash   tilini   yaratish   rejalashtirilmagan   edi.   U   dastlab   o`zi   yaratgan   dasturlash
tilini   “C   with   classes”(“C   bilan   sinflar”)   deb   nomladi.   Dasturlash   tilining   dastlabki
versiyasi   1980   yilda   paydo   bo'lgan.   Straustrup   dasturlash   tiliga   sinflar   va   ob'ektlar
bilan ishlash imkoniyatini qo'shdi  va shu bilan C sintaksisi  asosida yangi dasturlash
tili   uchun   zarur   shart-sharoitlarni   yaratdi.   C++   sintaksisi   C   sintaksisiga   asoslangan
bo`lib, Byorn Stroustrup C tili bilan moslikni saqlashga intildi. 1983 yilda dasturlash
tili   "C   ++   dasturlash   tili"   deb   o'zgartirildi.   C++   Cga   ob'ektga   yo'naltirilganlik
xususiyatlarni   qo'shdi.   Oby’ektga   yo`naltirilgan   dasturlashning   uchta   xususiyatini
mavjud:,  meros   (nasledovaniye),   polimorfizm   va   inkapsulyatsiya.   Usul(Metod)   -   bu
sinf   ichida   e'lon   qilingan   va   uning   ob'ektlari   bilan   ishlashga   mo'ljallangan
funktsiyadir. Usullar sinf tanasida e'lon qilinadi.
C dasturlash tilidan farqli tomonlari:
• ob'ektga yo'naltirilgan dasturlashni qo'llab-quvvatlash;
 • andozalar orqali umumlashtirilgan dasturlashni qo'llab-quvvatlash;
 • qo'shimcha ma'lumotlar turlari;
 • istisnolar; 
• nom maydonlari; 
• ichki funktsiyalar; 
• operatorning yuklanishi(peregruzka);  • funktsiyalarning yuklanishi; 
•  xotirani erkin boshqarish operatorlari; 
• standart kutubxonaga qo'shimchalar.
Afzalliklari:
• C tili bilan yuqori muvofiqlik 
• Hisoblash samaradorligi 
•   Turli   dasturlash   uslublarini   qo'llab-quvvatlash:   tarkibiy,   obyektga   yo'naltirilgan,
umumlashtirilgan dasturlash, funktsional dasturlash. 
•  Ob’yekt   destruktorlarni   avtomatik   ravishda   chaqirish   xotira  va   boshqa   manbalarni
boshqarish ishonchliligini soddalashtiradi va oshiradi.
 • Ortiqcha yuklangan operatorlar 
• shablonlar 
•   To'g'ridan-to'g'ri   kompilyatorlar   tomonidan   qo'llab-quvvatlanmaydigan
paradigmalarni qo'llab-quvvatlash uchun tilni kengaytirish imkoniyati mavjudligi.
 • C ++ uchun turli tillarga tarjima qilingan juda ko'p o'quv adabiyotlari mavjud
Kamchiliklari:
Noto'g'ri ishlab chiqilgan sintaksisning mavjudligi tilning qo'llanilishini pasaytiradi 
• Til ko'p muhim xususiyatlarga ega emas.
 • Dasturchilar uchun unumdorligi ancha past 
• Noqulay sintaksis 
• Og'ir meros 
• Xotirani kuzatib borish zarurati 1.1   C++ dasturlash tilining alfaviti
       C ++ dasturlash tili alifbosi quyidagilarni o'z ichiga oladi: 
• Katta va kichik lotin harflari va pastki chiziqcha; 
• 0 dan 9 gacha bo'lgan arab raqamlari;
 • maxsus belgilar: "{}, | [] () + - /% *. \? <=>! & # -; ''
 • bo'sh joy, tabulyatsiya, yangi qatorga o`tish belgilari. 
Alifbo   belgilaridan   tilning   leksemalari   shakllanadi   (mustaqil   ma'noga   ega   bo'lgan
tilning minimal birligi):Leksemalar turlari: 
• identifikatorlar; 
• kalit so'zlar; 
• operatsiyalar belgilari;
 • o`zgarmas; 
• ajratuvchi (qavs, vergul, bo'sh joy belgilari).
1.2  C++ dasturlash tili asosiy tushunchalari
Identifikator
             Identifikator - bu dastur ob'ektining nomi. Identifikatordagi birinchi belgi harf
yoki   pastki   chiziq   bo'lishi   mumkin.   Identifikator   ichida   bo'shliq   bo`lmasligi   kerak.
Masalan: v1, _sum Identifikatorni tanlashda quyidagilarni yodda tuting:
  • identifikator kalit  so'zlar  va ishlatiladigan standart til  ob'ektlarining nomlari  bilan
bir xil bo'lmasligi kerak; 
•   identifikatorlarni   pastki   chiziq   bilan   boshlash   tavsiya   etilmaydi,   chunki   bu   holda
ular tizim funktsiyalari yoki o'zgaruvchilar nomlari bilan mos kelishi mumkin. Amal belgilari
              Amal   belgisi   -   operandlardagi   harakatni   belgilaydigan   bir   yoki   bir   nechta
belgilar.   Amallar   ishtirok   etadigan   operandalar   soniga   ko'ra   unar,   binar   va   ternar
turlarga bo'linadi. 
O`zgarmaslar
 O`zgarmaslarga qiymati o`zgarmaydigan kattaliklar kiradi. Butun, haqiqiy, belgili va
satr turidagi o`zgarmaslar mavjud.
Sharhlar
  Sharhlar   alohida   qismlarni   yoki   butun   dasturni   tushuntirish   uchun   ishlatiladi.
Kompilyator   sharhlarni   e'tiborsiz   qoldiradi.   C   ++   dasturi   sharhlarning   ikkita
shaklidan foydalanadi: 
• sharh ikkita // belgi bilan boshlanadi;
• sharh quyidagi belgilar orasida yoziladi / * ... * /.
Ma'lumotlarning asosiy turlari:
Asosiy ma'lumotlar turlari quyidagilardan iborat: 
• int (butun son); 
• char (belgi); 
• wchar_t (kengaytirilgan belgi); 
• bool (mantiqiy); 
• float (haqiqiy); 
• double(ikkilangan aniqlikdagi haqiqiy).
Standart turlarning qiymatlar diapazonini aniqlash uchun to'rt turdagi spetsifikatorlar
ishlatiladi: 
• short(qisqa);  • long(uzun); 
• signed (imzolangan);
 • unsigned(imzo qo'yilmagan).
O'zgaruvchilar
  O'zgaruvchi   -ma'lum   bir   turdagi   ma'lumotlar   saqlanadigan   xotiraning   nomlangan
maydoni.   O'zgaruvchiga   berilgan   ma'lumot   qiymat   deb   ataladi.   Dastur   davomida
o'zgaruvchining   qiymati   o'zgarishi   mumkin.   Ishlatishdan   oldin   har   qanday
o'zgaruvchini e'lon qilish kerak, ya'ni, nomi, turi  va (ixtiyoriy) boshlang'ich qiymati
e`lon qilinadi. O'zgaruvchini e`lon qilishning umumiy shakli quyidagicha: 
•   tur   o'zgaruvchilar   ro`yxati   Bu   yerda   tur   -   bu   ma'lumotlar   turi;   o'zgaruvchilar
ro`yxati   -   ko'rsatilgan   turdagi   o'zgaruvchan   nomlar   ro'yxati.   O'zgaruvchilarni   e’lon
qilishga misollar: 
• int i, k, x; 
•   double   d,   dBalans;   E’lon   qilish   jarayonida   o'zgaruvchini   inisializatsiya   qilish
mumkin: 
• teng belgi bilan: int a = 10, b = 20; 2.Java dasturlash tili haqida
             Java juda ko'p qirrali dasturlash tili bo'lib, u ko'pincha veb va Androidni ishlab
chiqish uchun ishlatiladi.
        Java   dasturlash tili — eng yaxshi dasturlash tillaridan biri bo'lib unda korporativ
darajadagi   mahsulotlarni(dasturlarni)   yaratish   mumkin.   Bu   dasturlash   tili   Oak
dasturlash tili asosida paydo bo'ldi.Oak (ma'nosi eman daraxti) dasturlash tili
90-yillrningboshida   Sun   Microsystems (hozirda   Oracle   nomidan   ish   yuritadi)
tomonidan  platformaga(operatsion   tizimga)   bog'liq  bo'lmagan  holda  ishlovchi   yangi
avlod   aqlli   qurilmalarini   yaratishni   maqsad   qilib   harakat   boshlagan   edi.   Bunga
erishish   uchun   Sun   hodimlari   C++   ni   ishlatishni   rejalashtirdilar,   lekin   ba'zi
sabablarga ko'ra bu fikridan voz kechishdi. Oak muvofaqiyatsiz chiqdi va 1995-yilda
Sun   uning   nomini   Java   ga   almashtirdi,   va   uni   WWW   rivojlanishiga   hizmat   qilishi
uchun ma'lum o'zgarishlar qilishdi.
Java   1990   yillarda   ishlab   chiqarila   boshlangan   bo'lsa   ham,   uning   birinchi
versiyasi( Java 1.0 ) 1996 yil ommaga taqdim etilgan. Undan so'ng keyingi versiyalar
sekin-astalik bilan chiqa boshladi:   1998 yil — Java 2, 2004 yil — Java 5.0, 2006 yil
— Java 6, 2011 yil — Java 7, 2014 yil — Java 8.
              Java - bu Sun Microsystems tomonidan ishlab chiqilgan ob'ektga yo'naltirilgan
dasturlash tili (keyinchalik Oracle tomonidan sotib olingan). Rasmiy chiqish sanasi -
1995   yil   23   may.   Java   dasturlari   bayt-kodga   tarjima   qilinadi,   keyinchalik   u   Java
Virtual   Machine   (JVM)   tomonidan   bajariladi.   JVM   bayt   kodini   qayta   ishlovchi   va
tarjimon   sifatida   ko'rsatmalarni   apparatga   uzatuvchi   dasturdir.   Bunday   amalga
oshirishning   afzalligi   baytekodning   operatsion   tizim   va   apparat   ta'minotidan
mustaqilligi bo'lib, JVM mavjud bo'lgan har qanday qurilmada Java ilovalarini ishga
tushirish imkonini beradi.
Java   texnologiyasi   o'ta   sodda,   xavfsizlikni   yuqori   darajada   ta'minlab   bera   oladigan,
kuchli,   to'la   obyektga   yo'naltirilgan   dasturlash   tili   bo'lib,   muhit   (platforma)ga   bo'liq
bo'lmagan holda ishlaydi. U bilan xatto eng kichik qurilmalarga ham dasturlar yozish
mumkin. Java texnologiyasi to'laligicha   Java Virtual Machine(JVM)   ga asoslangan. JVM   ning   vazifasi   tarjimonlik   ya'ni,   dastlab   biz   yozgan   *.java   fayl   kompilyator
yordamida   bayt kod ga o'giriladi va JVM yordamida esa mashina tiliga aylantiriladi.
Bu   degani   JVM   qaysi   platformaga   tegishli   bo'lsa,   kodlarni   ham   o'sha   platformaga
moslab beradi.
JAVA imkoniyatlari;
— WORA — Write Once, Run Anywhere (portable). Platforma tanlamaydi;
— havfsizlik (ishonch yuq kodni havfsiz ishga tushirish);
— hotirani havfsiz boshqarish (avtomat ravishda musorlarni yig'adi);
— tarmoq uchun dasturlar yozish ;
— ko'p oqimli (Multi-thread) dasturlash;
class lar alohida fayllarda saqlanadi. Kerak bo'lsa ishlatiladi.
Javadan     qayerda     foydalaniladi?   “Sun”   firmasi   ma`lumotiga   ko`ra,   3   mlrd
atrofidagi qurilmalar Javani ishlatadi(eskima`lumot,hozirundanko`p).
Manaulardanba`zilari:
-Shaxsiy kompyuter dasturlari (Desktop Applications) – acrobat reader, media  
pleyer,antiviruslar.
-Web-dasturlar
-Korxona-tashkilotlar dasturlari (Enterprise Applications)
-Bank yoki ishlab chiqarishga oid dasturlar:
-Mobil dasturlar
-Smar tkartalar
-Robotlar
-O`yinlar
-….. 2.1 Java dasturlash tilining asosiy strukturasi
               Java birlamchi kod strukturasi va  main()  metodi
Java dasturlash tilida birlamchi kod birlamchi kod fayliga kiritilib bitta klassni
ifodalaydi. Klass  dasturning bir  qismini  namoyon etadi, ba’zi  xollarda kichik dastur
bitta klassdan iborat bo’lishi mumkin. Klass figurali qavslar ichida yozilishi kerak. 
public class Program1 
{ 
//dastur kodi 
}
Klass odatda bir necha metodlarni o’z ichiga olishi mumkin. Metodlar ushbu
klassga doir amallarni bajarish ko’rsatmalaridan tashkil topadi. Metodlar klass ichida,
ya’ni figurali qavslar orasida, e’lon qilinishi kerak. 
public class Program1 
{ 
void go() 
{ 
//metod kodi 
} 
}
Metodning   figurali   qavslari   ichiga   ushbu   metod   bajarilishi   kerak   bo’lgan
ko’rsatmalar kiritiladi. Metod odatda bir-necha ifodalar to’plamidan tashkil topadi. 
Umumlashtirib aytganda, klass birlamchi kod fayliga kiritiladi. Metodlar klass
ichiga kiritiladi. Ifodalar metodlar ichiga kiritiladi. 
Java   virtual   mashinasi   ishga   tushganda   u   bajarayotgan   klassda   joylashgan
quyidagi metodni izlaydi:
public static void main(String[] args) 
{ 
//metod kodi 
}  Keyin   esa   ushbu   metodning   figurali   qavslari   ichida   joylashgan   barcha
instruktsiyalarni   bajaradi.   Xar-bir   Java   dasturi   kamida   bitta   klassni   va   bitta   main()
metodini o’z ichiga olishi kerak .
Izohlar
Dastur   yozish   mobaynida   ushbu   dasturda   ishlatilayotgan   elementlar   va
qo’llanilayotgan usullarga izoh yozish ehtiyoji paydo bo’ladi. Ayniqsa dastur yozish
uchun uzoq vaqt talab etilsa yoki bir dasturni bir necha dasturchi yozayotgan bo’lsa
ushbu   izohlar   axamiyati   yanada   yoqori   bo’ladi.   Java   dasturlash   tilida   boshqa
dasturlash   tillari   singari   izohlar   dastur   bajarilishiga   hech   qanday   ta’sir   qilmaydi   va
ular dasturchi uchun ma’lumot sifatida qo’llaniladi. 
Java   dasturlash   tilida   izoh   qo’yishni   uch   xilusuli   mavjud.   Eng   keng   tarqalgan
usuli bu izoh boshiga // simvollarini qo’yishdir. Ushbu simvollardan keyin joylashgan
elementlar qatorning oxirigacha izoh xisoblanadi. Masalan: 
System.out.println(“Salom!”); //ushbu qator konsolga matn chiqarib beradi 
yoki 
//quyidagi operator x qiymatini bir qiymatga oshiradi 
x++; 
Agar   uzunroq   izoh   berish   kerak   bo’lsa,   bir   necha   qatorni   //   elemenlari   bilan
belgilash   mumkin,   yoki   ikkinchi   usuldan   foydalanish   mumkin.   Bu   usulda   /*   va   */
belgili   cheklovchilaridan   foydalaniladi.   Birinchi   belgi   izoh   boshiga   ikkinchisi   izoh
oxiriga qo’yiladi. Masalan: 
/* 
Quyidagi dastur Java dasturlash tilida yozilgan bo’lib 
U konsolga Salom so’zimi chiqarib beradi 
*/ 
public class SalomDasturi 
{ 
public static void main(String[] args) 
{ 
System.out.println(“Salom”);  } 
}
Izoh berishning uchunchi usuli dasturning izohlariga asosan xujjatlarni avtomatik
xosil qilish uchun ishlatiladi. Ushbu izohlar /** va */ belgilari bilan chegaralanadi. 
Identifikatorlar
Dasturda   ishlatiladigan   o’zgaruvchi,   klass,   metod   yoki   ob’yekt   nomlari
identifikatorlar   deb   ataladi.   Java   identifikatorlari   xarflar,   sonlar,   “$”   simvoli   va   “_”
simvolidan tashkil topishi mumkin. Masalan, 
test, test1, _test, TEST, $tes
Identifikatorlarni tanlashda quyidagi qoidalarga rioya qilish kerak:
• Identifikatorlar harf, “$” simvoli yoki “_” simvoli bilan boshlanishi kerak; 
•   Birinchi   xarfdan   keyin   identifikator   xarflar,   “$”   simvoli,   “_”   simvoli   yoki
sonlarning istalgan kombinatsiyasini o’z ichiga olishi mumkin; 
• Identifikator istalgan miqdordagi simvollardan tashkil topishi mimkin; 
• Java kalit so’zlarini identifikator sifatida ishlatish mumkin emas; 
•   Identifikatorlar   xarf   kattaligini   farqlaydi.   Masalan,   test   va   Test   ikkita   xar-xil
identifikatorlar. 
To’g’ri tuzilgan identifikatorga misollar: 
test 
$test 
test_2 
$ 
juda_batafsil_berilgan_identifikator 
Quyidagilar esa noto’g’ri tuzilgan identifikatorlar: 
:test 
-test 
test#  .test 
4test
O’zgaruvchilar
Java   dasturlash   tilida   o’zgaruvchini   qo’llashdan   oldin   uni   e’lon   qilish   kerak
bo’ladi.   E’lon   qilish   jarayoinida   kompyuterga   ushbu   o’zgaruvchida   qanday   turdagi
ma’lumot saqlanilishi aytilib o’tiladi. Masalan, 
int elementlarSoni; 
double elementYuzasi, elementHajmi; 
Birinchi misol  elementlarSoni   o’zgaruvchisi   int  turdagi qiymatlarni olishini e’lon
qiladi.   int   butun   sonlarni   anglatadi.   Ikkinchi   misol   elementYuzasi   va   elementHajmi
o’zgaruvchilarni   double   turdagi   qiymatlarni   qabul   qilishini   e’lon   qiladi.   double
ratsional sonlarni anglatadi. Ushbu misoldan ko’rinadiki, bir turdagi o’zgaruvchilarni
vergul bilan ajratib bir qatorda e’lon qilish mumkin. 
Java dasturlash tili xarflar ( char ), xar-xil turdagi butun ( byte, short, int, long ) va
ratsional   sonlar   ( float,   double ),   mantiqiy   qiymatlarni   ( boolean )   asosiy   qiymat
turlariga kiritadi. Bu asosiy qiymatlar turi sodda qiymatlar deb ataladi.
Qiymat berish operatori
O’zgaruvchini qiymatini o’zgartirishning to’g’ridan to’g’ri usuli bu qiymat berish
operatorini   qo’llashdir.   Java   dasturlash   tilida   “=”   (teng)   belgisi   qiymat   berish
operatori   hisoblanadi.   Qiymat   berish   operatori   ifodaning   chap   qismida   joylashgan
o’zgaruvchi,   teng   belgisi   va   ifodaning   o’ng   qismida   joylashgan   qiymat   berish
ifodasidan   iborat.   Bu   yerda   qiymat   berish   operatori   boshqa   o’zgaruvchilar,   sonlar
yoki o’zgaruvchi, sonlar, operatorlar va metodlardat tashkil topgan murakkab ifodalar
bo’lishi  mumkin. Quyida Java dasturlash tilining qiymat berish operatoriga misollar
ko’rsatilgan: 
xarorat = 36.6; 
joriyHisob = joriyHisob + 10; 
jamiOgirlik = asosiyOgirlik * qushimchaOgirlik;  Birinchi   ifodada   xarorat   o’zgaruvchisiga   36.6   qiymati   belgilanmoqda.   Ikkinchi
ifodada   joriyHisob   o’zgaruvchisining   joriy   qiymatiga   10   soni   qo’shilmoqda.
Uchinchi   misolda   jamiOgirlik   o’zgaruvchisiga   asosiyOgirlik   va   qushimchaOgirlik
o’zgaruvchilarining qiymatlarini ko’paytmasidan xosil bo’lgan qiymat belgilanadi. 
E’lon   qilingan   lekin   qiymat   belgilanmagan   o’zgaruvchilar   initsializatsiya
qilinmagan   deyiladi.   Birlamchi   kodda   joyni   saqlash   va   xatoliklarni   oldini   olish
maqsadida   o’zgaruvchini   birdaniga   e’lon   qilish   va   qiymat   belgilash   amallarini
birdaniga bajarish mumkin. Masalan, 
int olinganSon = 0; 
double tezlik = 120.5; 
Java   dasturlash   tilida   berilgan   o’zgaruvchining   qiymatini   o’zgartirish   uchun
belgilash   operatori   va   arifmetik   operatorlarini   birgalikda   ishlatish   ham   mumkin.
Masalan, 
x += 2; 
ifodasi 
x = x + 2; 
ifodasi bilan bir-xil qiymatga ega.
Mukammal ifoda  Ekvivalent ifoda 
x += 2;  x = x + 2; 
x -= 2;  x = x – 2; 
x *= 2;  x = x * 2; 
x /= 2;  x = x / 2; 
x %= 2;  x = x % 2; 
x * 2 = y + z;  x = x * (y + z); 
Arifmetik operatorlar
        Java dasturlash tili qiymatlar ustida amallarni bajarish uchun quyidagi arifmetik
amallarni o’z tarkibiga oladi:
+  Qo’shish 
-  Ayirish 
*  Ko’paytirish  /  Bo’lish 
%  Modul 
              Yuqoridagi   barcha   arifmetik   operatorlar   butun   va   ratsional   sonlar   bilan
ishlatilishi   mumkin.   Natijadagi   qiymatning   turi   amalda   ishlatilgan   qiymatlarning
turiga bog’liq. Agar amaldagi ikki operandalarning qiymatlari butun son bo’lsa natija
ham   butun   son   bo’ladi.   Agar   operandalarning   biri   yoki   ikkisi   ratsional   son   bo’lsa
natija ratsional qiymat bo’ladi.  Masalan, 
count = count1 + count2 
Agar   count1   va   count2   o’zgaruvchilar   butun   son   bo’lsa   count   o’zgaruvchining
qiymati   ham   butun   son   (int)   bo’ladi.   Agar   count1   yoki   count2   o’zgaruvchilarining
biri ratsional bo’lsa count o’zgaruvchisining qiymati ratsional qiymat bo’ladi.
2.2 Java texnologiyalari
            Java   SE   (Java   Standart   Edition)   —   serverda,   shaxsiy   kompyuterda
desktoplarda ishlovchi  dasturlar, appletlar yaratish uchun ishlatiladi. Bu texnologiya
yordamida   yaratilgan   dasturlar   deyarli   barcha   operatsion   tizimlarda   ishlay
oladi(Windows   NT,   Macintosh,Linux   va   Solaris).   Shu   bilan   birga   JavaSE   boshqa
Java turlarining asosi hisoblanadi.
Java   EE   (Java   Enterprise   Edition)   —   Java   texnologiyalari   orasida   eng   keng
tarqalgan turi xisoblanib unda asosan serverda ishlovchi dasturlar yaratiladi, masalan
ko'p   foydalanuvchili   web-saytlar   yaratishda   keng   qo'llaniladi   va   asosan   internetda
ishlovchi   dasturlarda qo'llaniladi.  Java  SE  ni  Java   EE  dan  eng  asosiy  farqi   Java  EE
o'z tarkibiga Java SE ni olibgina qolmay shu bilan birga ko'pgina boshqa qo'shimcha
kutubxonalarni(odatda   *.jar)   ham   o'z   ichiga   oladi   ya'ni:   Servlet,   JavaMail,
JSF(Java   Server   Face)   va   boshqa   ko'pgina   internetga   asoslangan   qoshimcha
kutubxonalar.
Java   ME   (Java   Micro   Edition)   —   Java   SE   ning   ba'zi   qismlarini   o'z   ichiga   oladi,
JavaME   yordamida   kichik   qurilmalar   uchun   dastrular   yozish   mumkin,   masalan,
mobil telefon uchun o'yinlar, dasturlar yaratish mumkin. Javada kompilyator aytib o'tganimizdek biz yozgan kodni bayt-kodga o'giradi, odatda
kompilatsiyadan   o'tgan   klasslar   *.class   qisqartirmasi   bilan   tugaydi   va
kompilatsiyadan   o'tgan   klassni   Java   Virtual   Machine(JVM)   ga   yuklanadi   va   bayt-
kodli   fayllarni   interpretatsiya   qiladi,   ya'ni   mashina   tiliga   o'giradi   va   shu   bilan   birga
undagi kodni imkoni boricha optimallashtiradi.
3. Eclipse   platformasi   va   uning   xususiyatlari
              Eclipse   loyihasining   tashabbuskorlari   ta ' kidlaganidek ," Rivojlanish   vositalari
uchun   Apache "   ni   yaratish   edi   -   bu   maksimal   darajada   ta ' minlanadigan   ochiq
platforma   asosiy         imkoniyatlar    i   rivojlanish   muhiti   va   turli   vositalarni   birlashtirish
mexanizmlarini   ta ' minlash .   Ushbu   platformaning   birinchi   versiyasi   IBM   tomonidan
ishlab chiqilgan va 2001-yil oxirida ochiq kodlarda chiqarilgan. Tez orada o'z ichiga
olgan   tijorat   dasturlari,   studiya   dasturi   4.0   ga   aylandi.   Endi   Eclipse   dasturiy
ta'minotchi   va   vositalarni,   ilmiy-tadqiqot   tashkilotlari   va   individual   ishlab
chiqaruvchilarni birlashtirgan to'liq manba rivojlanish ekotizimini ishlab chiqdi.
              Eclipse   platformasi   -turli   vazifalarni   birlashtirishni   ko'zda   tutadigan   turli   xil
vositalar va dasturiy tillarni birlashtirishni ko'zlovchi arxitektura. Bunday integratsiya
mexanizmlari   sizga   murakkab   yozuvdan   ozod   qilingan,   ishlab   chiqilgan   kattaroq
ommaviy   axborot   vositalaridan   foydalanish   uchun   murakkab,   ixtisoslashtirilgan
funktsiyalarni yaratish foydasiga muvofiq. Shunday qilib, nafaqat ko'p funktsiyali va
ko'p   tilli   rivojlanish   muhitini   qo'llab-quvvatlash   muammosi   hal   qilinadi,   balki
ularning   evolyutsiyasi   jarayonida   bir   tur   o'rtaidagi   vositadan   boshqasiga   o'tishni
soddalashtirish   uchun   asos   yaratilgan.   Ishlab   chiquvchilar   hamjamiyati   tomonidan
ishlab chiqilgan eclipse platformasi so'nggi yutuqlarni to'playdi.
              Eclipse   platformasi   arxitekturasining   asosi   ulangan   modullardan   (plagin)
foydalanish   printsipi.   Platformada   bunday   modullarni   aniqlash,   integratsiyalash   va
bajarish   mexanizmlarini   amalga   oshiradi.   Eclipse   platformasining   xususiyatlaridan
foydalanishni istagan ishlab chiquvchi o'zining Java vositasini alohida ulangan modul
sifatida   yozadi.   Ushbu   modul   ish   joyidagi   fayllar   bilan   ishlaydi,   bu   ish   maydoni
tarkibiy   qismidan   foydalangan   holda   amalga   oshiriladi.   Va   uning   foydalanuvchi interfeysi   ishbilarmon komponentiga asoslangan   umumiy tuzilma   interfeysi va uning
kengayishi ehtimoli.
Qoida   tariqasida,   bitta   plaginli   moduldan   foydalangan   holda,   Eclipse   platformasiga
asoslangan eng oddiy ishlaydigan funktsional imkoniyatlar amalga oshiriladi, shunda
murakkab   vositalar   bir   nechta   modullardan   birlashtiriladi.   Shu   bilan   birga,   deyarli
barcha   o'rnatilgan   eclipse   platformasining   funktsional   imkoniyatlari,   shuningdek,
bunday   modullardan   foydalangan   holda   amalga   oshiriladi   -   kichik   platformali   ish
vaqti   istiqbolidan   tashqari   har   bir   ulangan   modul   uchun   ushbu   modulning
havolalarini   boshqalar   bilan  tavsiflovchi   o'ziga  xos   fayl   (aniq)   mavjud.  Platformada
ishlaydigan   platforma   asosida   ishlab   chiqarish   muhitini   boshlaganingizda,   mavjud
plaginlar   to'plamini   belgilab   qo'yadi,   ularning   adabiy   fayllarini   o'qib   chiqadi   va
modullarning   registrini   quradi.   Tizimni   ishga   tushirgandan   so'ng,   qo'shimcha
modullar   endi   qo'shilmaydi.   Eclipse   loyihasi   doirasida   plagin   ishlab   chiqarish
muhitini (PDE) yaratish uchun maxsus muhit amalga oshiriladi.
                Maxsus   modullar   yordamida   ish   maydoni   (ish   maydoni)   va   Eclipse
platformasining   foydalanuvchi   interfeysi   tarkibiy   qismlari   amalga   oshiriladi.   Ish
maydoni   tarkibida   ulangan   modullar   tomonidan   amalga   oshiriladigan   vositalar
foydalanuvchilari   yaratadigan   fayllar   mavjud.   Ishbilarmon   komponentlari   Eclipse
platformasining   rivojlanish   muhitining   foydalanuvchi   interfeysining   imkoniyatlarini
kengaytirishga   imkon   beradigan   umumiy   tarkib   va   vositalarni   taqdim   etadi,   bu
foydalanuvchiga ma'lumotni taqdim etish uchun ikkita komponentni o'z ichiga oladi.
 Standart vidjet Asboblar (SWT) - bu ma'lum bir operatsion platformaning oyna
tizimiga   ega   bo'lgan   interfeys   elementlari   va   grafik   kutubxona,   ammo   OS-dan
mustaqil   ravishda   APSni   amalga   oshiradigan   grafika   dasturlari   to'plamidir.   Bu
iste'molchi  uchun   odatiy  deraza   muhitiga  mos  keladigan  rivojlanish  muhitining
foydalanuvchi interfeysilarini yaratish uchun yagona printsiplarga imkon beradi,
ammo bu ishlayotgan tizimlarning maksimal spektr uchun mo'ljallangan;  JFACE - SWT vositalaridan foydalanib dasturlash interfeyslari bilan bog'liq bir
qator umumiy vazifalarni amalga oshirish uchun qo'llanma.
SWT   va   JFACE   tarkibiy   qismlari   tomonidan   taqdim   etilgan   apis   bazasida
shaxsiylashtirilgan   foydalanuvchi   interfeysi   qurilmoqda,   bu   esa   rivojlanish   vositasi
bilan   iste'molchilarning   o'zaro   ta'sirini   aniqlaydi.   Eclipse   platformasi   interfeysi
muharrir   turlari,   turlari   (ko'rinishi)   va   istiqbollaridan   foydalangan   holda   tashkil
etiladi.
Tahririyatni tayinlash - Ochiq, tahrir va ish joyidagi ob'ektlarni saqlash. Platformada
matn resurslari uchun o'rnatilgan muharrir, boshqa funktsiyalar esa ulangan modullar
sifatida   amalga   oshirilishi   kerak.   Turlar   foydalanuvchi   ishlaydigan   ob'ekt   haqida
ma'lumot   beradi,istiqbol   mexanizmi   ekranda   ko'rsatiladigan   istalgan   tahririyat   va
turlarni tanlash va tartibga solish imkonini beradi.
       Eclips loyihalari umumiy davlat litsenziyalari tomonidan boshqariladigan holda,
ochiq manbali tashabbus tomonidan tasdiqlangan umumiy davlat litsenziyalari (CPL)
tomonidan   boshqariladi.   Cpl-ga   muvofiq   har   biri   bepul   va   tutilishini   tijorat   va
notijorat maqsadlarda tarqatishi mumkin.  Eclipse.org saytiga bepul kirish mumkin:
 to'g'ridan-to'g'ri   foydalanish   uchun   platformaning   hozirgi   versiyalari   (ikkilik
shaklda);
 har   qanday   manbali   faylning   tarkibi   va   versiyalari   tarixini   ko'rib   chiqadigan
manba   kodi   ombori,   shuningdek   eclipse   platformasini   manba   kodidan   qayta
to'ldirish va yig'ish uchun skriptlarni;
 muhokama uchun ochiq munozara forumlari Eclipse platformasi;
 kuzatish   va   muammolar   uchun   xato   ma'lumotlar   bazasi.   Ushbu   ma'lumotlar
bazasidan foydalanib, foydalanuvchilar o'zlarining   nuqsonlarini eclipse asosida
aniqlashlari va ommaviy yangi muammolarni topishlari mumkin;
 eclipse loyihalarida ishtirok etadigan rivojlanish rejalari va aloqa dasturchilari. Kamchiliklari:
1.Tizim resurslarining yuqori iste'moli;
2. O'rnatish uchun ko'plab qo'shimcha fayllarni talab qiladi.
              Eclipse   -   bu   moslashuvchanlik   va   qulaylik   bilan   tavsiflanadigan   juda   kuchli
rivojlanish   muhitidir.   Dastlab   dasturlash   sohasida   ham   boshlang'ich   ishlab
chiqaruvchilar uchun ham mos keladi. Ushbu yo'nalishda siz har qanday o'lchamdagi
loyihalarni va murakkabliklarni yaratishingiz mumkin. Foydalanilgan adabiyotlar
1. https://obanracer.ru/uz/eclipse---sreda-razrabotki-modulnyh-krossplatformennyh-   
prilozhenii.html
2. "Dasturchi bo'lishni xohlaysizmi?" Qudrat Abdurahimov.
3. Ivor Horton – Beginning Java.
4. Object oriented programming Java.
5. http// google.com
6. http// dastur.uz
7. stackoverflow.com
8. http// tutorialspoint.com
9. http// oracle.com

Mavzu: C++ va Java dasturlash tillari. Eclipse platformasi va uning xususiyatlari. Reja: I. Kirish II. Asosiy qism 1. C++ dasturlash tili va uning imkoniyatlari 1.1 C++ dasturlash tilining alfaviti 1.2 C++ dasturlash tili asosiy tushunchalari 2. Java dasturlash tili haqida 2.1 Java dasturlash tilining asosiy strukturasi 2.2 Java texnologiyalari 3. Eclipse platformasi va uning xususiyatlari III. Foydalanilgan adabiyotlar

Kirish Inson kabi kompyuter ham óziga xos tilda muloqot qiladi. Bu til faqat kompyuter tushunadigan til bólib, u cheklangan lug'at va qat'iy yozish qoidalaridan iboratdir. Kompyuter tushunadigan va muloqot olib boradigan "til" DASTURLASH TILI deb ataladi. Istalgan dasturlash tilini bilgan shaxs óz dasturini bemalol tuza oladi. Protsessor dasturlash tilida yozilgan dasturni tóg'ridan - tóg'ri tushunmaydi. Buning uchun dasturni protsessor tiliga tarjima qiladigan (raqamli ótkazib beruvchi) tarjimon tili - translyatordan foydalaniladi. Tarjimon tilining ikkita turi mavjud: kompilyator va interpretator . KOMPLIYATOR dasturlash tilida yozilgan dastur kodini tólaligicha óqib , mashina kodiga tarjima qiladi va tarjima natijalarini bajariladigan yaxlit bitta faylga yig'adi. INTERPRETATOR dasturlash tilida yozilgan kodni bosqichma -bosqich mashina kodiga aylantirib , tahlil qiladi va berilgan buyruqlarni ketma- ketlikda bajaradi. Agar xatolik sodir bólsa, ósha zahoti xabar beradi. Dasturlash tillari juda kól bólib, ularning har biridan óziga xos masalalarni yechishda foydalanish mumkin. Quyida ularning eng mashhurlari haqida ma'lumotlar bilan tanishamiz. C++ kompyuter operatsion tizimlarini yozish uchun móljallangan til. JAVASCRIPT interfaol web- saytlarni yozish uchun móljallangan til. SCRATCH dasturlarni órganish uchun eng Mo's vizuallashgan dasturlash tili. JAVA kompyuter, mobil telefon va planshetlar uchun móljallangan dastur yozuvchi til. PHP dinamik web-saytlar yaratish uchun móljallangan til. PYTHON turli masalalarni yechish , sun'iy intellekt tizimlari uchun móljallangan dasturlash tili. Aksariyat dasturlash tillari, xususan, C++, Pascal , Java, Python va boshqalar integrallashgan dasturlash muhiti (IDE)ga ega. IDE ( Integrated Development Environment- integrallashgan dasturlash muhiti)- dasturiy ta'minot yaratish uchun dasturiy vositalar majmui. Tizimli va amaliy dasturlarni yaratish uchun dasturlash tillaridan foydalaniladi. Dastur yaratish jarayoni katta hajmga ega bólib, dasturlash tillarida Tizimli va amaliy dasturlarni yaratish uchun dasturlash tillaridan foydalaniladi. Dastur yaratish jarayoni katta hajmga ega bólib, dasturlash tillarida dastur yozishshu jarayonning bir qismi sanaladi. Kompyuter dasturlarini yaratish jarayoni ham kompyuterda masalani yechish jarayoniga óxshash bólib, bir necha bosqichni óz ichiga oladidastur

yozishshu jarayonning bir qismi sanaladi. Kompyuter dasturlarini yaratis jarayoni ham kompyuterda masalani yechish jarayoniga óxshash bólib, bir necha bosqichni óz ichiga oladi. Birinchi bosqichda dastur uchun talab aniqlanadi. Ushbu jarayonda dasturning qanday maqsadda qóllanilishi, kirish va chiqish ma'lumotlari aniqlanadi. Dastur va resurslarni ishlab chiqish , uni joriy etishning narxi baholanadi. Ikkinchi bosqichda dastur loyihasi ishlab chiqiladi. Dasturchilar uchun texnik topshiriq va vazifalar shakllantiriladi. Ishchi hujjatlar hamda ish rejasining grafigi tuziladi Uchinchi bosqichda dastur kodi yoziladi. Bu kodlash (dasturlash) jarayoni bólib, tuzilgan algoritm dasturlash tilida yoziladi. To'rtinchi bosqichda kodlash jarayoni tugab, dasturdagi xatoliklarni aniqlash va testlash boshlanadi. Bu jarayonda dasturning tóg'ri tuzilganligi , ishlash samaradorligi va boshqa parametrlariga aniqlik kiritiladi. Beshinchi bosqichda dastur amaliyotga joriy etiladi. Agar dastur aniq buyurtmachi talabiga muvofiq yaratilgan bólsa, u holds bu bosqich eng muhim bosqich sanaladi. Bunda avvalgi dasturda foydalanilgan qurilma va ma'lumotlar yangi dasturga moslanadi. Ushbu dastur bilan ishlovchi mutaxassislar óqitiladi. Oltinchi sónggi bosqichda qóllab- quvvatlash amalga oshiriladi. Bu bosqichda foydalanuvchilarga tavsiyalar beriladi. Shuningdek , foydalanuvchi xohishini inobatga olgan holda, ish jarayonida yuzaga kelgan kamchilik va takliflar asosida dasturga

1. C++ dasturlash tili va uning imkoniyatlari C++ dasturlash tili nomi C dasturlash tilidan kelib chiqqan bo`lib, ++ belgisi inkrement amali, ya`ni o'zgaruvchining qiymatini bittaga oshish amalidan olingan. C ++ dasturlash tili turli xil amaliy dasturlarni yaratish, operatsion tizimlarni, qurilma drayverlarini, shuningdek video o'yinlarni va boshqalarni yaratish uchun keng qo'llaniladi. C ++ dasturlash tili 1980-yillarning boshlarida Bell Laboratories firmasi xodimi Byorn Stroustrup tomonidan yaratilgan. Byorn Stroustrup o'zining ehtiyojlari uchun C dasturlash tiliga bir qator yangiliklar kiritmoqchi bo`ldi, ya'ni dastlab C ++ dasturlash tilini yaratish rejalashtirilmagan edi. U dastlab o`zi yaratgan dasturlash tilini “C with classes”(“C bilan sinflar”) deb nomladi. Dasturlash tilining dastlabki versiyasi 1980 yilda paydo bo'lgan. Straustrup dasturlash tiliga sinflar va ob'ektlar bilan ishlash imkoniyatini qo'shdi va shu bilan C sintaksisi asosida yangi dasturlash tili uchun zarur shart-sharoitlarni yaratdi. C++ sintaksisi C sintaksisiga asoslangan bo`lib, Byorn Stroustrup C tili bilan moslikni saqlashga intildi. 1983 yilda dasturlash tili "C ++ dasturlash tili" deb o'zgartirildi. C++ Cga ob'ektga yo'naltirilganlik xususiyatlarni qo'shdi. Oby’ektga yo`naltirilgan dasturlashning uchta xususiyatini mavjud:, meros (nasledovaniye), polimorfizm va inkapsulyatsiya. Usul(Metod) - bu sinf ichida e'lon qilingan va uning ob'ektlari bilan ishlashga mo'ljallangan funktsiyadir. Usullar sinf tanasida e'lon qilinadi. C dasturlash tilidan farqli tomonlari: • ob'ektga yo'naltirilgan dasturlashni qo'llab-quvvatlash; • andozalar orqali umumlashtirilgan dasturlashni qo'llab-quvvatlash; • qo'shimcha ma'lumotlar turlari; • istisnolar; • nom maydonlari; • ichki funktsiyalar; • operatorning yuklanishi(peregruzka);

• funktsiyalarning yuklanishi; • xotirani erkin boshqarish operatorlari; • standart kutubxonaga qo'shimchalar. Afzalliklari: • C tili bilan yuqori muvofiqlik • Hisoblash samaradorligi • Turli dasturlash uslublarini qo'llab-quvvatlash: tarkibiy, obyektga yo'naltirilgan, umumlashtirilgan dasturlash, funktsional dasturlash. • Ob’yekt destruktorlarni avtomatik ravishda chaqirish xotira va boshqa manbalarni boshqarish ishonchliligini soddalashtiradi va oshiradi. • Ortiqcha yuklangan operatorlar • shablonlar • To'g'ridan-to'g'ri kompilyatorlar tomonidan qo'llab-quvvatlanmaydigan paradigmalarni qo'llab-quvvatlash uchun tilni kengaytirish imkoniyati mavjudligi. • C ++ uchun turli tillarga tarjima qilingan juda ko'p o'quv adabiyotlari mavjud Kamchiliklari: Noto'g'ri ishlab chiqilgan sintaksisning mavjudligi tilning qo'llanilishini pasaytiradi • Til ko'p muhim xususiyatlarga ega emas. • Dasturchilar uchun unumdorligi ancha past • Noqulay sintaksis • Og'ir meros • Xotirani kuzatib borish zarurati