Turbo Paskal dilində dəyişənlərə qiymətlərin mənimsədilməsi məqsədilə mənimsəmə (mənsubetmə) operatorundan istifadə edilir. Operatorun ümumi yazılışı aşağıdakı kimidir:
Dəyişənin adı qiymət və ya qiyməti mənimsədiləcək ifadə;
Burad dəyişənin adı- dilin düzgün identifikatorudur; sağ tərəfdə isə həmin dəyişənə mənimsədiləcək məlum qiymət və ya qiyməti hesablanacaq ifadə durur.
Turbo Paskal dilində budaqlanan strukturalı alqoritmlərin proqramlaşdırılması zamanı hər hansı şərtdən asılı olaraq hesablama və ya yerinə yetirilmə prosesi şaxələnir. Başqa sözlə şərtdən asılı olaraq proqram daxilində keçidin yerinə yetirilməsi baş verir. Bu keçidin həyata keçirilməsi dilin şərti keçid operatorları vasitəsilə yerinə yetirilir. Şərti keçid operatorunun ümumi şəkli aşağıdakı kimidir:
İF şərt THEN operator1 ELSE operator2
Burada: İF, THEN, ELSE ( əgər, onda, əks halda) dilin ehtiyat sözləri olub operatoru müəyyən edirlər;
Şərt- məsələnin qoyuluşundan asılı məntiqi tipli ifadə olan şərtdir;
Operator1 və operator2 Turbo Paskalın ixtiyari operatoplarıdır.
Əvvəlcə şərti ifadə hesablanır, əgər şərt ödənilirsə onda operator1 yerinə yetirilir və operator2 buraxılaraq yerinə yetirmə davam etdirilir, əks halda idarəetmə operator2-yə verilir və operator2 yerinə yetirilir. Burada operator2 verilməyə də bilər. Belə halda şərt ödənmədikdə yerinə yetirmə növbəti mərhələyə keçir. Qeyd edək ki, operator2 əvəzinə şərtsiz keçid operatorunun öxü də iştirak edə bilər, yəni
.....................................
İF A >B THEN Y:=2 ELSE IF A=B THEN Y:=5 ELSE Y:=3;
.....................................
və ya
...................................
IF A>B THEN IF C THEN
IF R< D THEN Y:=1 ELSE Y:=0;
.....................................
yazılışları doğrudur.
Misal: Aşağıdakı funksiyanı a=2,1; b=4,2 və x-in istənilən qiyməti üçün hesablayan alqoritmin blok-sxemini və uyğun proqramı qurun.
ax2 син(бх- а), яэяра х
T еах б 4ах, яэяра х
PROGRAM misal2; USES CRT; CONST
a=2.1;
b=4.2; VAR
x,T:REAL; BEGIN READLN(X); CLRSCR;
лна - бх
х4 4аб, яэяра х
IF a>x THEN T:=a*SQR(x)+SIN(b*x-a) ELSE
IF a=x THEN T:=EXP(a*x+b)+4*a*x ELSE T:=LN(ABS(a-b*x))+SQRT(EXP(4*LN(x))+4*a*b);
WRITELN('a=',a:2:1,' b=',b:2:1,' x=',x:5:2); WRITELN('T=',T:9:2);
END
Bir çox hallarda proqram tərtibi zamanı proqram daxilində heç bir şərt qoyulmadan keçidin yerinə yetirilməsi tələb olunur. Belə halda şərtsiz keçid operatorundan istifadə edilir. Şərtsiz keçid operatorunun ümumu şəkli aşağıdakı kimidir:
GOTO nişan;
Burada nişan ixtiyari identifikator olub proqramın operator və ya bir neçə operatorunu adlandırmaq, daha döğrusu göstərmək üçün istifadə edilir. Nişan metka kimi də adlandırılır. Proqramda istifadə olunan nişanlar (metkalar) proqramın əvvəlində elan hissəsində göstərilməlidirlər. Nişanlar (metkalar) aşağıdakı kimi elan edilir:
LABEL nişan1, nişan2,..., nişanN;
Proqramda şərtsiz keçid operatoruna yerinə yetirmə çatan kimi idarəetmə GOTO operatorundan sonra göstərilən nişan olan proqram sətrinəin ardınca gələn operatorlara verilir. Nişandan sonra “:” qoyulur. Məsələn:
PROQRAM KECİD; USES CRT; LABEL M1;
......................................
BEGİN
................................
GOTO M1;
................................ M1: READLN (x);
.........................
END.
Burada yerinə yetirilmə M1 nişanı olan sətirdəki READLN (x) operatoruna verilir.
MÖVZU 10. STRUKTURLU OPERATORLAR
Proqram tərtibində bəzən mümkün bir neçə imkanlardan birini seçməklə proqramın davam etdirilməsi lazım olur. Belə halda seçmə operatorundan istifadə etmək mümkündür. Seçmə operatorunun ümumi görünüşü aşaqıdakı kimidir:
CASE seçmə açarı OF seçmə siyahısı ELSE operator END;
Burada: CASE, OF, ELSE, END (seçmə,- dən(-dan), əks halda, son) dilin ehtiyat açar sözləri olub operatoru təşkil edir;
Seçmə açarı- nizami tipli ifadədir;
Seçmə siyahısı- bir və ya bir neçə seçmə sabiti: operator şəkilli yazılışlardır;
seçmə sabiti- seçmə açarı ilə eyni tipli sabitdir:
operator- hər iki halda Turbo Paskalın operatorlarıdır.
Operatorun işləmə alqoritmi belədir: siyahıdan seçmə açarına uyğun seçmə sabiti axtarılıb tapılır və ona uyğun operator yerinə yetirilir. Əgər uyğun seçmə sabiti tapılmazsa yerinə yetirilmə ELSE-dən sonrakı operatora verilir. Nümunə üçün aşağıdakı proqramı verək:
Proqram SECOND; USES CRT;
VAR
OP: CHAR; (* dayishanlar*) X, Y, Z: REAL;
DAYAN: BOOLEAN; BEGİN
(*Proqramin asas hissasi*) DAYAN:= FALSE;
WRITELEN; (*Bosh satir*) WRITE (‘(x,y)=’);
READLN (x,y); WRITE (‘Op:’); READLN ( OP); CASE OP OF
‘+’:Z:=X+Y;
‘-‘: Z:=X-Y;
‘*’: Z:=X*Y;
‘/’: Z:=X-Y;
ELSE
DAYAN:=TRUE; END;
IF not DAYAN THEN WRITELN (‘ NATICA= ‘ Z:8:2); END.
Dostları ilə paylaş: |