• Savolingiz bormi?
  • +998 97 534 03 20
  • turayev.ruziboy@bk.ru
 11. PYTHONDA FUNKSIYA

11. PYTHONDA FUNKSIYA

Python / 2021-12-19

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

3 topshiriq. Berilgan a (haqiqiy) sonining k (butun) darajasini topuvchi dastur tuzing. Buning uchun daraja (a, k) funksiyasini yarating

Masalaning qo’yilishi. Ixtiyoriy haqiqiy sonni butun darajasini topish uchun funksiya tuzamiz va bu funksiyaga qiymat berib echimni topamiz

Pythonda dastur tuzilishi:

a soniniga qiymat kiriting =5.5

k ning qiymatini kiriting =2

Berilgan 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

Izoh qoldirish