Integrallashgan programmalash muhitlari tarkibi va komponentalarini tahlil qilish
![Mavzu: Integrallashgan programmalash muhitlari tarkibi va
komponentalarini tahlil qilish.
Reja:
1) Integrallashgan dasturlash muhitlari , tarkibi va ularning
imkoniyatlari.
2) Integrallashgan
programmalash tizimlari.
3) Translyatorlar.Translyatorlar
turi va strukturasi.
1](/data/documents/99ef311d-0798-4177-a10c-0a8b58d49b2e/page_1.png)
![Integrallashgan programmalash tizimlari.
Hozirgi paytda programmalash tizimlari asosan integrallashgan (birlash-
gan) shaklda tashkil qilinadi. Bunday tizimlarni Turbo Tizimlar ham deyiladi.
Aytib o’tish joyizki SHEHM turbo rejimi va turbo tizim tushun- chalari bir –
biridan katta farq qiladi.
SHEHM turbo rejimi uning oddiy rejimidan farq qiladi. Bu farq takt
chastotasi bilan bog’liq.(takt:prosessorning har bir komandasi bitta yoki bir nechta
takt mobaynida bajariladi). Yani Turbo rejimida takt chastotasi (M Hz,G Hz) ancha
ko’tariladi.
Turbotizim - integrallashgan tizim bo’lib programmani tayyorlash, taxlash va
natija olish uchun tahrirlovchi,translyator, aloqalarni tashkil qiluvchi modul
cheklovchi va yordamchi qism sistemalar yagona kompleks(majmua) si- fatida
tashkil qilingan. Tizim bilan ish menyu-muloqat shaklida olib boriladi. Turbo
tizimlar 150-350 kb qo’shimcha xotirani talab qiladi. Turbo tizimlardan Turbo
Pascal, Turbo Ci, Turbo assemblerni keltirish mumkin. Turbo tizimlar asosida
yangi programmalash muhitlari(visual, obektga mo’ljallangan, case-
texnologyalar) ishlab chiqilgan.
2](/data/documents/99ef311d-0798-4177-a10c-0a8b58d49b2e/page_2.png)
![Translyatorlar turi va strukturasi.
Yuqori darajali (C, C++, Java, Phyton, …) yoki quyi darajali (assembly tillar)
dasturlash tillarida yozilgan kodlarni mashina tiliga o'tkazish uchun ishlatiladigan
programmalar — translyatorlar deb ataladi.
Translyatorlarning 3 xil turi mavjud:
1) Assembler
2) Kompilyator
3) Interpretatoryator
Assembler bu quyi darajali dasturlash tillarida yozilgan kodni mashina tiliga
o'giruvchi translyatorlardir. Bu jarayonlar assmblatsiya (assembling) deb
nomlanadi.
Kompilyator va interpretatorlar esa yuqori darajli dasturlash tillarida yozilgan
kodlarni mashina tiliga o'giruvchi translyatorlardir. Bu jarayonlar kompilatsiya va
interpretatsiya deb nomlanadi.
IDE (integrallashgan ishlovchi muhit) – Har bir dasturlash tilida o‘z ishchi
muhiti bo‘ladi. Bu muhitda kompilyator bilan birga kod yozishimiz uchun
mo‘ljallangan joy bo‘ladi. Bu ishchi muhitda bir necha dastur kodlarini ham yozsa
bo‘ladi va bu muhit avtomatik xatolarni ham bizga ko‘rsatib beradi. Ishchi
muhitda ma’lum kutubxonalar joylashgan bo‘lib, kod yozishda kodni to‘g‘ri
tashkil qilish uchun ma’lum bir kodni to'g'ri tashkil qiluvchi yordamlar ekranga
chiqadi. Ishchi muhitga oddiy bloknot misol qilib olsak bo‘ladi, lekin bu muhitning
kompilyatori yo‘q, shuning uchun alohida kompilyator o'rnatishimiz lozim, 2 ta
dastur o‘rnatib bir-biriga moslashtirishimiz kerak bo‘ladi. Bu 2 ishni
3](/data/documents/99ef311d-0798-4177-a10c-0a8b58d49b2e/page_3.png)
![yengillashtirish uchun, juda ko‘p ishchi muhit dasturlari ishlab chiqilgan va ular
kompilyatorlar bilan integrallashgan bo‘ladi.
C++ dasturlash muhitida eng keng tarqalgan IDE bu – Visual C++ hisoblanadi .
Bu dastur o‘z ichiga quyidagilarni oladi: dastur kodlarini yozishda juda muhim
bo‘lgan .NET klasslari, ishchi muhit va albatta kompilyator integrallashtirilgan
bo‘ladi.
Kompilatsiya bu dasturlash tilida yozilgan kodni mashina tushunadigan
tilga to'g'ridan-to'gri o'girish jarayoni. Mashina tiliga o'giruvchi programma
esa kompilyator deb nomlanadi. Kompilyator butun kodni bir vaqtda skan qiladi va
agar kodda xatoliklar bo'lsa koddagi barcha xatoliklarni ko'rsatadi, agar xatolik
bo'lmasa uni ishga tushiradi. Kompilyatorga misollar: javac (Java kompilyatori), c
(C kompilyatori), cpp (c++ kompilyatori)
Dev-C++ — C/C++ dasturlash tillari uchun ochiq integrallashgan dasturlash
muhiti. Bu distributivga MinGW nomli kompilyator kiradi. Bu dastur o‘zi Delphi
dasturlash tilida tuzilgan. GPL litsenziyasi orqali tarqatiladi. Bir paytlar Linux
versiyasi ham mavjud edi, hozir faqat Windows. Hozir yangi versiyalari ishlab
chiqilmayapti, uning o‘rniga wxDev-C++ nomi bilan ishlab chiqilmoqda.
C++ Builder – C++ dasturlash tili uchun mo‘ljallangan integrallashgan
dasturlash muhiti hisoblanadi. Dastlab Borland Software korxonasi tomonidan
ishlab chiqilgan, undan so‘ng uning bir qismi bo‘lgan CodeGear tomonidan. C++
Builder STL, VCL, CLX, MFC ob’yekt kutubxonalarini o‘z ichiga oladi. Delphi
dasturlash tili tomonidan ishlab chiqilgan. Bu muhit drag-and-drop harakati bilan
vizual shaklni paydo qilishi mumkin, undan tashqari WYSIWYG redaktori ham
mavjud.
4](/data/documents/99ef311d-0798-4177-a10c-0a8b58d49b2e/page_4.png)
![Borland C++ — C/C++ dasturlash tillarida dastur tuzish uchun mo‘ljallangan
muhit bo‘lib, Borland firmasi tomonidan ishlab chiqilgan. Muhitning har bir
versiyasi ma’lum bir dasturlash tili standarti asosida ishlovchi kompilyator bilan
integrallashgan holda chiqarilgan. Dastlab, DOS operatsion tizimi muhitida
ishlovchi dasturlarni yaratish uchun, keyinchalik Windows muhitida ishlovchi
dasturlarni yaratish uchun mo‘ljallangan versiyada ishlab chiqildi.
Microsoft Visual C++ — Albatta Microsoft firmasi ham bekor turmadi. Mana
shu muhitni yaratdi. C++ dasturlash tili uchun mo‘ljallangan va Microsoft Visual
Studio ni bir qismi sifatida yoki o‘zi yakka Visual C++ Express Edition shaklida
namoyon bo‘ldi. Microsoft QuickC muhitini almashtirish vazifasini bajardi.
GNU Compiler Collection(GCC) – GNU proyekti asosida yaratilgan, xar hil
turdagi dasturlash tillarining kompilyatorlar yig‘indisi hisoblanadi. Bu dastur ochiq
hisoblanadi va dastlab faqat S uchun yaratilgan edi. Keyinchalik kuchayib C++,
Objective-C, Java, Fortran va Ada dasturlash tillari uchun ham ishlab chiqildi.
Kompilyatsiya- juda ko'p qirrali jarayon deb hech qiyinchiliksiz ayta olamiz.
Kompilyatsiyaning bir necha turlari mavjud. To'plamlarni yig'ish ishning bir
nuqtasida bir nechta manba modullarida amalga oshiriladi. Tizma-bosqich
kompilyatsiyasi izohlash bilan bir xil (har bir keyingi bayonni bosqichma-bosqich
mustaqil tuzish lozimligi). Hali hamon shartli kompilyatsiya mavjud. Bunday
holda, tarjima qilingan matn dastlabki dasturda kompilyator ko'rsatmalarida
ko'rsatilgan shartlarga bog'liq bo'ladi. Ma'lum bir doimiy qiymatni o'zgartirishimiz,
dastur matni qismining tarjimasini kiritishimiz yoki o'chirishni sozlashimiz
mumkin.
5](/data/documents/99ef311d-0798-4177-a10c-0a8b58d49b2e/page_5.png)
![Dasturchilar uchun dasturlashda qulay sharoit yaratish uchun turli xil yuzaga
keladigan muammolarni hal qilish,ularni to'g'irlash uchun eng qulay va
moslashtirilgan kompilyatorlardan foydalaniladi. Agar ular tasniflangan holda
bo'lsa, unda bunday yordam dasturlarining bir nechta turlarini ajratishimiz
mumkin.
Vektorli kompilyator - manba kodini vektor protsessorlariga moslab,
kompyuterning kompyuter kodiga aylantiradiradigan kompilyator .
Moslashuvchan
kompilyator - modulli printsip asosida ishlab chiqilgan
hisoblanadi. Uni boshqarishni jadvallar bo'yicha amalga
oshiramiz. Moslashuvchan
kompilyator yuqori darajadagi tilda dasturlashtirilgan.
Buni kompilyator kompilyatori yordamida ham amalga oshirishimiz mumkin.
Bosqichma-bosqich
kompilyator - bu dastur qismlarini va unga
qo'shimchalarni qayta eshittiradi va butun dasturni qaytadan yozish paytida esa
istisno qilinadi, ya'ni qabul qilmaydi.
Tarjimon yoki bosqichma-bosqich tuzuvchi dastur, har bir alohida bayonot yoki
buyruq uchun mustaqil kompilyatsiyani ketma-ket bajarish printsipidan
foydalanamiz.
Qaysi dasturlash tili uchun rasmiy tavsifni idrok eta oladi. Mustaqil holda
ma'lum bir til uchun kompilyatorni yaratishga qodir.
Tuzatish tuzuvchisi ba'zi sintaksis xatolarini mustaqil ravishda tuzatishi
mumkin hisoblanadi.
Rezident
kompilyatorga tezkor xotirada doimiy joy ajratilgan bo'ladi, va u
keng vazifalar tomonidan qayta ishlatilganda mavjud bo'ladi.
6](/data/documents/99ef311d-0798-4177-a10c-0a8b58d49b2e/page_6.png)
![O'z-o'zidan tuzadigan kompilyatorlar mavjud. Ular translyatsiya sodir bo'lgan tilda
yozilgan bo'ladi.
Umumjahon kompilyato r- ushbu kompilyator kirish tilining semantikasi va
sintaksisining rasmiy tavsifiga asoslanadi. U yadrodan, sintaktik va semantik
yuklovchilardan iborat bo'ladi.
Linux
platformasi uchun yadro kompilyatorlari , kompilyatorlardan
foydalanadigan eng keng tarqalgan, ommabop vazifalardir. Ushbu operatsiya bizga
uskunalarni muvofiqlashtirish va platformaning eng maqbul versiyasini
o'rnatishimiz bilan bog'liq ko'plab muammolarni hal qilishimizga imkon beradi.
Java
kompilyatsiyasi i turli xil platformalarda ishlaydigan kompilyatorlar
yordamida amalga oshiriladi. Bu bizga turli ishlab chiqaruvchilarning operatsion
tizimlarining ehtiyojlari uchun dastlabki kodni qayta ishlashimizga imkon beradi.
Interpretatsiya jarayonida esa dasturlash tilida yozilgan kod mashina tiliga
to'g'ridan-to'gri o'girilmaydi . Uning o'rniga boshqa bir programma kodni o'qiydi va
uni ishga tushiradi. Ya'ni o'rtada bir boshqa programma vositachi bo'lib turadi.
Usha vositachi programmaga interpretator deyiladi. Misol uchun siz kodda «+»
amalini bajarmoqchi bo'lsangiz, interpretator siz kodda yozgan «+» amalini
o'zining versiyasi bilan almashtiradi va so'ngra uni mashina tiliga o'giradi.
Interpretator kodni satrma-satr skan qiladi va agar biror satrda xatolik bo'lsa darhol
xatolikni ko'rsatadi va skan qilishni tohtatadi, agar satrda xatolik bo'lmasa darhol
usha satrdagi kodni ishga tushiradi. Interpretatorlarga misollar: Ruby, Phyton, GW
Basic.
— Ba'zi interpretatorlar o'zining vazifasini bajarish bilan birga kompilyator
vazifasini ham bajarishi mumkin. Ya'ni, bir vaqtda ikkita ishni qilishi mumkin.
7](/data/documents/99ef311d-0798-4177-a10c-0a8b58d49b2e/page_7.png)
![— Interpretator orqali erishilgan natijaga, kompilyator orqali ham erishish
mumkin. Kompilyator orqali erishilgan natijaga, interpretator orqali ham erishish
mumkin
Afzalliklari va kamchiliklari.
— Kompilatsiya jarayoni interpretatsiyaga nisbatan tezroq kechadi, chunki u
tog'ridan-tog'ri mashina tiliga o'giriladi.
— Interpretatorlari yaratish onsonroq, chunki yaxshi kompilyator yaratish juda
qiyin.
— Interpretatorlar kompilyatorlarga nisbatan portativroq.
— Kompilyator katta hajm talab qiladi, interpretator esa kamroq.
Translyatorlarning ishlash prinsiplari.
Birinchi sxemada (a) programma to’liq tarjima qilinadi va keyin bajariladi.
Ikkinchi(b) xemada esa,programma qadamma-qadam tarjima qilinadi va bajariladi.
Birinchi sxema asosida tashkil qilingan va ishlaydigan translyatorlar
kompinsyatsyalanuvchi (ya’ni komplyatorlar) translyatorlar va ikkinchi sxemad-
agi translyatorlar interpretatsiyalanuvchi (yani interpretatorlar) translyatorlar
deymiz.
Interpretatorlar (masalan beysik, lion, refal) va komplyatorlar (PL/1, Pascal, Cu)
o’ziga xos qulaylik va kamchiliklarga ham ega . Interpretatorlar sodda tashkil
qilinadi va programmani tarjima qilish va bajarish jaroyonida xotirada bo’lishi
zarur. Komplyatorlar murakkab bo’lsa ham programmani tarjima qi- lingandan
keyin (.exe, .obj fayllar) operativ xotirada bo’lishi shart emas.
8](/data/documents/99ef311d-0798-4177-a10c-0a8b58d49b2e/page_8.png)
![Translyatorlarning yana bir turi assembler yoki zagruzchik (yuklovchi) deyiladi.
Ularning kirish tipi mashina yoki mashinaga mo’ljallangan tiplar geruhiga kiradi.
Bu tillar yordamida programma tuzishda katta tezkorlikka (programmani
mashinada bajarish nuqtai nazardan) erishiladi , ammo pro- grammani loyihalash
(ishlab chiqish) murakkablashadi, chunki biz program- mani har bir kichik
detalini asoslashimiz kerak.
Dasturlash — kompyuterlar va boshqa mikroprotsessorli elektron mashinalar
uchun dasturlar tuzish, sinash va o zgartirish jarayonidan iborat. Odatda dasturlash
ʻ
yuqori saviyali dasturlash tillari ( PHP , Java , C++ , Python ) vositasida amalga
oshiriladi. Bu dasturlash tillarining semantikasi odam tiliga yaqinligi tufayli dastur
tuzish jarayoni ancha oson kechadi.
Dasturlash 1) elektron mashinalarda masalalarni yechish hamda ularda har xil
akdiy mehnat turlarini bajarish na-zariyasi va usullarini ishlab chi-qish bilan
shug ullanadigan fan; algo-ritmlar nazariyasining amaliy bo limi; insonning
ʻ ʻ
mashina bilan aloqa qilish vositasi. Asosiy vazifalaridan biri elektron mashinalar
uchun programma (dastur) tuzish usullari, ularni tekshirish va takomillashtirishdan
iborat. Yechilishi lozim bo lgan masala algoritmi Dasturlashda „mashina tili“ga
ʻ
o tkaziladi.
ʻ
Dasturlash — bevosita dasturlash va avtomatik dasturlashga bo linadi.
ʻ
Bevosita Dasturlashda programmaning umumiy sxemasini ishlab chiqishdan
9](/data/documents/99ef311d-0798-4177-a10c-0a8b58d49b2e/page_9.png)
![kodlash va mashi-naga kiritishgacha bo lgan barcha ishni programmachi bajaradi.ʻ
Avtomatik dasturlashda esa programmachi faqat programma sxemasini tuzib, uni
qisqartirilgan simvolik kurinishda yozadi, profamma tuzish va uni kodlash kabi
texnikaviy ishlarni esa mashinaning o zi maxsus dasturlash programmasi
ʻ
yordamida bajaradi.
Dasturlash jarayoni, odatda, quyidagi bos-qichlarga bo linadi: masalaning
ʻ
qo yilishi; masalaning algoritmik tavsi-fini tuzish; masalani yuqori darajadagi
ʻ
programma tilida Dasturlash; masalani taxminiymashina tilida Dasturlash;
masalani mashina tilida Dasturlash
Dasturlash tili programmalar tuzishning asosiy vositasidir. Bu tillar konkret
mashina komandalari sistemasiga boglits bo lmasligi va iboralar struktu-rasi
ʻ
jihatidan umumiy xususiyatga ega bo lishi bilan boshqa tabiiy tillarga o xshab
ʻ ʻ
ketadi. Iboralar ikki turga — operatorlar hamda tavsiflarga bo linadi, ularning bir-
ʻ
biri bilan bog liqligi qavslar bilan, alohidaligi nukali vergul bilan ajratiladi.
ʻ
Operator tilning amal birligi bo lib, o z navbatida, o zgaruvchan kattalikka qiymat
ʻ ʻ ʻ
beruvchi operatorlar, shartga muvofiq tegishli hisoblash tarmog ini tanlovchi
ʻ
(shartli) operator va takroriy hisobni amalga oshiruvchi sikl ope-ratorlariga
bo linadi. Tavsifda o zga-ruvchan kattalik va boshqa belgilar xususiyatlari
ʻ ʻ
yoziladi. Biror xususiy masalani yechish uchun tuzilgan programmani simvolik
ravishda funksional belgilash mumkin. Bunday belgilash va tavsif birgalikda
kichik programma deb yuritiladi. Yangi programmalar tuzishda kichik
programmalardan tayyor holda foydalanish mumkin.
Juda ko p dasturlash tillari (algol-60, q.
ʻ Algol ), muhandislik va ilmiy
masalalarni yechish uchun fortran, iqtisodiy hisoblashlar uchun kobol, matematik
10](/data/documents/99ef311d-0798-4177-a10c-0a8b58d49b2e/page_10.png)
![modellar uchun si mula, tako-millashgan algol-68, PL/I yaratildi. Ularning har biri
uchun shu tillarda ifodalangan masalalarga qarab mashina programmasini
avtomatik tarzda qaytatuzuvchi translyatorlar mavjud. Taxminiy mashina tili
ikkilik sistemadan ko ra yanada qulayroq simvollarda ifodalangan mashinaʻ
komandalari terminlaridagi programmalar bo lib, bunda ko pincha, yuqori
ʻ ʻ
darajadagi til sifatida blok sxemalardan foydalaniladi.
Dasturlashning programma tuzilgandan keyingi yana bir asosiy bosqichi
„tekshirish“ (otladka) bo lib, bunda yo l qo yilgan xatolar topiladi va tuzatiladi.
ʻ ʻ ʻ
Programmalar kodlanadi va mashinaga maxsus qurilma yordamida kiritiladi.
Amaliyotda Dasturlashning yangi va tezkor usullari bor (2004); 2) matematik
dasturlash — amaliy matematikaning bir bo limi; umumiy ma noda
ʻ ʼ — biron-bir
funksiya fo(x) ning ekstremumini (qarang Ekstremum ) topish masalasi tushuniladi.
Integrallashgan dasturlash
muhitlari , tarkibi va ularning imkoniyatlari.
Integratsiyalashgan dasturlash muhiti (Integrated Development Environment -
IDE), shuningdek , birlashgan dasturlash muhiti - dasturchilar tomonidan dasturiy
ta'minotni ishlab chiqish uchun foydalaniladigan dasturiy vositalar to'plamidir.
Integratsiyalashgan dasturlash muhiti quyidagilarni o'z ichiga oladi:
matn muharriri ,
Translyator(kompilyator va / yoki interpritator),Yig’ishni avtomatlashtirish
vositalari ,Tuzatuvchi(otladchik).
Ko'pgina zamonaviy IDE-lar , shuningdek, ob'ektga yo'naltirilgan dasturiy
ta'minotni ishlab chiqishda foydalanish uchun sinf brauzeri , ob'ekt inspektori va
sinf iyerarxiyasi diagrammasini o'z ichiga oladi.
11](/data/documents/99ef311d-0798-4177-a10c-0a8b58d49b2e/page_11.png)
![Integratsiyalashgan dasturlash muhiti (Integrated Development Environment
- IDE), shuningdek, birlashgan dasturlash muhiti - dasturchilar tomonidan dasturiy
ta'minotni ishlab chiqish uchun foydalaniladigan dasturiy vositalar to'plamidir.
Integratsiyalashgan dasturlash muhiti quyidagilarni o'z ichiga oladi:
matn muharriri,Translyator(kompilyator va / yoki interpritator),Yig’ishni
avtomatlashtirish vositalari,Tuzatuvchi(otladchik).
Ko'pgina zamonaviy IDE-lar, shuningdek, ob'ektga yo'naltirilgan dasturiy
ta'minotni ishlab chiqishda foydalanish uchun sinf brauzeri, ob'ekt inspektori va
sinf iyerarxiyasi diagrammasini o'z ichiga oladi.
12](/data/documents/99ef311d-0798-4177-a10c-0a8b58d49b2e/page_12.png)
![Linux operatsion tizimi(versiyalari,afzallik va kamchiliklari).
Biz ushbu saxifamizda Linuxning asosiy afzalliklari va kamchiliklarini sanab
o'tamiz.
Linux operastion tizimi distributivlari mutlaqo bepul tarqatiladi va yangi chiqqan
utilitlar va dasturlar ham shular jumlasidandir. Linux operastion tizimiga egalik
qilish huquqi xech kimga berilmagan. U erkin tarqatiladi. Linux distributivlari
uchun qo'shimcha yangiliklar , dasturlar, utilitlar dunyodagi ko'pgina
dasturlovchilar birlashgan forum va loyixalarda ishlab chiqiladi.
Windows operastion tizimida biror bir xato yoki kamchilik paydo bo'lsa uni
faqatgina Microsoft kompaniyasining o'zigina to'g'rilay oladi va faqatgan rasmiy
saytdan uning yangilangan paketlarini yuklab olish mumkin. Linux
operastion tizimida xato yuzaga kelsa , uni dasturchilar forumi yordamida bartaraf
etish mumkin. Buning sababi Linux ochiq kodli operastion tizim, Windows esa
yopiq kodli operastion tizimligidadir.
Linux ni faqat dasturchilar yoki moxir foydalanuvchilar uchun yaratilgan
operatsion tizimi deb o'ylovchilar qattiq yanglishadi. Chunki xozirgi kunga kelib
oddiy foydalanuvchilar uchun qo'l keladigan KDE,
GNOME, Unity kabi grafik
muxitlar mavjud. Ular yordamida turli xil darajadagi foydalanuvchilar operastion
tizimida ishlashlari mumkin.
Windows muxitida ishlab o'rgangan foydalanuvchi Linux operastion tizimi grafik
muxitiga moslashishi qiyin kechishi aniq chunki unda menyular va boshqa
yarliklar odatiy joyda joylashmagan. Xuddi shunday Linux grafik interfeysida
ishlab o'rgangan foydalanuvchi Windows muxitiga moslashishi qiyin kechadi va
bir qancha noqulayliklarga duch kelishi aniq.
13](/data/documents/99ef311d-0798-4177-a10c-0a8b58d49b2e/page_13.png)
![XULOSA
Xulosa o'rnida shuni aytmoqchimanki, dastur va dasturlash hozirda inson
hayotining ajralmas qismiga ajralib bo'lgan. Shuning uchun dasturlash sohasini
chuqur o'rganish kerak ekanligini angladim.Dasturlash tillarini o'rganish esa
bundan ham kerakli va qiziqarlidir. Umuman olganda dasturlash inson hayotini va
u bajaradigan mehnatni maksimal darajada osonlashtiradi. Dasturni optimallash esa
yozilgan dasturni eng yaxshi,eng qisqa, eng maqbuk variantga keltirishdir.Bu esa
izga juda ulkan imkoniyatlar beradi.
14](/data/documents/99ef311d-0798-4177-a10c-0a8b58d49b2e/page_14.png)
![Foydalanilgan adabiyotlar
1. “Yuksak ma’naviyat yengilmas kuch”. Islom Abdudg’anievich
Karimov Toshkent 2008.
2. “O’zbekiston XXI asr bo’sag’asida”. Islom Abdudg’anievich Karimov.
Toshkent 2000.
3. “Havfsizlik va barqaror taraqqiyot yo’lida”. Islom Abdudg’anievich
Karimov. Toshkent 2004.
4. Культин Н. Б. Самоучитель C++ Builde
5. О . Д . Вальпа - Borland C++ Builder. Экспресс-курс – 2006
6. Самоучительпрограммирования C++
7. Самоучитель программирования на языке С++ в системе С+
+Build
8. Федоренко Ю.П. - Алгоритмы и программы на C++ Builder
(Профессиональная серия для программистов) – 2010
Internet manbalari:
1. www.cyber-form.ru
2. www.wikipedia.org
3. www.programmer.com
4. W3schools.com
5. Tutorial.com
6. Edx.org.com
15](/data/documents/99ef311d-0798-4177-a10c-0a8b58d49b2e/page_15.png)
Mavzu: Integrallashgan programmalash muhitlari tarkibi va komponentalarini tahlil qilish. Reja: 1) Integrallashgan dasturlash muhitlari , tarkibi va ularning imkoniyatlari. 2) Integrallashgan programmalash tizimlari. 3) Translyatorlar.Translyatorlar turi va strukturasi. 1
Integrallashgan programmalash tizimlari. Hozirgi paytda programmalash tizimlari asosan integrallashgan (birlash- gan) shaklda tashkil qilinadi. Bunday tizimlarni Turbo Tizimlar ham deyiladi. Aytib o’tish joyizki SHEHM turbo rejimi va turbo tizim tushun- chalari bir – biridan katta farq qiladi. SHEHM turbo rejimi uning oddiy rejimidan farq qiladi. Bu farq takt chastotasi bilan bog’liq.(takt:prosessorning har bir komandasi bitta yoki bir nechta takt mobaynida bajariladi). Yani Turbo rejimida takt chastotasi (M Hz,G Hz) ancha ko’tariladi. Turbotizim - integrallashgan tizim bo’lib programmani tayyorlash, taxlash va natija olish uchun tahrirlovchi,translyator, aloqalarni tashkil qiluvchi modul cheklovchi va yordamchi qism sistemalar yagona kompleks(majmua) si- fatida tashkil qilingan. Tizim bilan ish menyu-muloqat shaklida olib boriladi. Turbo tizimlar 150-350 kb qo’shimcha xotirani talab qiladi. Turbo tizimlardan Turbo Pascal, Turbo Ci, Turbo assemblerni keltirish mumkin. Turbo tizimlar asosida yangi programmalash muhitlari(visual, obektga mo’ljallangan, case- texnologyalar) ishlab chiqilgan. 2
Translyatorlar turi va strukturasi. Yuqori darajali (C, C++, Java, Phyton, …) yoki quyi darajali (assembly tillar) dasturlash tillarida yozilgan kodlarni mashina tiliga o'tkazish uchun ishlatiladigan programmalar — translyatorlar deb ataladi. Translyatorlarning 3 xil turi mavjud: 1) Assembler 2) Kompilyator 3) Interpretatoryator Assembler bu quyi darajali dasturlash tillarida yozilgan kodni mashina tiliga o'giruvchi translyatorlardir. Bu jarayonlar assmblatsiya (assembling) deb nomlanadi. Kompilyator va interpretatorlar esa yuqori darajli dasturlash tillarida yozilgan kodlarni mashina tiliga o'giruvchi translyatorlardir. Bu jarayonlar kompilatsiya va interpretatsiya deb nomlanadi. IDE (integrallashgan ishlovchi muhit) – Har bir dasturlash tilida o‘z ishchi muhiti bo‘ladi. Bu muhitda kompilyator bilan birga kod yozishimiz uchun mo‘ljallangan joy bo‘ladi. Bu ishchi muhitda bir necha dastur kodlarini ham yozsa bo‘ladi va bu muhit avtomatik xatolarni ham bizga ko‘rsatib beradi. Ishchi muhitda ma’lum kutubxonalar joylashgan bo‘lib, kod yozishda kodni to‘g‘ri tashkil qilish uchun ma’lum bir kodni to'g'ri tashkil qiluvchi yordamlar ekranga chiqadi. Ishchi muhitga oddiy bloknot misol qilib olsak bo‘ladi, lekin bu muhitning kompilyatori yo‘q, shuning uchun alohida kompilyator o'rnatishimiz lozim, 2 ta dastur o‘rnatib bir-biriga moslashtirishimiz kerak bo‘ladi. Bu 2 ishni 3
yengillashtirish uchun, juda ko‘p ishchi muhit dasturlari ishlab chiqilgan va ular kompilyatorlar bilan integrallashgan bo‘ladi. C++ dasturlash muhitida eng keng tarqalgan IDE bu – Visual C++ hisoblanadi . Bu dastur o‘z ichiga quyidagilarni oladi: dastur kodlarini yozishda juda muhim bo‘lgan .NET klasslari, ishchi muhit va albatta kompilyator integrallashtirilgan bo‘ladi. Kompilatsiya bu dasturlash tilida yozilgan kodni mashina tushunadigan tilga to'g'ridan-to'gri o'girish jarayoni. Mashina tiliga o'giruvchi programma esa kompilyator deb nomlanadi. Kompilyator butun kodni bir vaqtda skan qiladi va agar kodda xatoliklar bo'lsa koddagi barcha xatoliklarni ko'rsatadi, agar xatolik bo'lmasa uni ishga tushiradi. Kompilyatorga misollar: javac (Java kompilyatori), c (C kompilyatori), cpp (c++ kompilyatori) Dev-C++ — C/C++ dasturlash tillari uchun ochiq integrallashgan dasturlash muhiti. Bu distributivga MinGW nomli kompilyator kiradi. Bu dastur o‘zi Delphi dasturlash tilida tuzilgan. GPL litsenziyasi orqali tarqatiladi. Bir paytlar Linux versiyasi ham mavjud edi, hozir faqat Windows. Hozir yangi versiyalari ishlab chiqilmayapti, uning o‘rniga wxDev-C++ nomi bilan ishlab chiqilmoqda. C++ Builder – C++ dasturlash tili uchun mo‘ljallangan integrallashgan dasturlash muhiti hisoblanadi. Dastlab Borland Software korxonasi tomonidan ishlab chiqilgan, undan so‘ng uning bir qismi bo‘lgan CodeGear tomonidan. C++ Builder STL, VCL, CLX, MFC ob’yekt kutubxonalarini o‘z ichiga oladi. Delphi dasturlash tili tomonidan ishlab chiqilgan. Bu muhit drag-and-drop harakati bilan vizual shaklni paydo qilishi mumkin, undan tashqari WYSIWYG redaktori ham mavjud. 4
Borland C++ — C/C++ dasturlash tillarida dastur tuzish uchun mo‘ljallangan muhit bo‘lib, Borland firmasi tomonidan ishlab chiqilgan. Muhitning har bir versiyasi ma’lum bir dasturlash tili standarti asosida ishlovchi kompilyator bilan integrallashgan holda chiqarilgan. Dastlab, DOS operatsion tizimi muhitida ishlovchi dasturlarni yaratish uchun, keyinchalik Windows muhitida ishlovchi dasturlarni yaratish uchun mo‘ljallangan versiyada ishlab chiqildi. Microsoft Visual C++ — Albatta Microsoft firmasi ham bekor turmadi. Mana shu muhitni yaratdi. C++ dasturlash tili uchun mo‘ljallangan va Microsoft Visual Studio ni bir qismi sifatida yoki o‘zi yakka Visual C++ Express Edition shaklida namoyon bo‘ldi. Microsoft QuickC muhitini almashtirish vazifasini bajardi. GNU Compiler Collection(GCC) – GNU proyekti asosida yaratilgan, xar hil turdagi dasturlash tillarining kompilyatorlar yig‘indisi hisoblanadi. Bu dastur ochiq hisoblanadi va dastlab faqat S uchun yaratilgan edi. Keyinchalik kuchayib C++, Objective-C, Java, Fortran va Ada dasturlash tillari uchun ham ishlab chiqildi. Kompilyatsiya- juda ko'p qirrali jarayon deb hech qiyinchiliksiz ayta olamiz. Kompilyatsiyaning bir necha turlari mavjud. To'plamlarni yig'ish ishning bir nuqtasida bir nechta manba modullarida amalga oshiriladi. Tizma-bosqich kompilyatsiyasi izohlash bilan bir xil (har bir keyingi bayonni bosqichma-bosqich mustaqil tuzish lozimligi). Hali hamon shartli kompilyatsiya mavjud. Bunday holda, tarjima qilingan matn dastlabki dasturda kompilyator ko'rsatmalarida ko'rsatilgan shartlarga bog'liq bo'ladi. Ma'lum bir doimiy qiymatni o'zgartirishimiz, dastur matni qismining tarjimasini kiritishimiz yoki o'chirishni sozlashimiz mumkin. 5