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


MÖVZU 5.4 Turbo Pascal dilində alt proqramlar və onlardan istifadə qaydaları



Yüklə 1,09 Mb.
Pdf görüntüsü
səhifə41/94
tarix27.01.2023
ölçüsü1,09 Mb.
#81127
1   ...   37   38   39   40   41   42   43   44   ...   94
Informatika-Muhazireler-2

MÖVZU 5.4
Turbo Pascal dilində alt proqramlar və onlardan istifadə qaydaları
Plan:
1. Turbo Pascal dilində prosedurlar və onlardan istifadə qaydaları
2. Turbo Pascal dilində funksiyalar və onlardan istifadə qaydaları
Turbo Paskal dilində də digər alqoritmik dillərdə olduğu kimi tez- tez təkrarlanan
proqram hissələrinin verilməsi məqsədilə sərbəst proqram hissələri olan prosedura və
funksiyalardan istifadə edilir. 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;


 76
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;
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.


 77
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.


 78
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 əsas
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;
İNTERRUPT – icra zamanı əmələ gələn kəsilmələri emal edir.


 79

Yüklə 1,09 Mb.

Dostları ilə paylaş:
1   ...   37   38   39   40   41   42   43   44   ...   94




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin