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



Yüklə 1,39 Mb.
səhifə36/72
tarix05.11.2022
ölçüsü1,39 Mb.
#119006
növüMühazirə
1   ...   32   33   34   35   36   37   38   39   ...   72
Informatika R Baqiyeva

Nümunə1. a1, a2, ..., a10 ardıcıllığının elementləri içərisində 10-dan kiçik olanların cəmini tapan proqramı qurun.
PROGRAM ARDICILLIQ;
USES CRT;
VAR A:ARRAY [1..10] OF REAL;
I:INTEGER; S:REAL;
BEGIN
FOR I:=1 TO 10 DO READLN(A[I]);
FOR I:=1 TO 10 DO WRITE(‘ ‘,A[I]:3:2); WRITELN;
S:=0;
FOR I:=1 TO 10 DO IF A[I]<10 THEN S:=S+A[I];
WRITELN(‘S=’,S:6:2); END.
Nümunə2. B(4,4) massivinin 3-cü sətrinin elementlərinin 10-larla əvəz etməklə yeni C(4,4) massivini alan proqramı qurun.
PROGRAM MASSIV;
USES CRT;
VAR B,C:ARRAY[1..4,1..4] OF REAL; I,J:INTEGER;
BEGIN
FOR I:=1 TO 4 DO BEGIN FOR J:=1 TO 4 DO READLN(B[I,J]); END;
CLRSCR;
WRITELN(‘ B MASSIVI:’); WRITELN;
FOR I:=1 TO 4 DO BEGIN
FOR J:=1 TO 4 DO WRITE(‘ ‘,B[I,J]:3:2); WRITELN; END;
WRITELN; RITELN(‘ C MASSIVI:’); WRITELN;
FOR I:=1 TO 4 DO BEGIN
FOR J:=1 TO 4 DO BEGIN IF I:=3 THEN C[I,J]:=10 ELSE C[I,J]:=B[I,J];
WRITE(‘ ‘,C[I,J]:3:2]); END; WRITELN; END; END.
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;
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.
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 ə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.



Yüklə 1,39 Mb.

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




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin