Azad İsa oğlu Qurbanov, Elçin Musa oğlu Məmmədov, Aygün Seyfəddin qızı Hüseynova



Yüklə 2,82 Kb.
Pdf görüntüsü
səhifə36/41
tarix11.10.2017
ölçüsü2,82 Kb.
#4433
1   ...   33   34   35   36   37   38   39   40   41

 
375
2.14.
 
Prosedur və funksiyalar 
 
 
Hər hansı bir məqsədə çatmağı reallaşdıran operatorlar qrupunun proqramın 
bir neçə yerində dəyişməz olaraq təkrarlanması məsələsi praktikada tez-tez qarşıya 
çıxır. Proqramda funksiya və prosedurlardan istifadə etməklə bu problemi evvektif 
şəkildə həll etmək olar. 
 
Prosedur – proqramda müstəqil və proqram daxilində unikal ada malik olan 
proqram bloku olub, müəyyən  əməliyyatların yerinə yetirilməsini təmin edir. 
Prosedurların adından istifadə etməklə ona proqramın müxtəlif yerlərindən 
müraciət etmək olar. Prosedurun adı ifadədə iştirak edə bilməz. 
 
Prosedurlar iki qrupa bölünür: 
1.
 
Istifadəçi tərəfindən yaradılan; 
2.
 
Modullarda verilən. 
Prosedurlar başlıqdan və gövdədən ibarətdir. Prosedurun başlığı 
Procedure
 sözündən, prosedurun adından və dairəvi mötərizənin içərisində 
yazılan formal parametrlərdən ibarətdir. Hər bir formal parametrin tipi 
göstərilməlidir. Prosedurun gövdəsi proqramın quruluşuna oxşardır. Başqa sözlə 
prosedurun yazılış formatı aşağıdakı kimidir: 
Procedure <adı(
)
         <Təsvir etmə bölməsi> 
begin 
          <operatorlar bölməsi> 
End; 
Əgər zərurət yoxdursa, onda prosedurun başlığında formal parametrlərin 
siyahısı verilmir. 
Proqramda prosedura müraciət etmək üçün prosedurun adını  və dairəvi 
mötərizənin içərisində faktiki parametrlərin siyahısını vermək lazımdır. Faktiki 
parametrlər bir-birindən vergüllə ayrılmalıdırlar. Prosedura müraciət olunan zaman 
faktiki və formal parametrlər arasında qarşılıqlı birqiymətli  əlaqə yaranır. Faktiki 
parametrlər vasitəsilə lazım olan dəyişənlərin qiymətləri prosedura ötürülür və ya 
prosedurda alınan nəticələr  əsas proqrama qaytarılır. Faktiki və formal 
parametrlərin sayı, növü və yazılma ardıcıllıqları bir-birinə uyğun olmalıdır. Bu 
uyğunluq pozularsa, onda proqramda kəsilmə halı baş verəcək. Prosedurda 3 növ 
formal parametrdən istifadə olunur: parametr - qiymət, parametr - dəyişən, 
parametr – sabit. Prosedurda parametr - qiymətə  əsas proqramdan faktiki 
parametrlərin qiyməti ötürülür. Proqram yerinə yetirildikdə faktiki parametrin 
qiyməti hesablanaraq operativ yaddaşa yazılır. Prosedura müraciət zamanı isə 
operativ yaddaşdan onun surəti prosedura ötürülür və bu qiymət formal  parametrə 
mənimsədilir. Bu halda faktiki parametr parametr-qiymətinin tipinə uyğun ifadə də 
ola bilər.  
Əgər prosedurdan əsas proqrama hər hansı  dəyişənin qiymətini ötürmək 
tələb olunursa, onda həmin dəyişən prosedurun başlığında formal parametr – 
parametr - dəyişən kimi va
r
 sözü ilə birlikdə təsvir olunmalıdır. Bu halda faktiki 


 
376
parametrlər ifadə ola bilməzlər. Məsələn, 
n
x
y
=
 funksiyasını hesablama 
proqramına baxaq. 
program XN; 
var 
n:integer; 
x,y:real; 
procedure step1(m:integer; x:real;var y:real); 
var 
i:integer; 
begin 
y:=1; 
for i:=1 to m do 
y:=y*x; 
end; 
begin 
          writeln (' x,n -i daxil edin') ; 
