37
Burada S - dövrün gövdəsi, P – şərti göstərən məntiqi ifadədir.
Belə proseslərin TP-də proqramlaşdırılması üçün repeat və until operatorlarından istifadə
edilir. Bu operatorlar vasitəsilə dövrü proses aşağıdakı kimi proqramlaşdırılır:
repeat
operator 1 ;
operator 2 ;
……………
operator n ;
until şərt;
repeat operatorunda da şərt məntiqi ifadədir. Operatoru niş prinsipi ön şərtli dövrdə
olduğu kimidir. Amma while – dən fərqli olaraq şərtin yoxlanılması
dövrün gövdəsi
yerinə yetirildikdən sonra baş verir. repeat dövr operatorunun idarə edilməsi while dövr
operatorunun idarə edilməsi while dövr operatorunun idarə edilməsinin əksinədir. Yəni,
burada
while – dən fərqli olaraq, şərt false - yə bərabər olduqda dövr davam edir,
əks halda isə sona yetir.
Qeyd etmək lazımdır ki, while – dən fərqli olaraq, repeat operatorundan istifadə
etdikdə operatorlar qrupu dövrün gövdəsini təşkil edirsə begin – end operatorları tələb
olunmur. Lakin repeat operatoru while operatoru kimi universal deyil. Belə ki,
burada
şərt dövrün gövdəsindən sonra yerləşdiyindən , lazım olmasa belə dövrün gövdəsi heç
olmazsa bir dəfə yerinə yetirilir. Bu isə o deməkdir ki, bəzi dövrləri təşkilində son şərtli
dövr operatorundan istifadə zamanı ehtiyatlı olmaq lazımdır.
Yenə
n
i
i
S
1
2
cəminin hesablanması misalına baxaq:
Həllin blok sxemi:
Həllin proqramı:
Proqram Ön_şərtli_dövr;
var
S : real;
i
, n : inteqer ;
begin
н
с = 0, и=1,
downloaded from KitabYurdu.org
38
writeln (‘n = ’); readln (n);
i
: =1 ; S : =0;
repeat
S : = S+1/ (i
*
i)
i
: =
i
+1;
until
i > n
write (‘s = ‘ , S );
end
-
+
Parametrli dövrlərin proqramlaşdırılması
. Parametrli dövrün
təşkli üçün blok sxemi
aşağıdakı kimi vermək olar:
Parametrli dövr blokunda parametrin ilk
qiyməti (i, q) və son qiyməti (s.q) verilir.
Parametrin dəyişmə addımı 1-ə bərabərdir
Belə dövlərin TP-də proqramlaşdırılması üçün for
dövr operatorundan istifadə
edilir. Bu operatordan dövrün parametrinin ilk və son qiymətləri məlum olduqda istifadə
edilir. Bu isə onun while və repeat universal dövr operatorlarına nisbətən daha geniş
sahələrə tətbiqinə imkan verir.
for dövr operatoruna sayğaclı dövr operatoru da deyirlər. Onun aşağıdakı iki
variantı var:
1.
Dövrün yerinə yetirilmə prosesində sayğacın qiyməti artır:
for
parametr : = ilk qiymət to son qiymət do operator;
и = и +1
С=С+1/и
2
и
>n
С
downloaded from KitabYurdu.org
39
2.
Dövrün yerinə yetirilməprosesində sayğacın qiyməti azalır:
for
parametr : = ilk qiymət downto son qiymət do operator;
Qeyd edək ki, while və repeat operatorlarından fərqli olaraq, for operatorunda
sayğacın ilk qiyməti dövrün başlanğıcından əvvəl deyil, dövrün elə başlanğıcında verili
r və sayğacın qiymətinin dəyişməsi üçün xüsusi operator tələbolunmur.
for dövr operatorunda yerinə yetirilmə zamanı sayğacın
ilk və son qiymətləri
yadda saxlanır və parametrə ilk qiymət mənimsədilir. Sonra dəyişənin qiyməti son
qiymətlə müqayisə edilir. Dövrün parametri son qiymətdən < = isə (I variant) isə dövrün
növbəti iterasiyası yerinə yetirilir. Əks halda dövrdən çıxış alınır. Dövrün gövdəsi yeinə
yetirildikdən sonrasayğacın qiymətinin artması və ya azalması ilə növbəti iterasiya
başlayır. Bu artma (azalma) avtomatik yerinə yetirilir. TP-də
for dövr operatorunun iki
əsas məhdudiyyəti var:
1.
Dövr sayğacının dəyişmə addımı I variantda +1, II variantda – 1 ola bilər.
2.
Dövrün parametri yalnız sıra tipindən olmalıdır və for operatorunun yerləşdiyi
blok üçün lokaldır.
Misal:
n
i
i
S
1
2
- nı hesablayaq:
II variantda : dövrün blokunda
i= n, 1
yazılır, TP proqramda isə dövr
operatoru:
for
i= n
downto 1 do kimi verilir.
Break və continue standart prosedurlarından repeat,
while və for dövr
operatorlarında istifadəsi, repeat, while və for dövrlərində standart break və
continue prosedurlarından istifadə etmək olar.
Həllin alqoritmi:
Həllin TP-proqramı:
Proqram parametrli _dövr;
var
i
, n : inteqer ;
н
с = 0
и=1, н
downloaded from KitabYurdu.org
40
S : real;
begin
writeln (‘n = ’); readln (n);
S : = 0 ;
for
i
: = 1 to
n
do
S: = S +1 / (i * 1);
write (‘s = ‘ , S )
end
Break proseduru çıxış şərtinin yerinə yetirilməsini gözləmədən dövrdən çıxmağa
imkan verir. Continue proseduru isə dövrün əvvəlki iterasiyası sonna çatmadan yeni
iterasiyanın başllanmasına imkan verir.
Dostları ilə paylaş: