13.10. FUNKSIYA QISM DASTURI
B a’zi masalalarni yechishda bir xil am allar ketma-
ketligi parametrlaming har xil qiymatlarida bir necha ma-
rotaba qayta-qayta bajariladi. Dastum ing hajmini qisqar-
396
tirish m aqsadida, bunday takrorlashlam i alohida qism
dastur sifatida ajratib yoziladi. A sosiy dastum ing kerakli
qism ida bu qism dasturlarga murojaat etiladi. Paskal tili
da ikki xil k o 4rinishdagi qism dasturlar m avjud: funksiya
qism dastur v a protsedura qism dastur.
Funksiya qism dasturining um um iy ko ‘rinishi
fu n c tio n f ( q l : t l ;q2:t2;.... ;qk: tk): t;
{lokal param etrlam i va qism dasturlam i ifodalash}
begin
{operatorlar ketma-ketligi}
f:= (m a tem a tik ifoda)
end;
bunda
/ - f u n k s i y a nomi;
q l,q 2 ,...
— formal param etrlar nomi;
tl,t2 ,... -
m os ravishda
ql,q2,...
param etrlam ing tipi;
t -
funksiya qiym atining tipi.
Funksiya
qism
dasturlari
asosiy
dastum ing
boshlang‘ich qism ida to ‘liq ifodalanishi lozim.
Funksiya
qism
dasturiga
m urojaat
etishda
o ‘zlashtirish operatorining o ‘ng qism ida funksiya qism
dasturining nom ini va haqiqiy param ertlam i k o ‘rsatib
yoziladi, y a ’ni asosiy dasturda funksiya qism dasturi
f(b l,b
2
,...bk)
k o ‘rinishda yozilishi kerak, bunda/ -fu n k siy a nom i,
b l ,b 2 , .. -
haqiqiy parametrlar.
D asturlashda ju d a m uhim b o ‘lgan lokal, global,
formal va haqiqiy param etrlar tushunchalarini aniqlab
olish kerak. Lokal param etrlar - faqat qism dastum ing
ichida (tanasida) q o ‘llaniladigan parametrlar. Global
param etrlar esa asosiy dasturda ham, qism dasturda ham
qo ‘llaniladigan parametrlar. Formal param etrlar - faqat
qism dasturda q o ‘llaniladigan, lekin hech qanday qiym at
qabul qilm aydigan parametrlar. Haqiqiy param etrlar -
397
asosiy dasturda qoilaniladigan, qism dasturga m urojaat
qilinganda formal param etrlam ing o ‘m iga qo ‘yiladigan
parametrlar.
1-misol. Funksiya qism dasturidan foydalanib,
A
_
1 +
Л
? /
n r+ ( л - m )'
ifodaning qiymatini hisoblash uchun
dastur tuzilsin, bunda
m v a n -
natural sonlar,
m
A
ifodaning qiymatini hisoblashda faktorialni hisob
lash uch marta bajariladi, shuning uchun
k!
ni hisoblash
uchun
fact(k)
funksiya qism dasturini tuzam iz.
Dastuming ko ‘rinishi:
program F I (input, output);
var m,n,l: integer;
a: real;
function fact(k:integer): integer;
var p,i: integer;
begin p := l;
fo r i:= l to к do
p:= p*i;fact:= p;
end;
begin
read(m,n);
I: =n-m; a: =(1 +fact(m))/(fact(n) +fact(l));
■write(’a= ’,a);
end.
2-misol. Funksiya qism dasturidan foydalanib
7
= V a+
b+ с
ifodaning qiymatini hisoblash uchun das
tur tuzing, bunda
% a' '
^ = Z
c *‘ n'md
~ n a tu ra l sonlar.
к
u
ifodaning qiymatini hisoblash uchun
s - 2*, S‘
/ = i
ko ‘rinishdagi yig‘indini hisoblovchi
sum(z;nz)
funksiya
398
qism dastur tuzam iz, b u yerda
Dostları ilə paylaş: |