Informatika asoslari



Download 0,86 Mb.
Sana17.04.2022
Hajmi0,86 Mb.
#559219
Bog'liq
11-C da funksiyalar tuzilishi va undan foydalanish

  • Mavzu: C++ da funksiyalar: tuzilishi va undan foydalanish
  • Reja:
  • Qiymatlarni qaytarish;
  • Funksiya prototiplari;
  • Parametrlarni qiymat va adresga ko‘ra jo‘natish;
  • Xulosa.
  • Ma’ruza 11
  • Funksiya – bu yordamchi algoritm bo‘lib (dasturosti), ish
  • natijasi sifatida ma'lum bir qiymatlari olinadi.
  • Misollar:
  • Sondan ildiz olish,
  • Murakkab formulalar bo‘yicha qiymatlarni hisoblash
  • Savolga javob (oddiy osonmi yoki yo‘q?)
  • Nega?
  • Dasturning turli joylarida bir xil hisoblashlarni
  • bajarish uchun
  • Ommabop funksiyalar kutubxonasini yaratish uchun
  • <natija tipi> <funksiya nomi> (<formal parametrlar ro‘yxati>)
  • <formal parametrlar spetsifikatsiyasi>
  • {
  • }
  • Funksiyani tipi sifatida faqat butun va haqiqiy tiplar olinishi mumkin:
  • char,
  • int,
  • long,
  • float,
  • double
  • long double.
  • Bundan tashqari bu yerda signed va unsigned larni ham ishlatish mumkin.
  • Agar funksiyani tipi ko‘rsatilmagan bo‘lsa, u holda uning tipi int deb qabul qilinadi.
  • Natijani qaytarmaydigan funksiyalar C++ da mavjud. Bu holda ularni oldiga void qo‘yiladi.
  • Formal parametrlar ro‘yxati bir-biridan vergul bilan ajratilgan identifikatorlar naboridan iborat, ya'ni:
  • :: = (,
  • , ...)
  • Masala: Ikkita qiymatdan kattasini aniqlovchi
  • funksiya tuzing va undan foydalanish
  • tartibini ko‘rsating.
  • Yechim: funksiyadan foydalaniladi.
  • int Max ( int a, int b )
  • {
  • if ( a > b ) return a ;
  • else return b ;
  • }
  • return – funksiya natijasini qaytarish
  • Xususiyati:
  • Natija tipini funksiya nomi boshida ko‘rsatiladi
  • formal parametrlar protseduradagidek ko‘rsatiladi
  • O‘zgaruvchi-parametrlardan foydalanish mumkin
  • Odatda funksiyalar asosiy dasturdan oldin joylashgan bo‘ladi
  • Max ( int a, int b )
  • int
  • float qq ( )
  • int a, float x, char c
  • int Olim (int a, int b )
  • &
  • &
  • Xususiyat:
  • lokal o‘zgaruvchilardan foydalanish va e'lon
  • qilish mumkin
  • float qq ( int a, int b)
  • {
  • ...
  • }
  • float x, y;
  • Lokal o‘zgaruvchilarga asosiy dastur va boshqa funksiyalardan murojaat qilish mumkin emas.
  • !
  • int main()
  • {
  • int a, b, с;
  • cout<<“Ikkita son kiriting \n" ;
  • cin>>a>>b;
  • c = Max ( a, b );
  • cout<<“Katta son “<< c ;
  • }
  • int Max ( int a, int b )
  • {
  • ...
  • }
  • Ma’lum o’zgaruvchilar
  • Funksiyani chaqirish
  • Formal o’zgaruvchilar
  • #include
  • #include
  • #include
  • int Max ( int a, int b )
  • {
  • if ( a > b ) return a ;
  • else return b ;
  • }
  • int main()
  • { int a, b, c;
  • cout<<“Ikkita son kiriting \n" ;
  • cin>>a>>b;
  • c = Max(a, b);
  • cout<<"Katta son "<
  • getch(); return 0;}
  • Funksiya
  • Funksiyani
  • ishlatilishi
  • Masala. Berilgan son tub son ekanligini aniqlovchi funksiya tuzing.
  • Xususiyati:
  • javob – mantiqiy qiymat: «Yes» (1) yoki «No» (0)
  • shartlarda (if, while) mantiqiy qiymatini funksiya natijasi sifatida foydalanish mumkin
  • Algoritm: son bo‘luvchilarini 2 va N-1 intervalida qidiramiz, agar u nolga teng bo‘lmasa, bu son murakkabdir.
  • count = 0;
  • for (i = 2; i < N; i ++)
  • if ( N % i == 0 ) count ++;
  • if ( count == 0 )
  • // N soni tub}
  • else // N soni murakkab
  • Qanday yaxshilash mumkin?
  • ?
  • int main()
  • {
  • int N;
  • cout<< “Butun son kiriting \n” ;
  • cin>>N;
  • if ( Prime( N ) )
  • cout<
  • else cout<
  • int Tub( int N )
  • {
  • int count = 0, i;
  • for (i = 2; i*i <= N; i++)
  • if (N % i == 0) count ++;
  • return count ;
  • }
  • Funksiyani chaqirish
  • gacha tekshirish
  • if (count == 0) return 1;
  • else return 0;
  • Tub( N )
  • “1": 1 dan N gacha bo‘lgan sonlar yig‘indisini topuvchi funksiya tuzing va foydalanish misolini keltiring.
  • Masalan:
  • Son kiriting:
  • 100
  • 1 dan 100gacha sonlar yig‘indisi = 5050
  • “2": Shaxmat ixtirochisi N-katakka nechta bug‘doy qo‘yish kerakligini so‘ragan, bug‘doylar soni aniqlovchi funksiya tuzing (1-ga – 1 bo‘g‘doy, 2-ga – 2 ta bug‘doy, 3-ga – 4 ta bug‘doy, …)
  • Eslatma: long int tipidan foydalaning.
  • Masalan:
  • Katak nomeri kiriting:
  • 28
  • 28-katakda 134217728 ta bug‘doy.
  • “1": 1 dan N gacha bo‘lgan sonlar yig‘indisini topuvchi funksiya tuzing va foydalanish misolini keltiring.
  • Masalan:
  • Son kiriting:
  • 100
  • 1 dan 100gacha sonlar yig‘indisi = 5050
  • “2": Shaxmat ixtirochisi N-katakka nechta bug‘doy qo‘yish kerakligini so‘ragan, bug‘doylar soni aniqlovchi funksiya tuzing (1-ga – 1 bo‘g‘doy, 2-ga – 2 ta bug‘doy, 3-ga – 4 ta bug‘doy, …)
  • Eslatma: long int tipidan foydalaning.
  • Masalan:
  • Katak nomeri kiriting:
  • 28
  • 28-katakda 134217728 ta bug‘doy.
  • “3": Ikkita natural sonning eng katta umumiy bo‘luvchisini topuvchi funksiya tuzing va undan foydalanishga misol keltiring.
  • Masalan:
  • Ikkita son kiriting:
  • 14 21
  • EKUB(14,21)=7
  • “4": Sinus funksiyasini qator yig‘indisi sifatida aniqlovchi dastur tuzing (0.001 aniqlikda)
  • Masalan:
  • Burchakni gradusda kiriting:
  • 45
  • sin(45) = 0.707
  • x radianda!

Funksiya bu – ma’lum vazifalarni bajaruvchi qism dastur bo’lib, dasturning ixtiyoriy qismida chaqiriladi.

  • Funksiya bu – ma’lum vazifalarni bajaruvchi qism dastur bo’lib, dasturning ixtiyoriy qismida chaqiriladi.
  • Unga qiymat uzatish uchun parametr o’zgaruvchilardan foydalaniladi.

Download 0,86 Mb.

Do'stlaringiz bilan baham:




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