Andijon davlat universiteti axborot texnalogiyalari va kompyuter injiniring fakulteti axborot texnologiyalari kafedrasi



Yüklə 116 Kb.
səhifə5/8
tarix18.06.2023
ölçüsü116 Kb.
#132171
1   2   3   4   5   6   7   8
Andijon davlat universiteti axborot texnalogiyalari va kompyuter

Amaliy qism
1.FUNKSIYALAR VA UNING SHABLONLARI
Bir misol keltiraylik.
//Berilgan qiymatli parametrlar bilan ishlash
# include
int square(int = 1, int = 1); // ...(int a=1, int b=1)...
// yuqoridagi kabi o'zgaruvchilar otini ham
// berishimiz mumkin
int main()
{
int s = 3, t = 7;
cout << "Paremetrsiz: " << square()<< endl;
cout << "Bitta parametr (ikkinchisi) bilan:" << square(t) << endl;
cout << "Ikkita parametr bilan:" << square(s,t) << endl;
return (0);
}
int square(int k, int g){
return ( k * g );
}
Ekranda:
Parametrsiz: 1
Bitta parametr (ikkinchisi) bilan: 7
Ikkita parametr bilan: 21
Bir hil ismli bir necha funksiya e'lon qilinishi mumkin. Bu C++ dagi juda kuchli tushunchalardandir. Yuklatilgan funksiyalarning faqat kirish parametrlari farqli bo'lishi yetarlidir. Qaytish parametri yuklatilishda ahamiyati yo'qdir. Yuklangan funksiyalar chaqirilganda, qaysi funksiyani chaqirish kirish parametrlarining soniga, ularning tipiga va navbatiga bog'liqdir. Yani ism yuklanishida funksiyaning imzosi rol o'ynidi. Agar kirish parametrlari va ismlari ayni funksiyalarning farqi faqat ularning qaytish qiymatlarida bo'lsa, bu yuklanish bo'lmaydi, kompilyator buni hato deb e'lon qiladi. Funksiya yuklanishi asosan ayni ishni yoki amalni farqli usul bilan farqli ma'lumot tiplari ustida bajarish uchun qo'llaniladi. Masalan bir fazoviy jismning hajmini hisoblash kerak bo'lsin.
Har bir jismning hajmi farqli formula yordamida, yani farqli usulda topiladi, bir jismda radius tushunchasi bor bo'lsa, boshqasida asos yoki tomon tushunchasi bor bo'ladi, bu esa farqli ma'lumot tiplariga kiradi. Lekin amal ayni - hajmni hisoblash. Demak, biz funksiya yuklanishi mehanizmini qo'llasak bo'ladi. Bir hil amalni bajaruvchi funksiyalarni ayni nom bilan atashimiz esa, dasturni o'qib tushunishni osonlashtiradi. Kompilaytor biz bergan funksiya imzosidan (imzoga funksiya ismi va kirish parametrlari kiradi, funksiyaning qaytish qiymati esa imzoga kirmaydi) yagona ism tuzadi, dastur ijrosi davruda esa funksiya chaqirig'idagi argumentlarga qarab, kerakli funksiyani chaqiradi.
Yangi ismni tuzish operatsiyasi ismlar dekoratsiyasi deb ataladi. Bu tushunchalarni
misolda ko'rib chiqaylik. // Yuklatilgan funksiyalarni qo'llash
# include
# include
// Yangi ismlar sohasini aniqladik
namespace
mathematics {
const double Pi = 3.14159265358979;
double hajm(double radius); // sharning hajmi uchun - 4/3 * Pi * r^3
double hajm(double a, double b, double s) // kubning hajmi uchun - abc
}
using namespace mathematics;
int main()
{
double d = 5.99; // sharning radiusi
int x = 7, y = 18, z = 43;
cout << "Sharninig hajmi: " << hajm(d) << endl;
cout << "Kubning hajmi: " << hajm(x,y,z) << endl;
return (0);
}
double mathematics::hajm(double radius) {
return ( (Pi * pow(radius,3) * 4.0) / 3.0 );
}
double mathematics::hajm(double a, double b, double c) {
return ( a * b * c );
}
Ekranda:
Sharning hajmi: 900.2623
Kubning hajmi: 5418
Yuqoridagi dasturda yangi ismlar sohasini aniqladik, unda Pi konstantasini e'lon qildik. shaqning hajmini hisoblashda standart kutubhonadagi pow() funksiyasini ishlatdik, shu sababli e'lon faylini # include ifodasi bilan kiritdik. Ismlar sohasida joylashgan funksiyalarni aniqlash uchun, yani ularning tanasini yozish uchun biz ilarning to'liq ismini berishimiz kerak. Albatta, agar funksiya ismlar sohasining ichida aniqlangan bo'lsa, tashqarida boshqattan yozib o'tirishning hojati yo'q. hajm() funksiyalarining to'liq ismi mathematics::hajm(...) dir. :: operatori sohalarni bog'lovchi operatordir. Yangi ismlar sohasini faqatgina misol tariqasida berdik, uni funksiya yuklanishlari bilan hech qanday aloqasi yo'qdir. Funksiya ismlari yuklanishi, ko'rib turganimizdek, juda qulay narsadir.
Funksiya yuklanishini qo'llaganimizda, funksiyalar argumentlarining berilgan qiymatlarini ehtiyotkorlik bilan qo'llashimiz lozim. Masalan bizda ikkita funksiyamiz bor bo'lsin.
foo(int k = 0); // berilgan qiymati 0
foo();
Bu ikki funksiya yuklatilgan. Lekin agar biz birinchi funksiyani dasturda argumentsiz chaqirsak, kompilyator qaysi funksiyani chaqirishni bilmaydi, va shu sababli hato beradi. Biroq bu deganimiz funksiya yuklanishi bilan berilgan qiymatlar qo'llanilishi mumkin emas deganimiz emas, eng muhimi funksiya chaqirig'ini ikki hil tushunish bo'lmasligi kerak.

