Ia9 -fesil-1: 9 qxd



Yüklə 9,12 Kb.
Pdf görüntüsü
səhifə13/29
tarix08.10.2017
ölçüsü9,12 Kb.
#3616
növüDərs
1   ...   9   10   11   12   13   14   15   16   ...   29

SƏTİRLƏRLƏ İŞ
Proqramlaşdırma dillərinin hamısında simvollar ardıcıllığı, başqa sözləsətir-
lərlə iş nəzərdə tutulub. 
Sətir konstantla, yaxud dəyişənin qiymətilə verilə bilər. Pascal dilində sətir
konstantı apostrofa alınmış simvollar ardıcıllığı kimi verilir:
‘Pascal’
‘1234’ 
‘Araz  çayı’
‘’ 
ardıcıllığı uzunluğu sıfır olan xüsusi sətir konstantıdır. Belə sətrə boş sətir
deyilir.
Sətrin maksimal uzunluğu konkret proqramlaşdırma dilindən, yaxud verilmiş
dilin konkret translyatorundan asılıdır. Müasir proqramlaşdırma sistemlərində
sətirlərin uzunluğuna praktik olaraq hədd qoyulmur. 
Turbo Pascal dilində sətir dəyişənləri 
string
tipinə malikdir. Məsələn, proq -
ramda
var a:  string;
təsviri 
a
-nın sətir dəyişəni olduğunu bildirir.
Sətirlərlə əməliyyatlar ədədlərlə yerinə yetirilən əməliyyatlardan fərqlənir.
Sə tirlərin toplanması və ya çıxılmasının, vurulması və ya bölünməsinin elə bir
mənası yoxdur. Sətirlər üzərində aparılan əsas əməliyyat sətirlərin  birləş di ril -
məsi, yaxud konkatenasiyasıdır. Bu əməliyyat nəticəsində ikinci sətir birinci sət -
rin sonuna birləşdirilir. Konkatenasiya əməli  
+
(plyus) simvolu ilə işarə olu nur.
var a,  man:  string; 
...
man  :=  ‘On’;
a  :=  man  +  ‘  manat’;     
Əməl işarələri eyni olsa da, (
+
)  birləşdirmə əməli toplama əməlindən fərqlə -
nir. 
Sətirləri birləşdirmək üçün 
Concat
funksiyasından da istifadə olunur.
Məsələn, 
a  :=  Concat(man,  ‘  manat’);
1.11.
46


Əslində sətirlər üzərində əməllər ədədlər üzərindəki əməllərdən daha çoxdur.
Ancaq burada hər hansı əməl işarəsindən istifadə o qədər də əlverişli deyil və
qeyri-adidir. Ona görə də qalan sətir əməlləri, adətən, standart funksiyalar va si -
təsilə yerinə yetiri lir. Proqramlaşdırma dillərinin əksəriyyətində aşağıdakı əmə -
liy yatlar  mümkündür:
• sətrin uzunluğunun müəyyənləşdirilməsi;
• alt sətrin seçilməsi;
• simvolların artırılması, yaxud uzaqlaşdırılması;
• sətirdə simvolun axtarılması;
• sətirdəki simvolların (hərflərin) registrinin dəyişdirilməsi. 
Bu göstərilən və bəzi başqa əməliyyatları yerinə yetirmək üçün Turbo Pascal
dilində nəzərdə tutulmuş funksiyalarla tanış olaq.
Length (St).
Bu funksiya  
St
sətrinin uzunluğunu hesablayır. Sətrin uzun-
luğu dedikdə həmin sətirdə olan simvolların sayı nəzərdə tutulur. Boş sətrin
uzunluğu 0-a bərabərdir. Hər hansı 
S
sətrinin uzunluğunu hesablayıb 
LenS
də yi şə ninə  mənimsətmək  əməlini 
LenS  :=  Length(S)

operatoru  kimi yazmaq lazım dır. 
S  :=  ‘Hello’;
L  :=  Length(S);
WriteLn_(L);_{_Çıxışa_5_qiyməti_veriləcək_}_S_:=_‘Hello_Students’;_WriteLn'>WriteLn(L); 
{  Çıxışa  5  qiyməti  veriləcək  } 
S  :=  ‘Hello  Students’;
WriteLn(Length(S));  {  Çıxışa  14  qiyməti  veriləcək  }
S  :=  ‘    ’;               
{  Boş  sətir  }
WriteLn(Length(S));  {  Çıxışa  0  qiyməti  veriləcək  }
Copy (St,Index,Count).
Bəzən sətrin müəyyən hissəsini ayırıb götür mək la -
zım gəlir. Məsələn, əgər
Date
dəyişəninə mənimsədilmiş 
’17 may 2008’
sət -
rin dəki üç komponenti (gün, ay, il) ayrı-ayrı emal etmək tələb olunursa, bunu
Copy
funksiyası vasitəsilə etmək mümkündr.
Tutaq ki, proqramda tarix sətri  GG AAA İİİİ formatındadır. (Burada GG –
ayın gününü (1-2-ci simvollar), AAA  – ayın adının qısaldılması (4-6-cı sim -
1.
PASCAL
proqramlaşdırma dili
47


vol lar)  və  İİİİ – ili (8-11-ci simvollar) göstərir). Əgər
Date, Month, Day 

