Hamraqulov zohidjonning mustaqil ishi


Download 15.68 Kb.
Sana25.07.2022
Hajmi15.68 Kb.
#789615
Bog'liq
Hujjat (2)
Psixologiya 050c8, 1573188434, 1573188434, fayllarni arxivlash va kompyuter viruslaridan himoyalanish mavzusidagi taqdimoti, Метод Бирлашмалар иш режаси, 2 5303304241325015998, Kirish, Kirish, Kirish, Kirish, Kirish, Kirish, Kirish, Kirish, Kirish


O’ZBEKISTON RESPUBLIKASI
OLIY VA O’RTA-MAXSUS TA’LIM VAZIRLIGI
SAMARQAND DAVLAT UNIVERSITETI
RAQAMLI TEXNOLOGIYALAR FAKULTETI

AMALIY MATEMATIKA YO’NALISHI
102- guruh talabasi
HAMRAQULOV ZOHIDJONNING

MUSTAQIL ISHI


Tekshirdi: Davirov B.

Qism dasturlar: funksiyalar va protseduralar

Dastur tuzish jarayonida ma'lum bir amallar majmuini dasturning turli qismlarida takrorlashga tóg'ri keladi. Dasturning mana shu amallar majmuini óz ichiga olgan qismi QISM DASTUR deb ataladi. Qism dasturglar ma'lum bir vazifani bajaradi, lekin alohida tizimni tashkil etmaydi.

Qism dasturga murojaat etilganda, unga murojaat etgan asosiy dastur tóxtaydi va boshqruv qism dasturga ótadi. Qism dastur bajarilishi tugaganidan sóng , boshqaruv yana asosiy dasturga qaytadi.


Asosiy dasturda qism dasturlarni chaqirish quyidagi imkoniyatlarni beradi:

• Qism dastur zarurat tug'ilganda chaqiriladi. U ayni bir kodni bir necha Marta yozish zaruratini bartaraf qilib, butun dastur davomida kóp Marta foydalanilishi mumkin. Bu kodning blokliligini oshiradi, tushunishini osonlashtiradi va xatolarni topishda yordam beradi.

• Xato bor yoki yóqligini bitta kod blokininig ózida tekshirsa bóladi. Agar xato qism dasturda bólsa, faqat qism dasturning ózini tuzatishga zarurat tug'iladi. Agar qism dasturdan foydalanmasdan , kod bir necha joyda takror - takror yozilsa , u holda butun dastur bóylab xatolarni qidirishga tóg'ri keladi.


• Kodni faqat bitta joyda yangilash kerak bóladi: Kiritilgan barcha tuzatishlar qism dastur chaqirilshi bilan amal qila boshlaydi.


Qism dasturning turlari


• FUNKSIYA - ma'lum bir vazifani bajaruvchi , qandaydir nomga ega, bir yoki bir necha qiymatni qabul qiluvchi, ishni tugatganidan keyin esa asosiy dasturga bir yoki bir necha natija qiymatlarini qaytaruvchi qism dastur.


• PROTSEDURA - funksiyaga óxshash kóp marta foydalanilishi mumkin bólgan qism dastur bólib , yagona farqli jihati hech qanday qiymatni qaytarmaydi.


Python dasturlash tilining har xil masalalarni yechishga móljallangan bir necha foydali standart funksiyalari mavjud.

STANDART FUNKSIYALAR

print() - foydalanuvchi uchun ma'lumotlarni chiqaradi. Masalan , turli ma'lumotlar va hisoblash natijalarini.

input() - funksiyasining zidi, foydalanuvchilar kiritgan no dasturga uzatadi.

randint() - tasodifiy Sonni chiqaradi. Masalan , dasturda tasodifiy son kerak bólib qolganda ishlatiladi.

FUNKSIYANI E'LON QILISH VA CHAQIRISH

Har bir yaratilgan qism dasturga , xususan , funksiyaga hamda protseduraga albatta nom berish kerak va bu nom Pythonda define ( ing. define - aniqlash ) sózidan olingan def kalit sózi bilan boshlanadi.

def - funksiyani e'lon qiluvchi kalit sóz.

funksiya_nomi - funksiya nomi.

parametrlar róyxati - ushbu róyxat bir necha parametrdan iborat bólishi mumkin va ular vergul bilan ajratib yoiladi.

buyruqlar_bloki - funksiya tanasi boshqa operatorlar kabi bitta xat boshi tashlab yozilishi shart.

Funksiya nomi orqali chaqiriganda uning tarkibidagi buyruqlar ketma - ketligi bajariladi. Shundan sóng dastur funksiya chaqirilgan satrga qaytadi va shu satrdan keyingi buyruqlarga ótadi.


salomlashish nomli funksiya e'lon qilindi. xabar ózgaruvchisi qiymatni qaytarish. Funksiyani chaqirib , ekranga chiqarish.


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


