Funksiya ma'lum bir vazifani bajarishga mo'ljallangan kodlar yig'indisi. Biz shu paytgacha bir nechta tayyor funksiyalardan foydalanib keldik. Misol uchun print() funksiyasi konsolga matn chiqarish uchun, range() funksiyasi esa ma'lum oraliqdagi sonlarni yaratish uchun ishlatiladi.
Aslida har qanday funksiyaning ortida ham bir necha qatordan iborat kod bo'ladi, lekin biz funksiyaga murojat qilganda uning nomini yozamiz xolos. Funksiya ortidagi kod esa biz uchun yashirin bo'lib qolaveradi. Funksiyalarning qulayligi ham shunda. Dastur davomida ma'lum bir kodlarni qayta-qayta yozmaslik uchun biz ularni jamlab, bitta funksiya ichiga joylashimiz va dastur davomida bu kodlarga funksiya nomi orqali murojat qilishimiz mumkin.
Funksiyani e’lon qilish va chaqirish
Har bir yaratilgan funksiyaga albatta nom berish kerak va bu nom Pythonda define (ing. define – aniqlash) so‘zidan olingan def kalit so‘zi bilan boshlanadi.
Sintaksisi:
def funksiya_nomi ([parametrlar ro‘yxati]):
buyruqlar_bloki
def – funksiyani e’lon qiluvchi kalit so‘z.
funksiya_nomi – funksiya nomi.
parametrlar ro‘yxati – ushbu ro‘yxat bir necha parametrdan iborat bo‘lishi mumkin va ular vergul bilan ajratib yoziladi.
buyruqlar_bloki – funksiya tanasi boshqa operatorlar kabi bitta xat boshi tashlab
yozilishi shart.
Funksiya nomi orqali chaqirilganda uning tarkibidagi buyruqlar ketma-ketligi bajariladi. Shundan so‘ng dastur funksiya chaqirilgan satrga qaytadi va shu satrdan keyingi buyruqlarga o‘tadi.
Keling oddiy, salom_ber deb nomlangan funksiya yaratamiz. Bu funksiya murojat qilganimizda konsolga "Assalom alaykum!" degan xabarni chiqarsin.
![]() |
Assalomu alaykum! |
1 topshiriq. Aylananing r radiusi berilgan. Uning yuzini topish funksiyasini tuzing.
Masalaning qo’yilishi. Berilgan r radiusi aylananing yuzini topish funksiyasi tuzilib. Bu funksiyaga murojjar qilamiz.
Pythonda dastur tuzilishi:
![]() |
Aylana radiusini kiriting: 5 Aylana yuzi: 78.5 |
Dasturda aylana_yuzi nomli funksiyani yaratdik, funksiya parametri r ga teng. Aylana yuzi 3 qatoriga keltirilgan. Dastur tanasida funksiyaga murojjat etib berilgan qiymat bo’yicha aylana yuzi hisoblanadi.
2 topshiriq. Ixtiyoriy 4 ta son berilgan, uning ichida eng katta sonni topish dasturi tuzilsin.
Masalaning qo’yilishi. Ikkita sondan eng kattasini topish funksiyasini tuzamiz va dastur tanasida funksiyaga murojjat qilamiz. Ikkita sondan eng kattasini topishda if else operatoridan foydalanamiz.
Pythonda dastur tuzilishi:
![]() |
a son kiriting =5 b son kiriting =8 c son kiriting =42 d son kiriting =16 Eng katta son 42 |
Pythonda dastur tuzilishi:
![]() |
a soniniga qiymat kiriting =5.5k ning qiymatini kiriting =2Berilgan sonning darjasi = 30.25 |
4 topshiriq. Hisoblang . Y=
;
![]() |
n=10 a=3 s= 331.6443046236192 |
5 topshiriq. Funksiya qiymatini hisoblang.
![]() |
a=5 b=6 c=3 x=4 n=8 s= 717.553774264082 |
Mustaqil yechish uchun topshiriqlar
Masala 1. n butun soni berilgan. Sonlar orasidan eng kattasi va eng kichigi topilsin va chop etilsin
Masala 2. n butun soni va (a, b) sonlar juftligida iboat o`zining tomonlari bilan berilgan n ta to`g`ri to`rtburchak berilgan. Berilgandagi eng katta yuzaga ega to‘g‘ri to‘rtburchak topilsin.
Masala 3. n butun soni berilgan. Eng kichik musbat son topilsin. Agar bunday element mavjud bo‘lmasa, 0 chiqarilsin.
Masala 4. n butun soni berilgan. Ketma-ket keluvchi juft sonlarning eng ko‘p miqdori topilsin. Agar juft son topilmasa, 0 chiqarilsin.
Masala 5. Hisoblang:SS=(x-2)(x-3)+(x-3)(x-4)+…+(x-99)(x-100)
Masala 6. Uchburchakning tomonlari berilgan bo`lsa, uning tomonlariga tushirilgan balandliklar, tashqi chizilgan aylana radiusi, bissektrissalarini hisoblovchi proseduradan foydalanuvchi dastur tuzing.
Masala 7. Conlarni kiritish maydonida faqat 0 dan 9 gacha bo`lgan raqamlar, #13(enter), #8 (backSpase) tugmalaridan foydalanishga imkon beruvchi funksiya-qism dastur yarating.
Masala 8. Hisoblang: Sin(x2)+ sin(x4)+…+sin(x2n)
Masala 9. 20-elementli massivning elementlarini 0..2000 oralig`ida tasodufiy holda yarating va 5 marotaba bu massiv elementlarini uchtadan tanlab olib xar safar bu uchliklarning maksimalini FF-funksiya yordamida aniqlab, ularning yig`indisini aniqlang.
Masala 10. a,b,c,d-xakikiy sonlar berilgan bulsa, aniqlang: m(a,b,c)+m(ab, bc, cd)+m(a-b, b-c, c-d), bu erda m(x, y, z)- x,y,z –sonlarning kichigini aniqlovchi funksiya.
Masala 11. Hisoblang:S=x/1!+ 3x/3!+5x/5!+…
1 izoh