Takrorlanuvchi algoritmlarni dasturlash. While operatori 54 dars



Download 211,74 Kb.
bet6/15
Sana01.03.2022
Hajmi211,74 Kb.
#476318
1   2   3   4   5   6   7   8   9   ...   15
Bog'liq
9-sinf dars ishlanma. Dilmonova Fazolat

Davomatni aniqlash

Otilgan mavzuni takrorlash


1.Dasturlashda qism dasturlardan qanday foydalaniladi?
2. Qism dasturlar qanday ishlaydi?
3. Funksiya nima va u qanday ishlaydi?
Yangi mavzu bayoni
Protsedura – funksiyaga o‘xshash ko‘p marta foydalanilishi mumkin bo‘lgan qism dastur bo‘lib, yagona farqli jihati hech qanday qiymatni qaytarmaydi.
Protsedurani e’lon qilish

def msg():
print('Bugun soat 14.00 da ota- onalar majlisi!')

Pythonda protseduralar deyarli funksiyalardek yoziladi. Farqi shundaki protseduralar hech qanday qiymatni qaytarmaydi. Quyida protseduraga misol keltirilgan:

>>> msg()
Bugun soat 14.00 da ota-onalar majlisi!

Funksiyaga qiymat uzatish


Funksiyaga qayta ishlash uchun qiymatlar berish mumkin
Misol Aylananing radiusi kiritilgan, uning uzunligini topish dasturini tuzing



def circle(r):
PI=3.14
len=2*PI*r
return len
radius = int(input('Aylana radiusi: ')) uz= circle(radius)
print('Aylananing uzunligi: ', uz)

aylana nomli funksiya e’lon qilindi,
uning qabul qiluvchi qiymati – r.
Aylananing uzunligi hisoblandi.
Funksiya aylana uzunligini qaytaradi. Foydalanuvchi tomonidan kiritilgan
radiusni butun qiymatga o‘zgartirish. Aylana nomli funksiya chaqirilmoqda. Aylana uzunligi chiqarilmoqda.

Aylananing radiusi: 4
Aylananing uzunligi: 25.136

Misol: n faktorialni hisoblash dasturini tuzing: S=1*2*3*…*n=n!



def factor(n):
res=1
for i in range(2,n+1):
res*=i
return res
n=int(input('n sonini kiriting:')) print(factor(n))

factor nomli funksiya e’lon qilindi.
Ko‘paytmaning birinchi qiymati kiritildi.
Sikl 2 dan boshlab n+1 gacha, ya’ni 1 marta takrorlanadi res=1*2*…*n
res natijasini qaytaradi.
n ga qiymat beriladi.
n faktorialni hisoblovchi funksiya chaqirilib, ekranga natija chiqariladi

n sonini kiriting: 5 120

Rekursiya
Funksiyaning o‘zini o‘zi chaqirishiga rekursiya deyiladi va bunday funksiyalar rekursiv
funksiyalar deb ataladi.
Rekursiv funksiyalar dasturlashning kuchli mexanizmi hisoblanadi, lekin ular har doim
ham samarali emas. Chunki aksariyat hollarda xatolarga yo‘l qo‘yadi. Xatolar ichidan eng ko‘p tarqalgani – cheksiz rekursiya. Unda funksiyaning chaqiruv zanjiri cheksiz bo‘lib, kompyuter bo‘sh xotirasi tugamaguncha davom etaveradi. Cheksiz rekursiya ro‘y berishining sabablari:
– rekursiyada shartni noto‘g‘ri qo‘llash. Masalan, faktorialni hisoblashda if n==0 ni unutib qo‘ysak, factorial(0) funksiyasi factorial(–1)ni, factorial(–1) funksiyasi esa factorial(–2) va hokazolarni chaqiradi;
– rekursiv funksiyani noto‘g‘ri parametr bilan chaqirish. Masalan, factorial(n) funksiya factorial(n)ni chaqirsa, yana cheksiz zanjir yuzaga keladi.
Shu boisdan, rekursiv funksiyani yaratishda rekursiyani yakunlash sharti hamda rekursiyani qachon, qanday tugatish haqida o‘ylab ko‘rish lozim

def factor(n):
if n==0:
return 1
else:
res= n*factor(n-1)
return res
n=int(input('n sonini kiriting: ')) print(factor(n))

factor nomli rekursiv funksiya e’lon qilindi.
n==0 da funksiya 1 ni qaytaradi, aks holda ishini davom ettiradi. Funksiyani o’zi o’zini chiqarib, res=n*(n-1)*…*3*2*1ni

Download 211,74 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   15




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