FUNKSIYAGA QIYMAT UZATISH


Funksiyaga qayta ishlashi uchun qiymatlar berish mumkin.


Misol. Aylananing radiusi kiritilganda , uning uzunligini topish dasturini tuzing.

aylana nomli funksiya e'lon qilindi, uning qabul qiluvchi qiymati - r. Aylananing uzunligi hisoblanadi. Funksiya aylana uzunligini qaytaradi. Foydalanuvchi tomonidan Kiritilgan radiusni butun qiymatga ózgartirish Aylan nomli funksiya chaqirilmoqda. Aylana uzunligi chiqarilmoqda. 
Python dasturlash tilining har xil masalalarni yechishga móljallangan bir necha foydali standart funksiyalari mavjud.

STANDART FUNKSIYALAR

print() - foydalanuvchi uchun ma'lumotlarni chiqaradi. Masalan , turli ma'lumotlar va hisoblash natijalarini.

input() - funksiyasining zidi, foydalanuvchilar kiritgan no dasturga uzatadi.

randint() - tasodifiy Sonni chiqaradi. Masalan , dasturda tasodifiy son kerak bólib qolganda ishlatiladi.

FUNKSIYANI E'LON QILISH VA CHAQIRISH

Har bir yaratilgan qism dasturga , xususan , funksiyaga hamda protseduraga albatta nom berish kerak va bu nom Pythonda define ( ing. define - aniqlash ) sózidan olingan def kalit sózi bilan boshlanadi.

def - funksiyani e'lon qiluvchi kalit sóz.

funksiya_nomi - funksiya nomi.

parametrlar róyxati - ushbu róyxat bir necha parametrdan iborat bólishi mumkin va ular vergul bilan ajratib yoiladi.

buyruqlar_bloki - funksiya tanasi boshqa operatorlar kabi bitta xat boshi tashlab yozilishi shart.

Funksiya nomi orqali chaqiriganda uning tarkibidagi buyruqlar ketma - ketligi bajariladi. Shundan sóng dastur funksiya chaqirilgan satrga qaytadi va shu satrdan keyingi buyruqlarga ótadi.


salomlashish nomli funksiya e'lon qilindi. xabar ózgaruvchisi qiymatni qaytarish. Funksiyani chaqirib , ekranga chiqarish.


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


FUNKSIYAGA QIYMAT UZATISH


Funksiyaga qayta ishlashi uchun qiymatlar berish mumkin.


Misol. Aylananing radiusi kiritilganda , uning uzunligini topish dasturini tuzing.

aylana nomli funksiya e'lon qilindi, uning qabul qiluvchi qiymati - r. Aylananing uzunligi hisoblanadi. Funksiya aylana uzunligini qaytaradi. Foydalanuvchi tomonidan Kiritilgan radiusni butun qiymatga ózgartirish Aylan nomli funksiya chaqirilmoqda. Aylana uzunligi chiqarilmoqda.
Misol. n faktorialini hisoblash dasturini tuzing.

S=1*2*3*...*n=n

factor nomli funksiya e'lon qilindi. Kó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 faktorialini hisoblovchi funksiya cjaqirilib , ekranga natija chiqariladi.

REKURSIYA


Funksiyaning ózini ó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 yól qóyadi. Xatolar ichidan eng kóp tarqalgani - cheksiz rekursiya . Unda funksiyaning chaqiruv zanjiri cheksiz bólib , kompyuter bósh xotirasi tugamaguncha davom etaveradi. Cheksiz rekursiya róy berishining sabablari :


- rekursiyada shartni notóg'ri qóllash. Masalan, factorialni hisoblashda if n==0 ni unitib qóysak, factorial (0) funksiyasi factorial (-1) ni , factorial (-1) funksiyasi esa factorial (-2) va hokazolarni chaqiradi;


- rekursiv funksiyani yaratishda notóg'ri parametr bilan chaqirish . Masalan, factorial (n) funksiya factorial (n) chaqirsa, yana cheksiz zanjir yuzaga keladi.


Shu boisdan , rekursiv funksiyani yaratishda rekursiyani yakunlash sharti hamda rekursiyani qachon, qanday tugatish haqida óylab kórish lozim .


factor nomli rekursiv funksiya e'lon qilindi.

n==0 da funksiya 1 ni qaytaradi, aks holda ishini davom ettiradi.


Funksiya ózi ózini chaqirib, res= n*(n-1)*...*3*2*1* ni hisoblaydi, qachonki factor (0) bólguncha.


res natijasini qaytaradi.


n ga qiymat beriladi.




n faktorialini hisoblovchi funksiya chaqirilib, ekranga natija chiqariladi.
Download 15.68 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2023
ma'muriyatiga murojaat qiling