Xulosa
Hozirgi zamonda yurtimizda Axborat Texnologiyalarini rivojlantirish yo‘lida juda ko‘p ishlar amalga oshirilmoqda. Bu borada davlatimiz ko‘p ishlarni amalga oshirmoqda. Xususan ko‘p joylarga dasturlash orqali ko‘p loyihalarni oson va qulay bajarilyapti.Dasturlash chet davlatlarida anchagina rivojlangan masalan Amerika,Malayziya, Koreya, Hindiston. Hozirgi kunda har-xil dasturlash tillari mavjud C++,C#,Java, va hokozo. Shularning orasidan C# Windows muhitida ishlaydigan dastur tuzish uchun qulay vosita bo‘lib,kompyuterda dastur yaratish ishlarini avtomatlashtiradi, xatoliklarni kamaytiradi va dastur tuzuvchi ishini kamaytiradi. C# dastur zamonaviy visual loyihalash texnalogiyasi asosida obyektga yo‘naltirilgan dasturlash tili hisoblanadi.


Men bu kurs ishi davomida C# dasturlash tilida dialogs oynalari,ularning turlari,dialog qutilar va ularning turlari ular bilan Visual studioda ishlash va dialogs oynalari bilan C# dasturlash tilida foydalanish haqida ko‘nikmalarni oldim.
Aslida diolog oynalarini vazifasi nimada ekanligini bilim oldim. Bunda message boxning vazifasi foydalanuvchi bilan aloqa qilish va undan bir nechta shartlar so‘rashimiz yoki biror bir operatsiyaga ruxsat so‘rashimiz mumkin ekan.
Yana shuni ham aytib o‘tish kerakki biz bexosdan biror bir tugmani bosib yuborishimiz mumkin shunda dastur bizdan so‘raydi agar biror bir o‘zgarishga sabab bo‘ladigan action bo‘lsa. Masalan biz bexosdan x aniqroq qilib aytganda chiqish tugmasini bosib yubordik shunda dastur avtomotik tarzda ish bo‘lib turgan jarayonda bunday harakat noo‘rin ekanligini bilib bizga message boxni ekranga chaqiradi va sizdan harakat to‘g‘rimi ekranni yopaymi deb so‘raydi siz yes ha yoki yoq no tugmasini bosishingiz mumkin. Bu biz tuzgan dasturni ishlashini yanada aniqroq ishlashga majbur qiladi va bu bizning yutug‘imiz bo‘ladi. Agar tasavur qilib ko‘rsak biz wordda ish qilib o‘tiribmiz bexosdan x tugmasi bosilib ketdi agarda message box yo‘q deb o‘ylasak bizning barcha mexnatimiz yo‘q bo‘lib ketadi. Shuning uchun ham e‘tibor bergan bo‘lsangiz save qilmagan bo‘lsangiz doim chiqishdan oldin save qilishingizni so‘raydi bu xavfsizlik va aniqlik uchun



Yüklə 116 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin