Qarshi muhandislik-iqtisodiyot instituti "axborot texnologiyalari" kafedrasi "TEXNIK TIZIMLARDA axborot texnologiyalari"



Download 2,19 Mb.
Pdf ko'rish
bet36/105
Sana26.03.2022
Hajmi2,19 Mb.
#510793
1   ...   32   33   34   35   36   37   38   39   ...   105
Bog'liq
ma`ruza matni 2018

int main () 

int x, b; 
Bool a; 
Char s; 
Short c; 
… 
 
F1(x,s); 
A=(x>0); 
… 
F2(a,b,c); 
… 
return 0; 
}
void F1(int Radius, char symbol) 

… 
return; 
}
int F2(bool YesNo, int Count, short Key )

… 
return 0; 
}


parametri sifatida y o‘zgaruvchisining qiymati ishlatiladi. Funksiya tanasi return operatorigacha 
bajariladi. Return operatori boshqaruvni main() funksiyasi tanasidagi f1() funksiyasi chaqirilgan 
operatordan keyingi operatorga o‘tishni ta’minlaydi, ya’ni funksiyadan qaytish ro‘y beradi. 
Shundan keyin main() funksiyasi operatorlari bajarilishda davom etadi va “f2(a,b,c);” – funksiya 
chaqirishi orqali boshqaruv f2() funksiya tanasiga o‘tadi va hisoblash jarayonida mos ravishda 
YesNo sifatida a o‘zgaruvchisining, cout sifatida o‘zgaruvchisining va key sifatida c 
o‘zgarchuvchisining qiymatlari ishlatiladi. Funksiya tanasidagi return operatori yoki oxirgi 
operator bajargandan keyin avtomatik ravishda bosh funksiyaga qaytish amalga oshiriladi. 
Aksariyat hollarda main() funksiyasining parametrlar ro‘yxati bo‘sh bo‘ladi. Agar dasturni 
ishga tushirishda, buyruq satrida ma’lum bir parametrlarni uzatish (berish) zarur bo‘lsa, main() 
funksiyasining sintaksisi o‘zgaradi: 
int main(int argc, char* argv[]); 
Bu yerda argc – uzatiladigan parametrlar soni, argv[]- bir-biridan punktuatsiya belgilari (va 
probel) bilan ajratilgan parametrlar ro‘yxatini o‘z ichiga olgan massivga ko‘rsatkich. 
Quyida funksiyalarni e’lon qilish, chaqirish va aniqlashga misollar keltirilgan: 
// funksiyalar e’loni 
int mening_funksiyam(int Number, float Point); 
char Belgini_uqish(); 
void bitni_urnatish(short Num); 
void Amal_yoq(int,char);_ 
// funksiyalarni chaqirish
result= mening_funksiyam (Varb1,3.14); 
symb=Belgini_uqish(); 
bitni_urnatish(3); 
Amal_yoq(2,Smb1); 
// funksiyalarni aniqlash 
int mening_funksiyam (int Number, float Point); 
{int x; 
… 
return x;} 
char Belgini_uqish(); 

char Symbo1; 
cin>>Symbo1; 
return Symbo1; 
}; 
void bitni_urnatish(short number) 
(global_bit=global_bit|number;}; 
void Amal_yoq(int x, char ch){};
Funksiyaning dasturdagi o‘rnini yanada tushunarli bo‘lishi uchun son kvadratini hisoblash 
masalasida funksiyadan foydalanishni ko’raylik. 
Funksiya prototipini sarlavha.h sarlavha faylida joylashtiramiz: 
long Son_Kvadrati(int); 
Asosiy dasturga ushbu sarlavha faylini qo‘shish orqali Son_Kvadrati() funksiya e’loni 
dastur matniga kiritiladi: 
#include  
#include “sarlavha.h” 
int main() 

int uzgaruvchi=5; 
cout<
return 0; 



long Son_kvadrati(int x) 

return x*x; 

Xuddi shu masalani sarlavha faylidan foydalanmagan holda, funksiya e’lonini dastur 
matniga yozish orqali ham hal qilish mumkin: 
#include  
long Son_kvadrati(int); 
int main() 

int uzgaruvchi=5; 
cout<
return 0; 

long Son_kvadrati(int x) 

return x*x; 

Dastur ishlashida o‘zgarish bo‘lmaydi va natija sifatida ekranga 25 sonini chop etadi.
Masala. Ikkita tub son «egizak» deyiladi, agar bir-biridan farqi 2 teng bo‘lsa (masalan, 41 
va 43 sonlari). Berilgan natural n uchun [n..2n] kesmadagi barcha «egizak» sonlar juftliklari 
chop etilsin. Masalani yechish uchun berilgan k sonini tub son yoki yo‘qligi aniqlovchi mantiqiy 
qiymat qaytaruvchi funksiya tuzish zarur bo‘ladi. Funksiyada k soni 2..k/2 gacha sonlarga 
bo‘linadi, agar k bu sonlarning birortasiga ham bo‘linmasa, u tub son hisoblanadi va funksiya 
true qiymatini qaytaradi. Bosh funksiyada, berilgan n uchun [n.,2n] oraliqdagi (n, n+2), 
(n+1,n+3),..,(2n-2, 2n) son juftliklarini tub sonlar ekanligi tekshiriladi va shart qanoatlantirgan 
juftliklar chop etiladi. 
Dastur matni: 
bool TubSon (unsigned long k); 
int main() 

unsigned long n,I; 
unsigned char egizak=0; 
cout<<”n->”; 
cin>>n; 
cout<<’[‘<
for(i=n; i<=2*n-2; i++) 
if(TubSon (i) && TubSon(i+2)) 

if(!egizak) 
cout<<”oralig’idagi egizak tub sonlar

\n”; 
else cout<<”; “; 
egizak=1; 
cout<<’{‘<
}; 
if(!egizak) 
cout<<”oralig’idagi egizak tub sonlar mavjud emas.”; 
else cout<<’.’; 
return 0; 

bool TubSon(unsigned long k); 



unsigned long m; 
for (m=2; m<=k/2; m++) 
if (k%m==0) return false; 
return true; 

Natural n soni uchun 100 kiritilsa, dastur quyidagi sonlar juftliklarini chop qiladi: 
[100..200] orag’ida egizak tub sonlar: 
{101,103}; {107,109}; {137,139}; {149,151}; {179,181}; 
{191,193}; {197,199}.

Download 2,19 Mb.

Do'stlaringiz bilan baham:
1   ...   32   33   34   35   36   37   38   39   ...   105




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish