Mübariz Xəlilov, Nazlı Həsənova



Yüklə 4,93 Mb.
Pdf görüntüsü
səhifə298/355
tarix22.12.2023
ölçüsü4,93 Mb.
#154030
növüDərs
1   ...   294   295   296   297   298   299   300   301   ...   355
INFORMATIKA KITAB BUTOV-1

if
<
şərt 
>
then
<
operator 1
>
else
>

Burada 
if

then

else
operatorun 
işçi sözləridir
<
şərt
>

məntiqi tipli 
ixtiyari 
ifadədir, 
<
operator 1
>
və 
<
operator 2
>
isə Turbo Pascal dilinin ixtiyari 


344 
operatorlarıdır.
Bu operator 
yerinə yetirilərkən, əvvəlcə 
<
şərt
>
məntiqi ifa-dəsi 
hesablanır. Əgər ifadənin nəticəsi 
true
(
doğru) qiymətini alarsa, 
<
operator1
>
yerinə yetirilir, 
<
operator2
>
isə nəzərə alın mır, qiymət 
false
(yalan) olarsa, 
əksinə 
<
operator1
>
nəzərə alınmır və 
<
operator2
>
yerinə yetirilir. 
Məsələn
,
if x<0 then y:=x+1 else y:=2*x; 
if (n>15) and (n<25) then a:=n+4 else
b:= n-5;
Misal, x 
və y ədədlərindən ən böyüyünü tapmalı.
program p1; 
var x,y,max:integer; 
begin read(x,y); 
if x>y then max:=x else max:=y;
write(max) 
end. 
Şərt operatorunun 
else
<
operator 2 
>
hissəsi verilməyə də bilər, yəni 
operator 
aşağıdakı şəklə düşər: 
if <
şərt 
>
then < 
operator 1
>;
Bu zaman 
<
şərt
>
true
qiymətini aldıqda 
<
operator 1
>
yerinə yetirilir, əks 
halda 
isə operator yerinə yetirilmədən proqramın növbəti sətrinə keçid yerinə 
yetirilir.
Misal

x

y

z
ədədlərindən ən kiçiyini tapmalı.
program p2; 
var x,y,z,min:integer;
begin read(x,y,z);min:=x; 
if min>y then min:=y; 
if min>z then min:=z; 
write(min)
end.
Buradakı  və  - dən ixtiyari biri, ixtiyari tipli, o 
cümlədən digər şərt operatoru da ola bilər və operatorda 
else
 
hissəsi verilməyə də bilər. Bu zaman yarana bilən qeyri-müəyyənlik Turbo 
Pascal 
dilində aşağıdakı qaydada həll olunur: proqram mətnində rast gəlinən 
ixtiyari 
else
hissəsi ona proqramda ən yaxın olan 
THEN
hissəsinə uyğun 
gətirilir.
Misal
. Kvadrat 
tənliyin həllini tapmalı. 
program kv; 
var a,b,c,d,x1,x2:real; 
begin read(a,b,c);d:=sqr(b)-4*a*c;


345 
if d>=0 then begin x1:=(-b+sqrt(d))/(2*a); 
x2:=(-b-sqrt(d))/(2*a);
write(’x1=’,x1,’x2=’,x2) 
end
else write(’
helli yoxdur
’); 
end. 
 
Seçki operatoru 
proqramın bir neçə mümkün davam variantlarından hər 
hansı birini seçməyə imkan verir. Seçkinin aparıldığı parametr  
real
və 
string
tipləri istisna olmaqla ixtiyari tip ifadədir. Seçki operatorunun 
ümumi strukturu 
aşağıdakı kimidir:
case
<
seçki 
açarı
>
of
<
seçki 
siyahısı
>
else
<
operatorlar
>
end;
burada 
case

of

else

end
işçi sözlərdir, < seçki açarı > - seçki açarı, 
siyahısı> - formalı bir və ya daha çox 
konstruksiyalar;  - 
isə  ifadəsi ilə eyni tipli sabitdir, 
 - Turbo Pascal dilinin ixtiyari 
