Mövzu 1: İnformatika fənni, predmeti və onun tərkib hissəLƏRI



Yüklə 2,08 Mb.
Pdf görüntüsü
səhifə30/46
tarix14.07.2018
ölçüsü2,08 Mb.
#55577
növüMühazirə
1   ...   26   27   28   29   30   31   32   33   ...   46

  59 

Prosedura  və  funksiyalar  ayrıca  tərtib  edildikdən  sonra  proqramın  əsas  hissəsi  tərəfindən  onların 

adlarına müraciət etməklə çağrılır. Funksiyaların proseduralardan fərqi ondan ibarətdir ki, funksiya yalnız 

bir qiyməti qaytarır. Prosedura isə istifadəçi istəyi və tərtib edilmədən asılı olaraq bir neçə qiymət qaytara 

bilər. 

Turbo paskal dilində proseduralar aşağıdakı kimi elan edilir: 



PROCEDURE   ad (formal parametrlərin siyahısı); 

Burada ad- proseduraya verilən ad olub düzgün identifikatordur



           formal  parametrlərin  siyahısı-  prosedura  daxilində  istifadə  edilən  dəyişənlərin  vergüllə  bir-

birindən  ayrılmış  siyahısıdır.  Burada  dəyişənlərin  tipləri  də  göstərilməlidir.  Qeyd  edək  ki,  formal 

parametrlər verilməyə də bilər. 

Funksiyanın elan edilməsi üçün isə aşağıdakı ümumi yazılışdan istifadə edilir. 



FUNCTİON ad (formal parametrlərin siyahısı) :tip 

Burada ad- funksiyaya istifadəçi tərəfindən verilən ad olub düzgün identifikatordur;  

             formal parametrlərin siyahısı- funksiya daxilində istifadə ediləcək parametrlər (dəyişənlər)  

                                                              olub tipləri göstərilməklə bir-birindən vergüllə ayrılırlar. 

             tip- funksiyanın qaytarılacaq nəticəsinin tipidir.  

Burada da formal parametrlər verilməyə bilər. 



Misal: 

n!=1



2



...



n –i hesablayan funksiyanı tərtib edək. 



 

PROGRAM FAKTORIAL; 

   USES CRT

   VAR 

       P,X:INTEGER; 

   FUNCTION  FK(N:INTEGER) :INTEGER;  (* funksiya*) 

     VAR 

          I,R:INTEGER; 

    BEGIN 

        r:=1; 

       FOR I:=1 TO N DO 

       r:=i*r; 

       FK:=r; 

    END; 

  BEGIN                                 (*əsas hissə*) 

      READLN(X); 

      WRITELN ('X=',X); 

      P:=FK(X); 

      WRITELN ('P=',P:8); 

  END. 

Burada funksiyanın adı FK-dır

İndi isə proseduraya aid programı verək: 

Misal: (x+y)

n

 ifadəsini hesablamaq üçün proseduradan istifadə etməklə proqram qurun. 



 

PROGRAM PROSEDURA; 

  USES CRT; 

  VAR 

    X,Y,N:REAL; 

  PROCEDURE KV (A,B,K:REAL);  (*prosedura hissəsi*) 

    VAR 

     Q:REAL; 

     BEGIN 

         Q:=EXP(K*LN(ABS(A+B))); 

         WRITELN ('NATICA- ',Q:8:2); 

    END; 


  60 

  BEGIN                                               (*əsas proqram hissəsi*) 

    READLN (X,Y,N); 

    WRITELN('X=',X:6:2,'  Y=',Y:6:2,'  N=',N:4:2); 

    KV(X,Y,N); 

  END. 

Bu proqramda proseduranın adı KV-dir. 

Qeyd etmək lazımdır ki, Turbo Paskal dilində funksiya və ya prosedura özü-özünə də müraciət edə 

bilər. Bu rekursiya adlanır. 

Bir  çox  hallarda  Turbo  Paskal  dilində  proseduranın  özü  verilməmişdən  də  ona  müraciət  etmək 

mümkündür. Bu halda sadəcə olaraq proseduranın adı verilir və onun sonuna FORWARD sözü də əlavə 

olunur.  Məsələn  aşağıda  verilən  proqramda  SK  prosedurası  özündən  sonra  verilən  MP  prosedurasına 

müraciət edir və bu səhv hesab edilmir. 

        PROGRAM NN; 

           USES CRT; 

           ................................... 

 

      PROCEDURE  SK (R, L:REAL); FORWARD; 

      PROCEDURE MP (Z, T:REAL); 

        VAR 

           A, B, TS:REAL; 

            BEGIN 

               ……………………. 

                A::=2*Z; 

                 B::=2*T; 

                 TS::= SK(A,B); 

                ..…………………… 

            END; 

     PROCEDURE SK(R, L); 

         VAR 

            F, V, NX:REAL; 

           BEGIN 

              F:=sqr(R); 

             V:=sqr(L); 

             NX:= MP(F,V); 

              ……………………… 

           END; 

      …………………………… 

   END. 

 

Alt  proqramın  adından  dərhal  sonra  aşağıdakı  standart  direktivlərin  birinin  adını  vermək 



olar: ASSEMBLER, EXTERNAL, FAR, FORWARD, INLINE, INTERRUPT, NEAR.  

Bu direktivlər proqramın kompilyasiyasına təsir edir. 

Direktivlərin  təyinatları aşağıdakı kimidir: 

ASSEMBLER – standart maşın instruksiyalarını ləğv edir və alt proqramin realizəsi daxili 

assemblerlə həyata keçirilir; 

EXTERNAL – alt proqram xarici alt proqram kimi élan olunur; 

FAR – alt proqram uzaq çağırış üçün  kodlaşdırılır (  yəni  bu alt proqrama  əsa proqramın 

ixtiyari yerindən müraciət etmək olar); 

NEAR -  alt proqram yaxın çağırış üçün kodlaşdırılır ( yəni alt proqrama yalnız 64 Kbayt 

hüdudunda müraciət etmək olar); 

FORWARD – kompilyatora məlumat verir ki. alt proqramin elanı sonra veriləcək

İNLİNE – alt proqramın daxili maşın instruksiyaları ilə realizə (yerinə yetirmə) olunmasını 

göstərir; 



Yüklə 2,08 Mb.

Dostları ilə paylaş:
1   ...   26   27   28   29   30   31   32   33   ...   46




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

    Ana səhifə