Double max(double x, double y)


void Func_1(int Radius, char symbol)



Download 235,7 Kb.
bet2/7
Sana08.06.2022
Hajmi235,7 Kb.
#644801
1   2   3   4   5   6   7
void Func_1(int Radius, char symbol)

{




{

int x, b;






bool a;




return;

char s;




}

short c;












int Func_2(bool YesNo, int Count, short Key)

Func_1(x,s );




{

a=(x>0);











return 0;

Func_2(a,b,c);




}









return 0;







}







Programma main() funktsiyasini bajarishdan boshlanadi va “func1(x,y);” – funktsiya chaqiruvigacha davom etadi va keyinchalik boshqaruv func1(x, y) funktsiya tanasidagi amallarni bajarishga o’tadi. Bunda Radius parametrining qiymati sifatida funktsiya x o’zgaruvchi qiymati, Symbol parametri sifatida u o’zgaruvchi qiymati ishlatiladi. Funktsiya tanasi return operatorigacha bajariladi. return operatori boshqaruvni main( ) funktsiyasi tanasidagi func1( ) funktsiyasi chaqirilgan operatordan keyingi operatorga o’tishni ta’minlaydi, ya’ni funktsiyadan qaytish ro’y beradi. SHundan keyin main( ) funktsiyasi operatorlari bajarilishda davom etadi va “func2(a,b,c);” - funktsiya chaqirishi orqali boshqaruv func2( ) funktsiya tanasiga o’tadi va hisoblash jarayonida mos ravishda YesNo sifatida a o’zgaruvchisining, sount sifatida b o’zgaruvchicining va key sifatida s o’zgarchuvchisi qiymatlari ishlatiladi. Funktsiya tanasidan bosh funktsiyaga qaytish return operatori orqali yoki funktsiya tanasida return operatori bo’lmasa, funktsiya tanasidagi oxirgi operator bajargandan keyin avtomatik ravishda amalga oshiriladi.


Aksariyat hollarda main( ) funktsiyasining parametrlar ro’yxati bo’sh bo’ladi, biroq, agar programmani ishga tushirishda ma’lum bir parametrlarni uzatish (berish) kerak bo’lsa, main ( ) funktsiya 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’rsatgich.
Quyida funktsiyalarni e’lon qilish, chaqirish va aniqlashga misollar keltirilgan:

// funktsiyalar e’loni


int Mening_funksiyam(int Number, float Point);
char Belgini_uqish( );
void bitni_urnatish(short Num);
void Amal_yoq(int, char);
// funktsiyalarni chaqirish
result = Mening_funksiyam(Varb1, 3.14);
symb = Belgini_uqish( );
bitni_urnatish(3);
Amal_yoq(2, Smbl);
// funktsiyalarni aniqlash
int Mening_funksiyam (int Number, float Point);
{int x;

return x;
}
char Belgini_uqish( )
{char Symbol;
cin >> Symbol;
return Symbol;
};
void bitni_urnatish(short number)
{
global_bit = global_bit | number;
};
void Amal_yoq(int x, char ch)
{ };

2.Mijoz brauzeriga "Autentifikatsiya talab qilinadi" xabarini yuborish uchun header() funksiyasidan foydalanish mumkin, bu esa foydalanuvchi nomi/parolni kiritish oynasini ochadi. Foydalanuvchi foydalanuvchi nomi va parolni toʻldirgandan soʻng, PHP skriptini oʻz ichiga olgan URL manzili oldindan belgilangan oʻzgaruvchilar PHP_AUTH_USER, PHP_AUTH_PW va AUTH_TYPE mos ravishda foydalanuvchi nomi, parol va autentifikatsiya turiga oʻrnatilgan holda qayta chaqiriladi. Bu oldindan belgilangan oʻzgaruvchilar $_SERVER massivida joylashgan. Faqat "Asosiy" va "Dajest" autentifikatsiya usullari qo'llab-quvvatlanadi. Qo'shimcha ma'lumot uchun header() funksiyasiga qarang.


if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text to send if user hits Cancel button';
exit;
} else {
echo "
Hello {$_SERVER['PHP_AUTH_USER']}.
";
echo "
You entered {$_SERVER['PHP_AUTH_PW']} as your password.
";
}
?>
2-misol
function authenticate() {
header('WWW-Authenticate: Basic realm="Test Authentication System"');
header('HTTP/1.0 401 Unauthorized');
echo "You must enter a valid login ID and password to access this resource\n";
exit;
}

