Alisher navoiy nomidagi samarqand davlat universiteti axborotlashtirish texnologiyalari


function factorial(n:integer):longint;    begin



Download 1,62 Mb.
Pdf ko'rish
bet21/122
Sana31.12.2021
Hajmi1,62 Mb.
#244669
1   ...   17   18   19   20   21   22   23   24   ...   122
Bog'liq
Dasturlash asoslari

function factorial(n:integer):longint; 
 
begin 
   
if n=0 then factorial:=1 
          
else factorial:=n*factorial(n-1) 
 
end;
 
Rekursiv  qismiy  dasturlardan  foydalanish  –  dasturchi  nuqtai-nazaridan 
qaraganda chiroyli estetik usuldir. Amma bu usul hamma vaqt ham samarali emas. 
Odatda  rekurent  ko’p  yoki  kam  kuch  sarflab  odatdagi  siklik  jarayonga  keltirish 
mumkin.  Masalan,  faktorialni  hisoblaydigan  dastur  bo’lagi  quyidagicha 
ko’rinishda bo’lishi mumkin: 
factorial:=1; 
for i:=1 to n do 
 factorial:=factorial*i;
 
Bundan  tashqari  rekursiyadan  hamma  vaqt  ham  foydalanish  kerak  emas, 
chunki  u  steklarning  to’lib  ketish  holatiga  sabab  bo’ladi.  Bu  holat  shuning  uchun 
ham  yuz  beradiki,  har  safar  rekursiv  qismiy  dasturga  murojaat  qilinganda,  uning 
lokal  o’zgaruvchilari  dastur  steki  deb  nomlanuvchi  maxsus  ko’rinishda 
tashkillashtirilgan xotira sohasiga joylashtiriladi. 
Rekurent  ketma-ketliklarni  hisoblash  uchun  rekursiyadan  foydalanish 
qo’lay.  Bu  tushuncha  matematikada  quyidagicha  kiritiladi:    k  ma’lum  a
1
,…a
k
 
sonlar  berilgan.  Bu  sonlar  sonli  ketma-ketlikning  birinchi  sonlari  hisoblanadi. 
Berilgan ketma-ketlikning keyingi elementlari quyidagicha hisoblanadi: 
a
k+1
=F(a
1
,…,a
k
);  a
k+2
=F(a
2
,…,a
k+1
); 
a
k+2
=F(a
2
,…,a
k+1
); a
k+3
=F(a
3
,…,a
k+2
); …
 
Bu  yerda F, k argumenta bog’liq  funksiya  va quyidagi  formula ko’rinishda 
tavsiflanadi: 


 
26
a
i
=F(a
i-1
, a
i-2
,…,a
i-1
); 
Bu  formula  rekurent  deb  nomlanadi.  k  qiymat  rekursiya  tubi  (glubina) 
deyiladi. 
Boshqacha  aytganda,  rekurent  ketma-ketlik  har  bir  boshlang’ich  ni  alohida 
yo’qotishni tavsiflovchi cheksiz sonli qatordir, u quyidagicha ifodalanidi … 
Rekurent  ketma-ketliklarga  misollar  quyida  keltirilgan  arifmetik  (yuqorida) 
va geometrik progressiyalar hisoblanadi: 
a
1
=1, a
2
=3, a
3
=5, a
4
=7, a
5
=9, …  
a
1
=1, a
2
=2, a
3
=4, a
4
=8, a
5
=16, … 
Bularga mos rekurent formulalar: 
a
i
=a
i-1
+2, 
a
i
=2a
i-1

Rekursiv  prosedura  yoki  funksiyani  tavsiflashda  juda  muhim  bitta  qoidani 
esdan 
chiqarmaslik 
kerak. 
Birinchi 
navbatda 
rekursiyadan 
chiqishni 
tashkillashtirish lozim! 
Ko’p  hollarda  rekursiv  qismiy  dasturlarda    oldindan  tavsiflash  ishlatiladi. 
Rekursiv murojaat urinmali bo’lishi ham mumkin (ya’ni bitta qismiy dastur boshqa 
qismiy  dasturga  murojaat  qiladi,  u  esa  o’z  navbatida  birinchi  qismiy  dasturga 
murojaat qiladi). Har qanday qismiy dastur murojaatga qadar tavsiflangan bo’lishi 
kerak, albatta, bunday hollarda oldindan tavsiflash ishlatiladi.  
Modul  –  bu  avtonom  kompilyasiya  qilinadigan  dastur  bo’lib,  u  o’z  ichiga 
turli  komponentalarni  (turlarni,  o’zgarmaslarni,  o’zgaruvchilarni,  prosedura  va 
funksiyalarni) va bir nechta bajariladigan instruksiyalar qismlarini oladi. 
Modullar  amaliy  dasturlar  kutubxonalarini  va  modullarni  dasturlashtirish 
vositalarini  ishlaydigan  instrumentlar  (uskunalar)  ni  oladi.  Modullarning  asosi 
shundan  iboratki,  komplyator  ularga  katta  dasturlarni  yaratishga  imkoniyat 
beradigan xotiraning alohida segmentlariga dastur kodini joylashtiradi. 
Modulni qayta ishlashda quyidagi hodisalar ketma-ketligi tavsiya qilinadi: 
1. 
Modulni  loyihalash,  ya’ni  asosiy  va  yordamchi  qism  dasturlar  va 
boshqa resurslarni aniqlash. 


 
27
2. 
Modul komponentalarini tavsiflash. 
3. 
Har  bir  qismiy  dasturni  lohida  yozish,  keyinchalik  uni  modul 
matniga «qo’shish» uchun. 
Modul quyidagi strukturaga ega: 

Download 1,62 Mb.

Do'stlaringiz bilan baham:
1   ...   17   18   19   20   21   22   23   24   ...   122




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