readln (x,n); 
If n=0 then y:=1 
else 
if n>0 then step1(n,x,y) 
else 
step1(n,1/x,y); 
writeln (x:4:2,' ustu ',n:3,' ðàâíî ',y:4:2); 
end. 
Proqram yerinə yetirildikdə monitora x və n qiymətlərinin daxil edilməsi 
haqqında məlumat əks olunur. İstifadəçi x və n-in qiymətlərini daxil etdikdən sonra 
n-in qiyməti yoxlanılır. 
0
=
n
 olduqda 
0
=
y
 olur. 
0
>
n
 olduqda 
n
x
y
=
 
funksiyasını hesablamaq üçün 
step1
 proseduruna müraciət olunur. Bu zaman 
prosedurun 
m, x 
formal parametrlərinin qiyməti 
n,x
 faktiki parametrlərin 
qiymətləri ilə  əvəz olunur, hesablama aparılır və  nəticə - 

əsas proqrama 
qaytarılır. Bundan sonra çıxış proseduru vasitəsilə  nəticə operativ yaddaşdan 
monitora göndərilir. 
Parametr – sabit adından məlum olduğu kimi əsas proqramdan prosedura 
hər hansı sabitin ötürülməsini təmin edir. Parametr-sabit prosedurun başlığında 
const
 işçi sözü ilə birlikdə təsvir olunmalıdır.  
 
Eyni bir proqramda bir neçə prosedur ola bilər. Bir neçə prosedur bir-birinin 
daxilində yerləşə bilər. Bu prosedurlara müraciət etmə qaydası yuxarıdan aşağıya 
doğru, yəni xarici prosedurdan daxili prosedura doğru olur. 
 Proqramlaşdırıcı tərəfindən təyin olunan funksiya başlıqdan və funksiyanın 
gövdəsindən ibarətdir. Başlıq 
Function
 sözündən, funksiyanın adından, dairəvi 
mötərizənin içərisində formal parametrlərin siyahısından və funksiyanın qiymətinin 
tipindən ibarət ola bilər. Prosedurlarda olduğu kimi funksiyalarda da formal 
parametrlər zəruri olduğu halda yazılır. 
 Yazılış formatı aşağıdakı kimidir: 
Function (formal parametrlər):
<Təsvir etmə bölməsi> 


 
377
begin 
 
end
Funksiyaya müraciət etmə qaydası aşağıdakı kimidir: 
<
funksiyanın
 adı> (faktiki 
parametrlər
); 
 Prosedurlarda 
olduğu kimi funksiyalarda da faktiki və formal parametrlərin 
sayı, tipi və yerləşmə ardıcıllıqları bir-birinə uyğun olmalıdır. Məsələn, 
)!
(
!
!
m
n
m
n


 
qiymətini hesablamaq üçün k!-ın hesablanması funksiya altproqramından istifadə 
etmək məsləhətdir. 
Program kombizon; 
Var 
n,m:integer; 
c:real; 
 
function F(k:integer):longint; 
var y:longint; 
    i:integer; 
begin 
    y:=1; 
    for i:=1 to k do 
        y:=y*i; 
    F:=y 
end; 
begin 
    readln (n,m); 
    c:=f(n)/(f(m)-f(n-m)); 
    write(c); 
end. 
 Funksiyanı prosedurdan fərqləndirən cəhətlər aşağıdakılardır: 

 
funksiyanın başlığında onun qiymətinin tipi göstərilir. 

 
prosedurlarda bir neçə  dəyişənin qiyməti müraciət edən proqrama 
qaytarıldığı halda funksiyada ancaq bir qiymət-funksiyanın qiyməti 
müraciət edən proqrama qaytarılır.  

 
funksiyanın başlığında göstərilən tip funksiyanın hesablamadan alınan 
qiymətinin tipinə uyğun olmalıdır. 

 
funksiyanın gövdəsində ən azı bir mənimsətmə operatoru olmalıdır ki, onun 
vasitəsilə funksiyanın adına funksiyanın qiyməti – ifadə mənimsədilir. 
 
 
2.15. Prosedur tipli dəyişənlər 
 
 
Turbo Pascal-da klassik Pascal dilindən fərqli olaraq prosedur tipli dəyişənlər 
təyin edilmişdir. Məhz onun vasitəsilə  funksiya və prosedurların adları digər 


Yüklə 2,82 Kb.

Dostları ilə paylaş:
1   ...   33   34   35   36   37   38   39   40   41




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə