Funksiyalarni ishlab chiqish savollari




Download 6,33 Mb.
Pdf ko'rish
bet126/194
Sana20.02.2024
Hajmi6,33 Mb.
#159185
1   ...   122   123   124   125   126   127   128   129   ...   194
 
10. Funksiyalarni ishlab chiqish savollari 
Funksiyalarga ishlab chiqishning quyidagi savollari xos. 

Nosozliklarga yo‘l qo‘yiladimi? 

Qanday tipli qiymatlar funksiyalar tomonidan qaytarilishi mumkin? 
 
10.1. Funksiyalar nosozliklari 


Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
242 
Ifodalarda chaqiriluvchi funksiyalarga xos bo‘lgan nosozliklar natijasida 4 
bobda yozilganidek, funksiyadagi parametrlar kiritish rejimida yuborilishi lozim. Ba’zi 
dasturlash tillari ushbu talab bajarilishini talab qiladi; masalan, Ada tilidagi 
funksiyalar faqat kiritish rejimida yuboriluvchi rasmiy parametrlarga ega bo‘lishi 
mumkin. Bu parametrlar yuborilishida yoki parametrlar hamda dunyoviy 
o‘zgaruvchilar nomlari bir xilligi vujudga kelganda nosozliklar kelib chiqishidan 
saqlaydi. Ammo, boshqa tillarda, funksiyalar yoki qiymat bo‘yicha, yoki ssыlka 
bo‘yicha yuboriluvchi parametrlarga ega bo‘lishi mumkin, buning natijasida, 
nosozliklar hamda nomlar bir xilligi yuzaga keladi. 
 
10.2. Qaytariluvchi qiymatlar tiplari 
Dasturlashning boshqaruvchi tillarining ko‘pchiligida funksiyalar tomonidan 
qaytarilishi mumkin bo‘lgan o‘zgaruvchilar tiplari cheklangan. FORTRAN 77, Pascal va 
Modula-2 tillarida funksiyalar faqat strukturalashmagan tiplarni qaytarishi mumkin. 
S tilida funksiyalar massiv va funksiyalardan tashqari har qanday tipdagi 
o‘zgaruvchilarni qaytarishi mumkin. C++ tili S tiliga o‘xshash, ammo unda funksiyalar 
foydalanuvchi tomonidan aniqlangan o‘zgaruvchilar yoki sinflar ob’ektini ham 
qaytarishi mumkin. Ada tili – zamonaviy boshqaruvchi tillar orasida funksiyalar har 
qanday tipli o‘zgaruvchilarni qaytara oladigan yagona til hisoblanadi. 
 
11. Mahalliy bo‘lmagan muhitlarga kirish 
Odatda, qism dasturlar o‘rtasidagi aloqa faqat parametrlar orqali o‘rnatilishiga 
qaramay, ko‘pchilik tillarda o‘zgaruvchilar bilan bog‘lanishning yana bir turi mavjd 
bo‘lib, u tashqi muhit orqali amalga oshiriladi. 
Mahalliy 
bo‘lmagan 
o‘zgaruvchili 
qism 
dasturlar 
– 
bu 
qism 
dasturdako‘rinadigan o‘zgaruvchilar bo‘lib, lekin mahalliy e’lon qilinmagan bo‘ladi. 
Dunyoviy o‘zgaruvchilar – bu dasturning barcha modullarida ko‘rinuvchan bo‘lgan 
o‘zgaruvilar hisoblanadi. 4 bobda nomahalliy muhitlarga kirishning ikkita metodlari 
o‘rganib chiqilgan: statik to‘plam va dinamik to‘plam. Ushbu ishlab chiqarishdagi 
muammolar quyida ko‘rib chiqilgan. 
Ma’lumotlarning statik to‘plamiagi asosiy muammo quyidagicha: dastur 
strukturasi mahalliy va dunyoviy o‘zgaruvchiarning kiritiluvchanligi bilan aniqlanadi. 
Bu muammolar to‘liq ravishda 4 bobda ko‘rib chiqilgan. 
Ma’lumotlarning dinamik to‘plami ikki turdagi muammolarni keltirib 
chiqaradi. Birinchidan, qism dastur boshlanishidan to tugalangunigacha ketadigan 
vaqt davrida mahalliy o‘zgaruvchilar bajarilayotgan har qanday qism dastur uchun 
ko‘rinuvchan bo‘ladi, bunda o‘z ichidagi ma’lumotlar bo‘yicha ushbu dasturlar 
qanchalik mosligiga ahamiyat berilmaydi. Bunday kirishlardan mahalliy 


Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
243 
o‘zgaruvchilarni himoyalash mumkin emas. Qism dasturlar chaqirilayotgan modul 
muhitiga bog‘lif bo‘lmagan holda bajarildi. Buning natijasida, ma’lumotlarning 
dinamik to‘plami ma’lumotlarning statistik to‘plamiga qaraganda ishonchsizroq 
dasturlar yaratadi. 
Dinamik to‘plam bilan bog‘liq bo‘lgan ikkinchi muammo – bu nomahalliy 
o‘zgaruvchilarga o‘rnatilgan ssыlkalar tiplari muvofiqligini statistik tahlil qilish 
imkoniyatiniing yo‘qligidir, chunki bunday o‘zgarvchining taqdimotini statistik holda 
topishning hech ham iloji yo‘q. 
Nomaalliy o‘zgarvchilarga kirishni amalga oshirish 9 bobda to‘liq ko‘rib 
chiqiladi. 

Download 6,33 Mb.
1   ...   122   123   124   125   126   127   128   129   ...   194




Download 6,33 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



 Funksiyalarni ishlab chiqish savollari

Download 6,33 Mb.
Pdf ko'rish