if (!isset($_SERVER['PHP_AUTH_USER']) ||


($_POST['SeenBefore'] == 1 && $_POST['OldAuth'] == $_SERVER['PHP_AUTH_USER'])) {
authenticate();
} else {
echo "
Welcome: " . htmlspecialchars($_SERVER['PHP_AUTH_USER']) . "";
echo "Old: " . htmlspecialchars($_REQUEST['OldAuth']);
echo "\n";
echo "\n";
echo "\n";
echo "\n";
echo "
\n";
}
?>
2-variant
Dasturda ikki asosiy tur ma'lumot strukturalari mavjuddir. Birinchisi statik, ikkinchisi dinamikdir. Statik deganimizda hotirada egallagan joyi o'zgarmas, dastur boshida beriladigan strukturalarni nazarda tutamiz. Dinamik ma'lumot tiplari dastur davomida o'z hajmini, egallagan hotirasini o'zgartirishi mumkin. Agar struktura bir hil kattalikdagi tiplardan tuzilgan bo'lsa, uning nomi massiv (array) deyiladi. Massivlar dasturlashda eng ko'p qo'laniladigan ma'lumot tiplaridir. Bundan tashqari strukturalar bir necha farqli tipdagi o'zgaruvchilardan tashkil topgan bo'lishi mumkin. Buni biz klas (Pascalda record) deymiz. Masalan bunday strukturamiz ichida odam ismi va yoshi bo'lishi mumkin. Bu bo'limda biz massivlar bilan yaqindan tanishib o'tamiz. Bu bo'limdagi massivlarimiz C uslubidagi, pointerlarga (ko'rsatkichlarga) asoslan strukturalardir. Massivlarning boshqa ko'rinishlarini keyingi qismlarda o'tamiz. Massivlar hotirada ketma-ket joylashgan, bir tipdagi o'zgaruvchilar guruhidir. Alohida bir o'zgaruvchini ko'rsatish uchun massiv nomi va kerakli o'zgaruvchi indeksini yozamiz. C/C++ dagi massivlardagi elementlar indeksi har doim noldan boshlanadi. Bizda char tipidagi m nomli massiv bor bo'lsin. Va uning 4 dona elementi mavjud bo'lsin. Shemada bunday ko'rsataylik:
m[0] -> 4
m[1] -> -44
m[2] -> 109
m[3] -> 23
Ko'rib turganimizdek, elementga murojaat qilish uchun massiv nomi va [] qavslar ichida element indeksi yoziladi. Bu yerda birinchi element qiymati 4, ikkinchi element - 1 nomerli indeksda -44 qiymatlari bor ekan. Ohirgi element indeksi n-1 bo'ladi (n - massiv elementlari soni). [] qavslar ichidagi indeks butun son yoki butun songa olib keluvchi ifoda bo'lmog'i lozim. Masalan:
int k = 4, l = 2;
m[ k-l ] = 77; // m[2] = 77
m[3] *= 2; // m[3] = 46
double d = m[0] * 6; // d = 24
cout << m[1]; // Ekranda: -44
Massivlarni ishlatish uchun ularni e'lon qilish va kerak bo'lsa massiv elementlarini initsalizatsiya qilish kerak. Massiv e'lon qilinganda kompilyator elementlar soniga teng hajmda hotira ajratadi. Masalan yuqorida qo'llanilgan char tipidagi m massivini e'lon qilaylik: char m[4]; Bu yerdagi 4 soni massivdagi elementlar miqdorini bildiradi. Bir necha massivni e'londa bersak ham bo'ladi:
int m1[4], m2[99], k, l = 0;
Massiv elementlari dastur davomida initsalizatsiya qilishimiz mumkin, yoki boshlang'ich qiymatlarni e'lon vaqtida, {} qavslar ichida ham bersak bo'ladi. {} qavslardagagi qiymatlar massiv initsalizaytsiya ro'yhati deyiladi.
int n[5] = {3, 5, -33, 5, 90};
Yuqorida birinchi elementning qiymati 3, ikkinchiniki 5 ... ohirgi beshinchi element qiymati esa 90 bo'ldi. Boshqa misol: double array[10] = {0.0, 0.4, 3.55};  Bu yerdagi massiv tipi double bo'ldi. Ushbu massiv 10 ta elementdan iboratdir.
{} qavslar ichida esa faqat boshlangich uchta element qiymatlari berildi. Bunday holda, qolgan elementlar avtomatik tarzda nolga tenglashtiriladi. Bu yerda aytib o'tishimiz kerakki, {} qavslar ichida berilgan boshlangish qiymatlar soni massivdagi elementlar sonidan katta bo'lsa, sintaksis hatosi vujudga keladi. Masalan:
char k[3] = {3, 4, 6, -66, 34, 90}; // Hato!
Uch elementdan iborat massivga 6 dona boshlangich qiymat berilyapti, bu hatodir. Boshqa misolni ko'rib chiqaylik:
int w[] = {3, 7, 90, 78};
w nomli massiv e'lon qilindi, lekin [] qavslar ichida massivdagi elementlar soni berilmadi. Bunday holda necha elementga joy ajratishni kompilyator {} qavslar ichidagi boshlangich qiymatlar miqdoriga qarab biladi. Demak, yuqoridagi misolda w massivimiz 4 dona elementdan iborat bo'ladi. E'lon davridagi massiv initsalizatsiya ro'yhati dastur ijrosi vaqtidagi initsalizatsiyadan ko'ra tezroq ishlaydigan mashina kodini vujudga keltiradi.
Bir misol keltiraylik.
// Massivlar bilan ishlash.
# include
# include
const int massiv = 8; // massiv kattaligi uchun konstanta
int k[massiv];
char c[massiv] = {5,7,8,9,3,44,-33,0}; // massiv initsalizatsiya ro'yhati
int main()
{
for (int i = 0; i < massiv; i++) {
k[i] = i + 1; // dastur ichida inisalizatsiya
}
for (int j = 0; j < massiv; j++) {
cout << k[j]
<< setw(4)
<< c[j]
<< endl;
}
return (0);
}

Download 235,7 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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