Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr




Download 6,33 Mb.
Pdf ko'rish
bet117/194
Sana20.02.2024
Hajmi6,33 Mb.
#159185
1   ...   113   114   115   116   117   118   119   120   ...   194
 
4 Lokal yo‘naltiruvchi muxitlar 
Ushbu bo‘limda qism dastur doirasida belgilangan parametrlarga erishish bilan 
bog‘liq masalalar muxokama qilinadi. Qism dastur masalasi xam o‘rin olgan.
4.1 Lokal o‘zgaruvchilar
Qism dastur o‘zining o‘zgaruvchilarni aniqlay oladi, shuningdek lokal muxit 
o‘zgaruvchilarini xam. Qism dasturlar ichida belgilangan o‘zgaruvchilar lokal 
o‘zgaruvchilar deyiladi, chunki ular unda belgilangan ya’ni ularning kulami qism 
dasturlar organi hisoblanadi. 5 bob terminalogiyada lokal o‘zgaruvchilar statik yoki 
dinamik bo‘lishi mumkin.
Lokal o‘zgaruvchilar dinamik bo‘lsa, qism dastur ijrosi boshlanadi va saqlash 
qachondan erkin bo‘lsa, ular saklash uchun bog‘langan deb yakun yasaydi. Dinamik 
lokal o‘zgaruvchilarni bir necha afzalliklari bor ya’ni asosiysi qism dastur taqdimiga 
moslashuvchan bo‘ladi. Qism dasturlar dinamik lokal o‘zgaruvchilarga ega bo‘liщi 
muhimdir. Dinamik qism dasturlarni yana bir afzalligi shundaki barcha harakatsiz 
lokal o‘zgaruvchilar bilan faol qism dasturlar orasida aloqa o‘rnatishdir. Bu kata 
afzalligi emas qachonki kompyuterni qism xotirasi bo‘lganda. 
Dinamik lokal o‘zgaruvchilarning asosiy kamchiliklari kuyidagilardan iborat: 
birinchi joylashtirish uchun vakt qiymati boshlangich va har bir qism dasturga 


Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
224 
chaqiruv uchun joylashtirish. Ikkinchidan murojaat uchun dinamik maxlliy 
o‘zgaruvchilar bilvosita bo‘lishi kerak, statik lokal o‘zaruvchilar yesa to‘g‘ridan to‘g‘ri.
Bu indirectness talab qilinadi chunki faqat ishlayotgan paytda (keyingi 
mavzuda berilgan) lokal o‘zgaruvchilar aniklashi mumkin. Nixoyat barcha lokal 
o‘zgaruvchilar dinamik bo‘lsa, qism dastur tarixi sezgir bo‘lishi mumkin emas, ya’ni 
ular maxlliy o‘zgaruvchilar va chakiruvlar orasidagi ma’lumotlarni saqlab qola 
olmaydi. Bu bazan qism dasturlarga yozish imkoniyatiga ega bo‘ladi. Qism dastur 
tarixi uchun quyidagi misolni ko‘ramiz. pseudorandom raqamlari uchun bir vazifani, 
hisoblashlardan foydalanib, shunday qism dastur pseudorandom raqamlari. shuning 
uchun xar bir statik maxlliy ma’lumotlarni saqlash kerak. Tartib va qism dasturlar 
iterator strukturasida ( oldingi mavzudda muxokama kilingan) da foydalaniladi ya’ni 
dastularning boshka misollari kiradi.
Statik lokal o‘zgarvchilarni afzalligi dinamik maxalliy o‘zgaruvchilardan ko‘ra 
joylashtirish va qaytarishga ko‘prok vakt sarflaydi. Shuningdek to‘g‘ridan to‘g‘ri 
murojaat qilish mumkin bo‘lsa, bu yanada samarali bo‘ladi va albatta ular bir qism 
dastur tarixi bo‘lish imkonini beradi. Statik lokal o‘zgaruvchilarning yana bir afzalligi 
ularning qobilyatini qaytadan qo‘llab quvatlaydi. Shuningdek ularni saqlash boshka 
lokal qism o‘zgaruvchilar bilan birgalikda bo‘lmaydi.
Ko‘pchilik zamonaviy dasturlash tillarida qism dastur lokal o‘zgaruvchilarni 
dinamik vazifasini bajarmaydi. S va S++ vazifalari lokal dinamik o‘zgaruvchilar 
ayniqsa statik o‘zgaruvchilar deb e’lon qilinadi. Masalan quyidagi S va S++ 
vazifalarida o‘zgaruvchilar sum statik va count dinamik o‘zgaruvchilardir. 
int adder(int list[], int listlen) { 
static int sum = 0; 
int count; 
for (count = 0; count < listlen; count ++) 
sum += list [count]; 
return sum; 
C++, Java, and C# fakat dinamik lokal o‘zgaruvchilar. Python da fakat e’lon 
qilishlar va ta’rif usullari uchun ishlatiladi. E’lon xar kanday global o‘zgaruvchan 
bo‘lishi uchun usul xam belgilangan tartibda o‘zgaruvchan bo‘lishi kerak. 
O‘zgaruvchilar usuldan tashqarida belgilanishi mumkin global deb e’lon qilinmasa 
ham. Agar global o‘zgaruvchining nomi usulda belgilangan bo‘lsa, lokal va global deb 
e’lon qilinmagan deyish mumkin.
Hamma lokal o‘zgaruvchilar phuton da dinamik hisoblanadi. Faqat lua da 
o‘zgaruvilar cheklangan deb e’lon qilinadi. Har qanday blok lokal o‘zgaruvchilarni 
kuyidagicha e’lon qilishi mumkin: 


Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
225 
Local sum 
Barcha e’lon qilinmagan o‘zgaruvchilar lua da globaldir. Lua DA lokal 
o‘zgaruvchilar global o‘zgaruvchilardan ko‘ra tezroq. (2006) 

Download 6,33 Mb.
1   ...   113   114   115   116   117   118   119   120   ...   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