357
ifadənin
qiymətinə bərabər olan
nişan
müəyyənləşdirilir və ona uyğun olan
operator yerinə yetirilir. Selektorun qiymətinə bərabər olan sabit olmadıqda
else
xidməti sözündən sonra yazılan operator, operatorun qısa yazılışında isə
operatordan sonra gələn operator yerinə yetirilir.
Qeyd edək ki, həqiqi və sətir
tipinə aid olan dəyişənləri selektor olaraq istifadə etmək olmaz.
Misal
:
Program Aysel_Proqram;
Var
X, Y : Real;
C : Char;
BEGIN
Write('?ki eded daxil edin: ');
Readln(X,Y);
Write('Emeliyyat simvolu daxil edin: ');
Readln(C);
Case C Of
'+' : Begin
X:=X+Y;
Writeln('Toplama');
End;
'-' : Begin
X:=X-Y;
Writeln('Ferq');
End;
'*' : Begin
X:=X*Y;
Writeln('Hasil');
End;
'/': Begin
X:=X/Y;
Writeln('Qismet');
End;
End;
Writeln('Netice= ',X:12:4);
END.
Proqram
istifadəçinin klaviaturadan daxil etdiyi “+”, “-“, “*”və “/”
simvollarına uyğun olaraq X və Y dəyşənlərinin cəmini, fərqini, hasilini və
qismətini hesablayır.
2.9. Şərtsiz keçid operatoru
Şərtsiz keçid operatoru proqramda idarəni nişanlanmış operatora verir,
başqa sözlə operatorların yerinə yetirilmə ardıcıllığını dəyişir. Operator aşağıdakı
yazılış formatına malikdir:
GOTO n;
bu yazılışdan nişanlanmış operatorun nişanıdır.
358
2.10. Dövr operatorları
Dövr
operatorları proqramda dövrü alqoritmləri təsvir etmək üçün istifadə
edilir. Turbo Pascal dilində üç növ dövr operatoru vardır:
•
Parametrli
dövr operatoru;
•
Sonrakı şərtli dövr operatoru
•
İlkin şərtli dövr operatoru
Parametrli
dövr
operatoru.
Dövrlərin sayı məlum olduqda parametrli dövr operatorundan, əks halda isə
sonrakı şərtli dövr operatorundan və ya ilkin şərtli dövr operatorundan istifadə
edilir.
Parametrli dövr operatoru iki formada istifadə olunur:
1. for := to >do ;
burada
və
dövr parametrinin müvafiq olaraq başlanğıc və son
qiymətlərini müəyyən edən ifadələrdir. Dövr parametri,
və
ifadələrinin
eyni
tipli qiymətlər almalıdır və bu qiymətlər həqiqi tipə aid ola bilməzlər.
dövrün gövdəsi adlanır və sadə - tək bir operatordan və mürəkkəb
operatordan -
begin
və
end
arasında yerləşən operatorlar qrupundan ibarət ola
bilər.
Dövr operatoru yerinə yetirildikdə dövrün parametrinin aldığı cari qiymət
parametrin son qiymətilə müqayisə olunur. Cari qiymət son qiymətdən kiçik
olduqda dövrün gövdəsi yerinə yetirilir, dövr parametrinin qiyməti vahid qədər
artır və bu qiymət yenidən parametrin son qiymətilə müqayisə olunur. Bu proses
parametrin cari qiymətinin son qiymətdən böyük olana qədər davam edir. Bundan
sonra dövr operatorundan sonra yazılan operator yerinə yetirilir.
Misal 1
.
∑
=
=
100
1
i
i
s
cəmini hesablamalı.
Program Turqut_proqram_1;
Const n=100;
var i,s:integer;
begin
s:=0;
for i:=1 to n do
s:=s+i;
writeln ('s=', s);
end.
2. for := downto do ;
Bu
yazılışda da
və
dövr parametrinin müvafiq olaraq başlanğıc
və son qiymətlərini müəyyən edən adsız sabitlər və ya ifadələrdir, eyni tipli
olmalıdır və həqiqi tipə aid ola bilməzlər.
dövrün gövdəsi olub,
sadə - tək bir operatordan və mürəkkəb operatordan -
begin
və
end
arasında
yerləşən operatorlar qrupundan ibarət ola bilər.
359
Dövr operatoru yerinə yetirildikdə dövr parametrinin aldığı cari qiymət
parametrin son qiymətilə müqayisə olunur. Cari qiymət son qiymətdən böyük
olduqda dövrün gövdəsi yerinə yetirilir, dövr parametrinin qiyməti vahid qədər
azalır və bu qiymət yenidən parametrin son qiymətilə müqayisə olunur. Bu proses
parametrin cari qiymətinin son qiymətdən kiçik olana qədər davam edir. Bundan
sonra dövr operatorundan sonra yazılan operator yerinə yetirilir.
Misal 2.
Birdən 100-ə qədər tam ədədləri azalma sırası ilə çap etməli.
Program Turqut_proqram_1;
Const n=100;
var i,s:integer;
begin
s:=0;
for i:=100 downto 1 do
writeln (i);
end.
Göründüyü kimi, parametrli dövr operatorunda dövr parametri ancaq vahid
qədər artıb-azala bilər. Bu operatorun çatışmayan cəhətidir. Bu çatışmayan cəhəti
sonrakı şərtli dövr operatoru və ilkin şərtli dövr operatoru vasitəsilə aradan
qaldırmaq mümkündür.
Qeyd etmək lazımdır ki, dövrün gövdəsində dövrün parametrinin qiymətini
dəyişmək olmaz. Dövr qurtardıqdan sonra dövrün parametrinin qiyməti son
qiymətə bərabər olur. Qeyd edək ki, dövrün vaxtından əvvəl – müəyyən şərt
ödənildikdə yerinə yetirilməsini dayandırmaq üçün
break
operatorundan istifadə
etmək məsləhətdir. Həmçinin, dövr sona çatmamış dövrün daxilindən
GOTO n
1
operatorunun vasitəsilə idarəni dövrdən kənara – nişanlanmış digər operatora
vermək olar.
Misal 3
Program Turqut_proqram_3;
var n,i:
longint;
s:
boolean;
begin
write ('N=');
readln (n);
s:=true;
for i:=2
to n-1 do
if n mod i = 0
then begin
s:=false;
break;
end;
if s=true
then writeln ('Sade ededdir')
else
writeln ('sade eded deyil'
);
end.
1
Burada n nişanı bildirir.