Year
sətir dəyişənləridirsə, aşağıdakı operator 
Day
dəyişəninə 
Date
sətrinin
birinci simvolundan başlayaraq iki ardıcıl simvol (‘17’) mənimsədəcək.
Day  :=  Copy  (Date,  1,  2);
Eyni qayda ilə ayı göstərən alt sətir (
‘may’

Month
dəyişəninə, ili bildirən
alt sətir (
‘2008’
) isə
Year
dəyişəninə mənimsədilir.
Month  :=  Copy  (Date,  4,  3);
Year    :=  Copy  (Date,  8,  4);
Insert (Subst,St,Index).
Bu prosedur 
St
sətrinə 
Index
möv qe yindən  başla-
yaraq 
Subst
sətrini artırır. Məsələn, 
Insert  (‘p’,  ‘Alay’,  3) 
prosedurunun icrasından sonra 
‘Alay’
sətri 
‘Alpay’
sətrinə çevriləcək.
Delete (St,Index,Count).
Bu prosedur 
St
sətrinin 
Index
möv qe yin dən  baş -
la yaraq 
Count
sayda simvolu silir. Məsələn, 
Delete (‘Alqoritm’,1,4)
prose du  -
runun tətbiqi nəticəsində 
‘Alqoritm’
sətri 
‘ritm’ 
sətrinə çevriləcək.
Pos (Subst,St).
Bu funksiya 
St
sətrində 
Subst
alt sətrini  axtarır. Əgər ax ta -
rış uğurlu olarsa, funksiya nəticədə alt sətrin aşkarlandığı mövqenin nömrəsi-
ni verir. Əks halda, yəni axtarış uğursuz olarsa, funksiyanın nəticəsi 0 (sıfır)
olacaq. Nəzərə almaq lazımdır ki, bu funksi ya alt sətri birinci aşkarladığı
mövqenin nömrəsini çıxışa verir. Başqa sözlə, əgər sətirdə axtarılan alt sətirdə
bir neçə dəfə rast gəlinirsə, funksiyanın nəticəsi olaraq alt sətrin ilk aşkarlan -
dığı yerin nömrəsi götürüləcək.
48


S  :=  ‘1  nömrəli  orta  məktəb’;
S1  :=  ‘orta’;
J  :=  Pos(S1,  S);
WriteLn(J);  {  Ekrana  11  ədədi  çıxarılacaq  }
S1  :=  ‘əsas’;
J  :=  Pos(S1,  S);
WriteLn(J);  {  Ekrana  0  ədədi  çıxarılacaq  }
Val (St,X,Code).
Turbo Pascalda sətri ədədə çevirən standart funksiya – 
Val
funksiyası vardır. Bu zaman, təbii ki, çevrilən sətir ədədi sətir  olmalıdır (yəni,
ədəddən ibarət olmalıdır, məsələn, ‘17.5’, yaxud  ‘1234’). Funksiyanın pa ra -
metrlərindən 
St
ilkin sətrin özü
X
alınan ədədin mənimsədildiyi dəyişən, 
Code
isə çevrilmənin uğurla keçib-keçmədiyini bildirən parametrdir. Belə ki,
çevrilmə uğurlu olarsa, 
Code
parametrinin qiyməti 0 olacaq, əks halda həmin
parametrə sətirdə səhvin baş verdiyi yerin nömrəsi yazılacaq. Aşağıdakı pro-
qram fraqmenti 
NumStr
dəyişəninə tam ədədi qiymət verir.
repeat
Write (‘Tam  ədədi  daxil  edin:  ’);
ReadLn (NumStr);
Val (NumStr,  IntNum,  Error)
until Error  =  0;
Əgər daxil edilən ədəd sətirdirsə, 
Val
proseduru bu sətri 
IntNum
tam ədədi nə
mənimsədir. Əgər oxunan sətirdə rəqəmdən başqa ayrı simvollar da olarsa,
Error
dəyişəninin qiyməti sıfırdan fərqli olacaq və beləliklə də dövr təkrarla -
na caq.
Str (X,St)
. Bu prosedur 
Val
prosedurunun əksini edir, yəni ədədi sətrə çe vi rir.
Str (123 :5, NumSt)
operatoru 
NumSt
dəyişəninə ‘    123’ sətrini yazacaq.
Burada 5 sətirdəki simvolların sayını göstərir. 
İndi göstərilən prosedurların bəzilərinin tətbiq olunduğu aşağıdakı misala
baxaq. Burada istifadəçinin göstərdiyi sözə sətirdə neçə dəfə rast gəlindiyi he -
sablanır.
1.
PASCAL
proqramlaşdırma dili
49


Yüklə 9,12 Kb.

Dostları ilə paylaş:
1   ...   9   10   11   12   13   14   15   16   ...   29




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

    Ana səhifə