Zahiriddin muhammad bobur nomidagi andijon davlat universiteti



tải về 0.79 Mb.
trang9/27
Chuyển đổi dữ liệu01.03.2024
Kích0.79 Mb.
#56678
1   ...   5   6   7   8   9   10   11   12   ...   27
Zahiriddin muhammad bobur nomidagi andijon davlat universiteti

Rekursiv funksiyalar
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, factorialni hisoblashda if n==0 ni unitib qo‘ysak, factorial (0) funksiyasi factorial (-1) ni, factorial (-1) funksiyasi esa factorial (-2) va hokazolarni chaqiradi;
- rekursiv funksiyani yaratishda noto‘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 o‘ylab ko‘rish lozim.

factor nomli rekursiv funksiya e'lon qilindi.
n==0 da funksiya 1 ni qaytaradi, aks holda ishini davom ettiradi.
Funksiya o‘zi o‘zini chaqirib, res= n*(n-1)*...*3*2*1* ni hisoblaydi, qachonki factor (0) bo‘lguncha.
res natijasini qaytaradi.
n ga qiymat beriladi.
n faktorialini hisoblovchi funksiya chaqirilib, ekranga natija chiqariladi.
4.OPERATORLAR, PROTSEDURA VA FUNKSIYALAR
Ma’lumotlarni kiritish va chiqarish operatorlari
Biror bir masalani yechishning chiziqli bo’lgan algoritmiga dastur tuzishda algoritmdagi keltirilgan ketma-ketliklar asosida operatorlar yoziladi. Bunday dasturlarni tuzushda asosan o’zgaruvchilar qiymatini kiritish, natijalarni chiqarish va shu bilan birga o’zlashtirish operatorlari ishlatiladi.
Dasturdagi o’zgaruvchilar qiymatlarini dastur ichida o’zlashtirish operatori yordamida ham berish mumkin. Lekin dasturda o’zgaruvchi qiymatini tashqaridan kiritish qulaylik tug’diradi va umumiylikni ta’minlaydi.
Read operatori o’zgaruvchilar qiymatlarini ekrandan kompyuter xotirasiga kiritish uchun ishlatiladi. U quyidagi ko’rinishlarga ega.
Read(c1,c2,...,cn);
Readln(c1,c2,...,cn);
Readln;
bu yerda c1,c2,...,cn - o’zgaruvchilar nomi; ln - qo’shimchasi qiymatni kiritib keyingi qatorga o’tishni bildiradi.
Misollar: Read(Sm1,Sm2);
Readln(x1,x2,x3);
Readln;
Bu yerda birinchi operator Sm1 va Sm2 o’zgaruvchilar qiymatini ekrandan kiritadi. Ikkinchi operator esa x1,x2,x3 o’zgaruvchilar qiymatini ekrandan kiritadi va kiritishni keyingi qatorga o’tkazadi. Oxirgi operator esa kiritishni kutadi va qator o’tkazadi.
Write operatori oddiy ma’lumotlarni va o’zgaruvchilar qiymatlarini kompyuter ekraniga chiqarish uchun ishlatiladi. U quyidagi ko’rinishlarga ega.
Write(c1,c2,...,cn);
Writeln(c1,c2,...,cn);
Writeln;
bu yerda c1,c2,...,cn - oddiy matnlar yoki o’zgaruvchilar nomi; ln - qo’shimchasi chiqarishni keyingi qatorga o’tishni bildiradi.
Misollar: Write(Summa);
Write(‘Natija yuk’);
Write(‘Tenglama yechimi x1=’, x1, ’x2=’, x2);
Oddiy ma’lumotlarni chiqarishda ular matn deb qaraladi va u qo’shtirnoq ichida yoziladi. CHiqarish operatori yordamida o’zgaruvchilar qiymatini format ko’rinishda ham berish mumkin:
Write(c:m:n);
bu yerda s-o’zgaruvchi; m-shu o’zgaruvchi qiymati uzunligi; n-qiymatning kasr qismi va unda n-1Misol. Write(x:8:4);
Agar x=155.01021 bo’lsa, quyidagi yozuv chiqadi 115.0102.
Write(‘Maxsulot soni:’, kol:5);
Agar kol=15 bo’lsa, quyidagi yozuv ekranga chiqadi,
Maxsulot soni: 15
Dastur matnini tushuntirish maqsadida ko’pincha dasturda izohlar keltiriladi. Dasturda izohlar istalgan joyda berilishi mumkin. Izoh katta qavs ichida yoziladi.
Masalan: { Bu matn dasturga izoh beradi }
{ Bu joyda yechim aniqlanmoqda }
Dasturda ma’lum hisoblashlarning natijalarini biror bir o’zgaruvchida saqlash uchun o’zlashtirish (yuborish) operatori ishlatilib, u «:=» belgisi yordamida qiymat yuborilishi kerak bo’lgan o’zgaruvchidan keyin qo’yiladi.
Masalan: i:=0; i-qiymati nolga tenglashadi, ya’ni i o’zgaruvchiga nol yuboriladi deb tushuniladi. Bunda mashina i o’zgaruvchi uchun ajratilgan xotirasiga nol yozib saqlaydi.
Misol: B:=5; C:=4; A:=(B+C)/2;
Bu yerda, agar A butun identifikator bo’lsa, uning qiymati 4 ga, aks holda esa 4.5 qiymatga ega bo’ladi.
CHiziqli strukturali algoritmlarni dastur shaklida yozish uchun oldin ishlatiladigan o’zgaruvchilar ruyxati keltirilib, keyin algoritmdagi bajarilishlar ketma-ket ravishda amalga oshirilishi kerak.
Misol: Tekislikdagi ikki nuqta orasidagi masofani topish dasturi.

tải về 0.79 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   5   6   7   8   9   10   11   12   ...   27




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương