4. Dövr dəyişəninin qiyməti yuxarı sər
həddən
böyükdürsə,
dövrün yerinə ye tirilməsi kəsilir.
5. Dövrün gövdəsi icra olunur.
6. Dövr dəyişəninin cari qiymətinə 1 əlavə olunur.
7. Dövrün icrası 3 bəndindən davam etdirilir.
Tutaq ki, ilk on natural ədədin cəmini tapmaq lazımdır. Bunun üçün proqram
fraqmentini aşağıdakı kimi yazmaq olar:
S := 0;
for I := 1
to 10
do
S := S + I;
Dövrdən kənarda olan birinci operator
S
dəyişəninə başlanğıc qiyməti mənimsət mək
üçündür. Dövr operatorunun icrasından öncə çox zaman hazırlıq işləri aparılma lıdır.
Sayğac rolunu
I
dəyişəni oynayır. Dövrün sərhədləri olan 1 və 10 ədədləri dövr
operatorunda konstant kimi verilib. Əgər dövrün aşağı sərhədi onun yuxarı
sərhədindən
böyükdürsə, onda
to
açar sözünün əvəzinə
downto
açar sözündən istifadə olunur. Bu
halda hər dəfə dövr icra olunduqda dövr dəyişəninin qiyməti 1 vahid azalır.
Şərtli dövr. Şərtli dövrlər dövrün daha ümumi yazılış formasıdır. Belə dövrlərdən
adətən dövrün təkrarlanmalarının sayı qabaqcadan məlum olmadıqda istifadə edilir.
Şərtli dövrləri iki növə ayırırlar:
1) Ön şərtli dövrlər,
2) Son şərtli dövrlər.
Ön şərtli dövr belə işləyir:
1. Dövrün təkrarlanma şərti yoxlanılır.
2. Dövrün təkrarlanma şərti ödənmirsə, onun icrası dayandırılır.
3. Şərt ödənmirsə, dövrün gövdəsi yerinə yetirilir.
4. Dövrün icrası 1 bəndindən davam etdirilir.
Sayğaclı dövrün özəllikləri
Sayğaclı dövr bir neçə özəlliyə malikdir. Dövrün sərhədləri ifadələr şəklində veril -
mişsə, bu ifadələr
dövrün inisiallaşdırılması anında hesablanır. Həmin ifadələrə daxil
olan dəyişənlərin qiyməti dövrün içərisində dəyişsə belə, bu dövrün gövdəsinin neçə
dəfə yerinə yetirilməsinə təsir etmir.
Dövrün sona çatması şərti dövrün gövdəsi birinci dəfə yerinə yetirilənədək yoxlanılır.
Dövrün sərhədləri
elə qiymətlər ola bilər ki, dövrün gövdəsi heç bir dəfə də yerinə
yetirilməsin.
38
Son şərtli dövrün gövdəsi ən azı bir dəfə yerinə yetirilir.
Pascal dilində son
şərtli dövrün yerinə yetirilməsi şərt ödənildiyi zaman dayandırılır. Proqramçı
şərtin ifadəsinin qiymətini müəyyənləşdirən dəyişənləri nəzarətdə saxlamalıdır
ki, onlar dövrün gövdəsində dəyişilsin. Əgər dövrün şərti heç dəyişilməzsə, dövr
sonsuz davam edə bilər.
İlk yüz natural ədədin kvadratları cəmini hesablayan proqram fraqmentini
repeat
operatorunun köməyilə belə yazmaq olar:
S := 0;
I := 1;
repeat
S := S + I * I;
I:= I + 1;
until I > 100;
Dövrdən çıxış. Bəzən proqramlarda çox mürəkkəb dövrlərdən istifadə
olunur. Belə dövrün bir neçə sonaçatma şərti ola bilər. Bu dövrlərin yaradılmasını
sadələşdirmək üçün müasir proqramlaşdırma dillərində
dövrdən çıxma operatoru
nəzərdə tutulub. Dövrdən çıxma operatoru adətən dövrün içərisindəki şərt opera-
torunun daxilində istifadə olunur. Bu operator yerinə
yetirildikdə idarəetmə dərhal
dövrdən sonrakı ilk opera tora ötürülür. Bir dövrün daxilində bir neçə dövrdən
çıxma operatoru yerləşə bilər. Dövrdən çıxma operatoru aşağıdakı kimi yazılır:
break;
Aşağıdakı misalda klaviaturadan daxil edilən ədədlərin cəmi hesablanır. Daxil
edilən ədəd mənfi olduqda, dövr kəsilir.
S := 0;
while True
do
begin
Read(I);
if I < 0
then break;
S := S + I;
end;
Bu misalda “sonsuz” dövrdən istifadə olunub, çünki dövrün şərti həmişə doğrudur.
Lakin dövrün daxilində çıxış operatoru olduğundan proqram “dövrə düş mür”.
40
1. Dövr hansı hissələrdən ibarətdir?
2. Sayğaclı, ön şərtli və son şərtli dövrlər Pascal dilində hansı operatorla ifadə
olunur?
3. Sayğaclı dövrün yerinə yetirilməsini izah edin.
4. Aşağıdakı operatorlar ardıcıllığının icrasından sonra
k
dəyişəninin qiymətini
müəyyənləşdirin.
var i, k: Integer;
...
k := 0;
for i := 1 to 100 do
if i mod 2 = 0 then
k := k + 1;
5.
for
operatorundan istifadə etməklə ilk yüz natural ədədin kvadratları cəmini
hesablayan proqram yazın.
6. Avtobus biletlərinin nömrələri altırəqəmlidir: 000000-dan 999999-dək. Əgər 1-ci,
3-cü və 5-ci rəqəmlərin cəmi 2-ci, 4-cü və 6-cı rəqəmlərin cəminə bərabərdirsə,
bilet “uğurlu” hesab olunur. Bütün “uğurlu” biletləri tapan və çap edən proqram
yazın.
7. Aşağıdakı operator nəyi yerinə yetirir?
for Ch := ‘A’ to ‘Z’ do
Write (Ch);
MASSİVLƏR
Proqramlarda tez-tez birtipli kəmiyyətlərdən istifadə olunur. Birtipli verilən-
lərin nömrələnmiş ardıcıllığına
massiv deyilir. Massivin bir adı olur və həmin ad
massivin bütün elementlərinə aid edilir. Massivin konkret elementini onun nöm-
rəsinə görə seçmək olar. Həmin nömrəyə
indeks deyilir.
Elementlərinin sayı
aşkar göstərilmiş massivə statik massiv deyilir. Bəzi pro-
qramlaşdırma dillərində
dinamik massivlərdən istifadə olunur. Belə massivin
ölçüsü proqramın icra müddətində dəyişilə bilər. Massiv elan olunan kimi kom-
püterin yaddaşında onun bütün elementləri üçün yer ayrılır.
Ona görə də dinamik
massivlər kompüterin yaddaşından daha səmərəli istifadə edir.
Sadə dəyişənlərdən fərqli olaraq, massivlər bütün proqramlaşdırma dillərində
qabaqcadan təsvir (elan) olunmalıdır. Massivin təsvirində massivdə olan ele-
mentlərin sayı, indekslərin mümkün diapazonu və hər elementin tipi göstərilməlidir.
var a:
array [1..10]
of Integer;
1.10.
1.
PASCAL
proqramlaşdırma dili
41