operatorlarıdır.
Seçki operatoru 
aşağıdakı qaydada işləyir: əvvəlcə  ifadəsi 
hesablanır, sonra operatorları ardıcıllığında qarşısında 
hesablanmış ifadənin aldığı qiymətə bərabər olan sabit gələn operator seçilir. 
Tapılmış operator yerinə yetirilir və seçki operatorunun işi sona çatır. Əgər 
seçki 
siyahısında seçki açarının hesablanmış qiymətinə uyğun gələn sabit 
tapılmazsa, on-da idarəetmə 
else
sözündən sonra gələn operatorlara verilir. 
Qeyd 
edək ki, operatorda 
else
 
hissəsini verməmək də olar. Bu 
halda seçki 
siyahısında lazım olan sabit tapılma-dıqda heç bir hadisə baş 
verməyəcəkdir və seçki operatoru sadəcə olaraq öz işini sona çatdıracaqdır. 
Misal
. Toplama, 
çıxma, vurma və ya bölmə əməliyyat-larından hər hansı 
birinin 
seçilməsi ilə ixtiyari 
x

y
ədədləri üçün bu əməlin yerinə yetirilməsi. 
program p3; 
var c:char; x,y,z:real; s:boolean;
begin s:=false;
repeat read(x,’ ’, y); read(c); 
case c of 
’+’: z:=x+y; 
’-’: z:=x-y; 
’*’: z:=x*y; 
’/’: z:=x/y; 
else s:=true;
end;
if not s then writeln(’z =’,z) 
until s


346 
end. 
Burada seçki 
siyahısındakı ixtiyari operatorun qarşısında bir deyil, bir-
birindən vergüllə ayrılan bir neçə seçki sabiti dura bilər.
Məsələn

var c:char; 
begin read(c);
case c of
’n’,’N’: wrieln (’No’); 
’y’,’Y’: writeln (’Yes’) 
end 
end. 
 
11.7. Dövr 
operatorları 
 
Turbo Pascal 
dilində üç müxtəlif dövr operatoru mövcuddur:
1) Hesabi dövr operatoru 
FOR
aşağıdakı struktura malikdir: 
for

:=
<
başlanğıc qiymət> 
to
mət> 
do

;
Burada 
for

to

do
– operatorun 
işçi sözləridir, – 
integer
(daha 
doğrusu ixtiyari nizam tipli) tipli dəyişəndir,  
- dövr parametrinin 
başlanğıc qiymətidir və onunla eyni tiplidir,  
– dövr parametrinin 
aldığı son qiymətdir və onunla eyni tiplidir, < operator > – 
Turbo Pascal dilinin ixtiyari operatorudur.
Bu operator 
yerinə yetirilərkən əvvəlcə ifadəsi 
hesablanır və
:=
<
başlanğıc qiymət> mənimsədilməsi yerinə 
yetirilir. Sonra  
<=
qiymət> şərti yoxlanılır, əgər şərt 
ödənilmirsə 
for
operatorunun 
işi sona çatır, şərt ödənildikdə isə  
yerinə yetirilir və dəyişəni bir vahid artırılır: ri>
:=

+1 
Bundan sonra 
təsvir etdiyimiz proses şərt 
ödənilməyənədək təkrarlanır. 
Misal
. Birinci N natural 
ədədin cəmini tapmalı. 
program p4; 
var i,n,s:integer; 
begin readln(n);s:=0; 
for i:=1 to n do s:=s+i; 
writeln(s) 
end.
Qeyd 
edək ki, 
for
operatorunun 
işini idarə edən şərt - un 
yerinə yetirilməsindən əvvəl yoxlanılır, əgər şərt 
for
operatorunun 
işinin 
əvvəlində yerinə yetirilmirsə, onda operator bir dəfə də olsun yerinə 


347 
yetirilməyəcəkdir. 
for
operatorunda dövr parametrinin 
artım addımı sabitdir və 
(+1)-
ə bərabərdir. Lakin 
for
operatorunun 
aşağıdakı forması da mövcuddur: 
for 

:=
<
başlanğıc qiymət> 
downto
qiymət> 
do
 
