Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr




Download 6,33 Mb.
Pdf ko'rish
bet115/194
Sana20.02.2024
Hajmi6,33 Mb.
#159185
1   ...   111   112   113   114   115   116   117   118   ...   194
2 Qism dasturlarning o‘zagi 
2.1 Qism dasturlarning umumiy xusisiyatlari
Bu mavzuda xar bir dasturlash tilida qism dasturlar muxokama qilingan va 
ularning quyidagi hususiyatlari bor. 

Har bir qism dasturni kirish nuqtasi bor. 

Qism dasturda murojaat qilinayotgan paytda faqat murojaat 
qilinayotgan qism dasturdan tashqari dasturning boshqa qismlari to‘xtatiladi. 

Qism dasturni bajarish to‘xtaltilganda nazorat murojaatchiga qaytadi. 
Bir biriga bog‘liq qismlar va boshqarishlar natijalarini tanlash (keyingi 
mavzularda). 
Ko‘pchilik qism dasutlarni nomi bor xattoki nomalumlarini ham. 9.12 qismda 
noma’lum qism dasturlarga misollar berilgan. 
2.2 Asosiy ta’riflar 
Qism dastur ta’rifi abstraksion qism dasturlar harakati va interfeysini o‘zida 
aks ettiradi. Murojaat qilinayotgan qism dasturdan o‘ziga hos aniq ishlash talab 
qilinadi. Qism dastur faol holatda bo‘lishi uchun murojaat qilingan ishlarni bajarishi 
va faoliyatini to‘htatmasligi kerak. Qism dasturlarni 2 ta asoiy turlari bor: protsedura 
va funksiyalar va ular 2.4 qismda muxokama qilingan.
Qism dastur sarlavhasi ya’ni ta’riflarning birinchi qismi bir necha hizmat 
maqsadlarni o‘zida qamrab oladi. Birinchidan u quyidagi sintaktik birlik ayrim 
konkret turdagi bir qism dastur ta’rifi ekanligini bildiradi. Bir turdan ortiq qism 
dasturlar, qism dasturlar turlari mahsus so‘z bilan aniqlanadi. Ikkinchi qism dastur 
anonim (yashirin) bo‘lmasa, qism dastur uchun nom beradi. Uchinchidan ularni 
parametrlarni aniq ro‘yhati deb belgilash mumkin. 
Boshqaruvni quyidagi misollar bilan ko‘rib chiqishimiz mumkin: 
Def adder (PARAMETRI ) 


Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
221 
Bu Python nomidagi qism dastur sarlavhasi hisoblanadi. Ruby deb ataluvchi 
qism dastur sarlavhasi ham “Def” bilan boshlanadi. Javascript qism dastur sarlavhasi 
esa « function» bilan boshlanadi.
S dasturlash tilida funksiya sarlovhasi quyidagicha nomlanishi mumkin: 
Void adder( parametrlari) 
Void so‘zi bu sarlavhasini ko‘rsatadi ya’ni qism dastur orqaga qaytmasligi 
uchun belgilanadi.
Qism dastur tanasi uning harakatini belgilaydi. S tilida asosiy tillarda ( masalan 
Javascript ) qism dastur tanasi qo‘shtirnoq bilan ajratiladi. Ruby da esa qism dastur 
tanasi “end” termini bilan yoziladi. Operatorlar tarkibida ya’ni Python funksiyasi 
tanasida nazarda tutilgan operator va tananing ohiridagi operator nazarda 
tutilmaydi.
Python 
funksiyasi 
hususiyatlaridan 
biri 
boshqa 
dasturlash 
tillari 
funksiyalaridan farqi def operator so‘zi bilan yoziladi. Qachonki def operatori 
bajarilsa, berilgan nom berilgan funksiya tanasiga tasdiqlanadi. DEF funksiyasi 
bajarilgunga qadar, funksiyani nomlash mumkin emas. Quyidagi misolda ko‘rishimiz 
mumkin: 
if... 
deffun(...): 
... 
else 
deffun(...): 
... 
Agar keyingi punkt bajarilagn bo‘lsa, funksiyaning boshqa versiyasida 
nomlanishi mumkin, lekin bu versiyada qayta nomlanmaydi. Agar keyingi qator yana 
tanlansa , funksiyaning bu versiyasida nomlash mumkin lekin bir banddan 
keyingisida mumkin emas.
Rybu qism dasturining usullari boshqa dasturlash tillaridan farq qiladi. Rybu 
usullari asosan belgilangan sinflarda beligilanadi, bundan tashqari belilangan sinf 
tashqarisida ham belgilanishi mumkin, bu holda ular ildiz ob’ekt usullari bilan 
ko‘riladi. Bunday usullar qabul qiluvchi ob’ektdan tashqari deb ataladi, xuddi S yoki S 
++ kabi. Agar Rybu usullari ob’ektdan tashqari deb atalsa, Self deb qabul qilinadi. 
Agar sinfda metod bo‘lmasa, sinf ichidan izlanadi.
Lue funksiyasi ham anonoimlar hisoblanadi, garchi ularning nomlari sintaksis 
yordamida paydo bo‘lgan bo‘lsa ham. Misol uchun kub funksiyaning belgilangan 
ta’riflarini ko‘rib chiqamiz. 


Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
222 
function cube(x) return x * x * x end 
cube = function (x) return x * x * x end 
Birinchi kelishilgan sintaksis ikkinchi aniq bezalgan nomsiz funksiyani shakli 
hisoblanadi. 
Qism dasturlarning qisqacha parametrlari raqamli va rasmiy parametrlar 
turlarini o‘z ichiga oladi. Qism dasturning protakoli qisqacha parametrlarga 
qo‘shimcha ravishda qaytib kelgan turi uchun qo‘shimcha hisoblanadi. Dasturlash 
tillarida qism dasturlash turlari bor, bu turlar qism dasturning protakolida 
belgilanadi. 
Qism dastur e’lon qilishlari huddi ta’riflar kabi hisobga olinadi. Parallel 
o‘zgaruvchan ta’riflar va e’lon qilishlar shakli S da qaysiki e’lon qilishlar ma’lumot 
turlarini aniqlashda ammo o‘zgaruvchan turlarini aniqlashda emas. Qism dastur 
e’lon qilishlari qism dastur protakoli bilan taminlanadi lekin ularning tanasini o‘z 
ichiga olmaydi. Ular kerakli tillarda qaysiki qism dasturlarda ruhsat berilmaydigan. 
Ikkala ya’ni o‘zgaruvchan voqealar va qism dasturlar, e’lon qilishlar dasturning statik 
turi uchun tekshirilishi kerak. Qism dasturlarda, parametrlarning bu turlari 
tekshirilishi kerak. Yuqorida ko‘rib o‘tilgan funksiya e’loni S va S++ dasturlash tillarida 
ko‘p uchraydi va bu prototiplar deb ataladi. Bunday e’lon qilishlar odatda bosh 
fayllarda joylashtiriladi.
Ko‘pchilik boshqa tillarda ( S va S++ dan tashqari) qism dastur e’lon qilishlari 
kerak emas, chunki ular nomlanishidan oldin qism dasturlarni belgilash talab 
qilinmaydi.

Download 6,33 Mb.
1   ...   111   112   113   114   115   116   117   118   ...   194




Download 6,33 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr

Download 6,33 Mb.
Pdf ko'rish