360
Proqram
istifadəçinin daxil etdiyi tam ədədin sadə ədəd olmasını yoxlayır.
Proqramda
verilmiş
break
operatoru
dövrün yerinə yetirilməsini dayandırır və
idarəni sonrakı operatora verir.
Praktikada
bir-birinə daxil olan dövr operatorlarından da (mürəkkəb
dövrləri təşkil etmək üçün) geniş istifadə olunur.
Misal 4
.
100
/
π
=
h
addımla
a
x
x
a
y
)
cos(
)
sin(
−
=
funksiyasının qiymətini
{
}
3
;
5
.
2
;
2
;
5
.
1
;
1
=
a
qiymətlərində hesablamalı, harada,
]
,
[
π
o
x
∈
.
Program tabl;
var
y, x, a, dx : real;
i, j: integer;
Begin
Writeln(' Hesablamali: y=A*sin(x)-cos(x)/A; ');
Writeln('--------------------------------------------------');
Writeln('| X | A=1.0 | A=1.5 | A=2.0 | A=2.5 | A=3.0 |');
Writeln('--------------------------------------------------');
dx := pi/100;
for i:= 0 to 100 do
begin
x:= dx*i;
Write( x:8:4 );
for j := 1 to 5 do
begin
A := 0.5*(j+1);
y := A*sin(x)-cos(x)/A;
Write(y:8:4)
end;
writeln ;
end;
End.
Aşağıdakı cədvəlin köməyi ilə parametrli dövr operatorundakı dövrün gövdəsinin
təkrarlanmasının sayını təyin etmək olar:
Operator n
n=m
n>m
for…to…do m-h+1
1
dəfə
yerinə yetirilmir
for…downto…do yerinə yetirilmir
1 dəfə n-m+1
Sonrakı şərtli dövr operatoru.
Sonrakı şərtli dövr operatoru başlıqdan -
repeat
, dövrün gövdəsindən və
dövrün qurtarmasını müəyyən edən şərtdən ibarətdir və aşağıdakı yazılış formatına
malikdir:
Repeat Until <şərt>;
Burada şərt məntiqi ifadədir. Operator yerinə yetirilərkən əvvəlcə
repeat
və
until
xidməti sözləri arasında olan operatorlar yerinə yetirilir, sonra isə dövrün
qurtarması şərti yoxlanılır. Əgər məntiqi ifadənin qiyməti false olarsa, onda dövrün
gövdəsini təşkil edin operatorlar təkrar yerinə yetirilir. Əgər məntiqi ifadənin
qiyməti true olarsa, onda dövr sona çatır və dövr operatorundan sonrakı operator
361
yerinə yetirilir. Dövrün gövdəsini təşkil edən operatorlardan biri elə olmalıdır ki, o
dövrün qurtarması şərtinə təsir edə bilsin. Əks halda,
dövretmə sonsuz olaraq
davam edə bilər.
Misal 5.
∑
=
=
100
1
2
1
n
n
y
funksiyasını hesablamalı.
Program Turqut_proqram_4;
Const
k=100;
Var
n:integer; y:real;
begin
y:=0;
n:=1;
repeat
y:=y+1/(n*n);
n:=n+1;
until n=k+1;
Writeln(y);
end.
İlkin şərtli dövr operatoru.
İlkin şərtli dövr operatoru sonrakı şərtli dövr operatoruna oxşar əməliyyatı
yerinə yetirir. Fərq yalnız odur ki, dövrün qurtarmasını müəyyən edən şərt dövrün
gövdəsindən əvvəl gəlir. Yazılış formatı aşağıdakı kimidir:
while <şərt>
do ;
Burada
<şərt>
məntiqi ifadə,
isə sadə və ya
mürəkkəb operatordur. Operator yerinə yetirildikdə ilk öncə əvvəl məntiqi ifadənin
qiyməti hesablanır. İfadə
true qiyməti aldıqda dövrün gövdəsini təşkil edən
operatorlar yerinə yetirilir və yenidən məntiqi ifadənin qiyməti hesablanır və ifadə
true qiyməti aldıqda proses təkrarlanır. Bu proses məntiqi ifadə false qiyməti alana
qədər dövrü olaraq davam edir. Bundan sonra proqramda dövr operatorundan sonra
gələn operator yerinə yetirilir.
Qeyd
edək ki, <
şərt
>-in qiyməti yalan (
false) olarsa, onda dövrün
gövdəsini təşkil edən operatorlar bir dəfə də olsun yerinə yetirilmir. Lakin sonrakı
şərtli dövr operatorunda dövrün gövdəsi <
şərt
>-dən asılı olmayaraq ən azı bir
dəfə yerinə yetirilir. Sonrakı şərtli dövr operatorunda olduğu kimi, ilkin şərtli dövr
operatorunda da gövdəsini təşkil edən operatorlardan biri elə olmalıdır ki, o dövrün
qurtarması şərtinə təsir edə bilsin.
Misal 6.
Program Turqut_6;
Var
I : Integer;
St : String;
BEGIN
Write('Sozu daxil edin ');
Readln(St);
362
I:=0;
While I < 10
Do
Begin
Writeln(St);
I:=I+1;
End;
END.
Proqram istifadəçinin daxil etdiyi sözü 10 dəfə təkrar çap edir.
2.11. Çoxluqlar
Çoxluq-verilənlərin strukturlanmış tipi oub, müəyyən əlamətə görə
qarşılıqlı əlaqəli olan elementlər toplusudur. Çoxluqların elementlərinin sayı sonlu
olur və 0-dan 256-ə qədər dəyişə bilər. Elementlərinin sayı sıfır
olan çoxluq boş
çoxluq adlanır. Çoxluğun elementləri massivlərdən fərqli olaraq indeksləşməyib və
müəyyən nizamlı düzülüşə malik deyil. Çoxluqda elementlər təkrar oluna bilməz,
yəni eyni bir element çoxluqda yalnız bir dəfə iştrak edə bilər.
Çoxluq tipli dəyişənlər operativ yaddaşda 16 bayt yer tutur və aşağıdakı
formada elan olunur
type
=set of ;
var
: ;
və ya
var < dəyişənin adı>: set of ;
Məsələn,
type
ByteSet = set of byte;
CharSet = set of char;
Digits = set of '0'..'9';
var
s:
ByteSet;
m: CharSet;
n: Digits;
k: set of 1..3;
Proqramda çoxluq tip sabitlər və çoxluq tip dəyişənin aldığı qiymətlər
kvadrat və ya dairəvi mötərizə daxilində göstərilir. Məsələn, [1,2,3,4], [‘a’, ‘b’,’c’],
(‘a’..‘z’). Boş çoxluq [ ] işarə olunur. Çoxluq tipli dəyişənin qiymətlər oblastı baza
tipli elementlərdən təşkil olunmuş bütün mümkün olan altçoxluqlar yığımıdır. Əgər
baza tipi N qiymət alarsa, onda çoxluq tipli dəyişən 2
N
sayda müxtəlif qiymətlər
alar. Məsələn,
var
T : Set of 1..3;
kimi elan olunmuş çoxluq aşağıdakı qiymətlər ala bilər:
[], [1],[2], [3], [1,2], [1,3], [2,3],
[1,2,3]