Burada 
to
sözünün 
downto
sözü 
ilə əvəz edilməsi dövr pa-rametrinin 
artım addımının (-1)-ə bərabər olduğunu və idarəedici şərtin  
>=
qiymət> olduğunu göstərir. Məsələn, yuxarıda baxdığımız misal üçün 
proqramı elə dəyişdirmək olar ki, proqram həm müsbət, həm də mənfi 
ədədlərin cəmi-ni tapa bilsin: 
 
program p5; 
var i,n,s:integer; 
begin readln(n); s:=0; 
if n>=0 then for i:=1 to n do s:=s+i 
else for i:=-1 downto n do s:=s+i; 
writeln(s) 
end.
2) 
Şərt qabaqcadan yoxlanılan 
while
dövr operatorunun ümumi 
şəkli 
aşağıdakı kimidir: 
while
<
şərt> 
do
 
Burada 
while

do
– operatorun 
işçi sözləridir, <şərt> - məntiqi tipli ifadə, 
 
isə Turbo Pascal dilinin ixtiyari operatorudur.
Bu operator 
yerinə yetirilərkən əvvəlcə <şərt> ifadəsi hesab-lanır, əgər o, 
true
qiymətini alırsa, yəni şərt ödənilərsə  yerinə yetirilir və <şərt> 
ifadəsinin hesablanıb, yoxlanılması davam etdirilir. Bu <şərt> 
false
qiyməti 
alana 
qədər təkrar-lanır, <şərt> bu qiyməti alan kimi 
while
operatoru 
işini sona 
çatdırır. Əgər elə birinci yoxlamada < şərt > 
false
qiymətini alırsa  
bir 
dəfə də yerinə yetirilmədən 
while
opera-toru 
işini başa çatdırır. 
Misal

x
x
f
2
cos
)
(
=
funksiyasının [0,1] parçasında 
05
,
0
=
h
addımı ilə 
qiymətlər cədvəlini almalı. 
program p6;
const x0=0; h=0.05; xs=1; 
var x,y:real; 
begin x:=x0; 
while x
begin y:=cos(2*x); writeln(x:5:2,y:6:4); 
x:=x+h 
end 
end. 
3) 
Şərt sonradan yoxlanılan 
repeat
-
until
dövr opera-torunun ümumi 
şəkli aşağıdakı kimidir: 


348 
repeat
gövdəsi> 
until
<
şərt>
;
burada 
repeat

until
-dövr 
operatorunun 
işçi sözləridir, -Turbo Pascal dilinin 
operatorlarının ixtiyari ardıcıllığıdır, <şərt> - məntiqi ifadədir.
Operator 
yerinə yetirilərkən,  operatorları ən azı bir dəfə 
yerinə yetirilir və bundan sonra <şərt> məntiqi ifa-dəsi hesablanır. Əgər bu 
ifadə 
false
qiymətini alırsa, yəni şərt ödənilmirsə,  
operatorları təkrarən yerinə yetirilir və bu prosses <şərt> 
true
qiymətini alana 
qədər davam etdi-rilir. Bu halda dövr operatorunun işi sona çatır. 
Misal

Müsbət 
a
tam 
ədədi verilib (
1
a
>
). 
a
n!
>
şərtini ödəyən ən kiçik 
n
ədədini tapmalı. 
program p7;
var p,n,a:integer; 
begin read(a); p:=1; n:=1; 
repeat n:=n+1; p:=p*n 
until p>a; 
writeln(n) 
end. 
 
Burada gördüyümüz kimi 
repeat 
– 
until
cütü 
begin 
– 
end
operator 
mötərizələrinə oxşardır, ona görə də 
until
-
dən əvvəl «
;
» qoymaq 
məcburi 
deyildir. 
Qeyd 
edək ki, dövrlər bir-birinin daxilində də verilə bilər. Bu zaman 
daxildəki dövr xaricdəki dövrün hər bir qiyməti üçün tam yerinə yetirilir. 
Misal

n
2k
y
+
=
-nin 
n=1,2,3
və 
k=2,4,6
hallarında qiymətlərini 
tapmalı. 

Yüklə 4,93 Mb.

Dostları ilə paylaş:
1   ...   294   295   296   297   298   299   300   301   ...   355




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

    Ana səhifə