Оқулық Қазақстан Республикасы Білім және ғылым министрлігі бекіткен Алматы, 2011



Pdf көрінісі
бет117/121
Дата31.08.2022
өлшемі2,81 Mb.
#38343
түріОқулық
1   ...   113   114   115   116   117   118   119   120   121
Байланысты:
duisembiev-parallel-esep

1
,…,i
n
) ASSUME 
),
,
,...,
(
)
,...,
(
)
,...,
(
1
)
,...,
(
1
1
1
1
1
Other
X
X
F
X
k
n
k
j
m
j
m
j
i
i
IndexR
j
i
i
IndexR
i
i
IndexL

мұндағы: 

D(i
1
,…,i
n
) – ASSUME операторының облысы; 

(i
1
,…,i
n
) – облысының индекстері; 

k
q
X
q
j


1
,
- облыста анықталған шамалардың аттары; 

n
p
i
IndexL
p


1
),
(
- сол жақтағы индекстік ӛрнектер; 

)
...,
,
(
1
n
j
i
i
IndexR
q
- оң жақтағы индекстік ӛрнектер; 

F – оң жақтағы есептелетін функция; 

Other – оң жақтың басқа термалары. 
Әрбір осындай қатынас, оң жақтағы 
k
j
j
X
,...,
1
шамаларының мәндері 
және Other термалары бойынша, сол жақтағы X
l
шамасының мәнін есептеу 
ережесін береді. Ол келесі түрде жүргізіледі: 

Барлық 
)
,
...
,
(
)
,
...
,
(
1
1
n
n
i
i
D
a
a

нүктелері анықталады; 

Әрбір 
)
,
...
,
(
)
,
...
,
(
1
1
n
n
i
i
D
a
a

нүктесі үшін 
)
,
...
,
(
1
n
a
a
IndexL
нүктесінде сол 
жақтағы X
l
шамасының мәнін есептеу талап етіледі; 

Әрбір 
)
,
...
,
(
)
,
...
,
(
1
1
n
n
i
i
D
a
a

нүктесі 
үшін 
барлық 
k
q
X
q
j


1
,
шамаларының индекстің ӛрнектерінің 
)
...,
,
(
1
n
j
а
а
IndexR
q
мәндері 
есептеледі: 
k
q
Other
X
F
a
a
X
q
n
q
j
j
a
a
IndexR
n



1
),
,
(
)
,
...
,
(
)
,...,
(
1
1

Егер қандай да бір уақыт мезетінде 
)
,
...
,
(
)
,
...
,
(
1
1
n
n
i
i
D
a
a

нүктесі үшін Х 
барлық аргументтері есептеліп қойылса, онда сол жақтағы 
1
)
,...,
(
1
n
а
а
IndexL
X
шамасының мәндерін есептеу мүмкін болады; ал егер аргументтер 
толық анықталмаса, онда дәл осы мезетте берілген нүктені есептеу 
мүмкін емес (бірақ ол тіпті мүмкін емес дегенді білдірмейді). 
Берілген оператор шаманың мәндерін есептеу ережесін анықтайды. 
Сонымен қатар ол бағдарламаның берілген орнында есептеудің тез арада 


205 
орындалуын талап етпейді және есептеу тәсілін немесе ретін белгілемейді. 
Оператор тізбекті болмаса параллель орындалу жайында ешқандай 
ақпаратты қамтымайды. Ӛзімізге таныс сипаттауларды қарастырайық: 
Square: ( DirK: (k=1..15); DirL: (l=1..9)) 
VARIABLE Xsum, Y DEFINED ON Square, 
Тӛменде келтірілген оператор 
FOR Square ASSUME Xsum = 0 
Xsum 
шамасының 135 элементін нӛлдік етуді береді. НОРМА тілінде 
бұл сұраныстың іске асырылуы бекітілмейді.
Жалпы алғанда бұл параграфта НОРМА тілінің негізгі идеясын 
сипаттап ӛттік десек болады. Есептеу барысында қажет етілетін басқа да 
сұрақтар туралы толық мағлұматты [1] әдебиеттен табуға болады. 
Параграфтың соңында НОРМА тілінде жазылған сызықты теңдеулер 
жүйесін Гаусс-Жордан әдісімен шешудің бағдарламасын қарастырайық. 
Аталған әдістің есептеу формулаларын келесі түрде жазуға болады: 
N
i
r
x
N
t
t
i
N
t
r
m
r
r
N
t
N
t
t
i
N
j
m
m
m
m
N
t
m
r
r
N
t
N
j
m
m
m
N
i
b
r
N
j
N
i
a
m
i
N
j
t
t
t
i
t
i
t
i
t
j
t
t
t
i
t
j
i
t
j
i
t
t
t
t
t
t
t
t
t
t
t
j
t
t
j
t
t
i
i
j
i
j
i
...
1
...
1
,
1
...
1
...
1
...
1
...
1
,
1
...
1
...
1
...
1
/
...
1
...
1
/
...
1
...
1
...
1
,
,
,
,
1
,
1
,
,
,
,
,
1
,
,
1
,
,
,
,
1
,
1
,
,
,
1
,
,
1
,
,
,
0
,
,
,
0



































Бағдарлама тексті тӛменде келтірілген. Ондағы жолдардың нӛмірленуі 
тілдің міндетті элементі болып табылмайды, ол тек операторлардың 
мағынасын кезекті түсіндіру үшін ғана пайдаланылған. 

MAIN PART Gauss. 

BEGIN 

INDEX k,l. 

ks : (k=1..n). 

ls : (l=1..n). 

kls : (ks; ls). 

VARIABLE a DEFINED ON kls. 

VARIABLE b, x DEFINED ON ks. 

INPUT a (FILE=‟gauss‟) ON kls, 
10 
b(FILE=‟gauss‟) ON ks. 
11 
DOMAIN PARAMETERS n=4. 
12 
COMPUTE Calculate(a ON kls, b ON ks RESULT x ON ks). 
13 
OUTPUT x(FILE=‟gauss.out‟,TAB(10),‟Решение:‟,STR(1)) ON ks. 
14 
END PART. 
15 
PART Calculate. 


206 
16 
a,b RESULT x 
! Раздел вычислений 
17 
BEGIN 
18 
INDEX I,j 
19 
so:(ijs: is: (i=1..n); js: (j=1..n));ts: (t=0..n)). 
20 
slo: ts;is). s:so/ts-LEFT(1). Sl:slo/t=1..n. 
21 
VARIABLE a DEFINED ON ijs. 
22 
VARIABLE b, x DEFINED ON is. 
23 
VARIABLE m DEFINED ON so. 
24 
VARIABLE r DEFINED ON slo. 
25 
DOMAIN PARAMETERS n=4. 
26 
DISTRIBUTION INDEX i=2..8, j=1. 
27 
FOR so/t=0 ASSUME m=a. 
28 
FOR slo/t=0 ASSUME r=b. 
29 
sa,sb:s/i=t. sal,sbl:sl/i=t. 
30 
MACRO INDEX ti [t-1,i=t]. 
31 
MACRO INDEX tij [ti,j=t]. 
32 
FOR sa ASSUME m=m[ti]/m[tij]. 
33 
FOR sal ASSUME r=r[ti]/m[tij]. 
34 
FOR sb ASSUME m=m[t-1]-m[t-1,j=t] * m[i=t]. 
35 
FOR sbl ASSUME r=r[t-1]-m[t-1,j=t] * r[i=t]. 
36 
FOR is ASSUME x = r[t=n]. 
37 
END PART 
Бағдарлама операторларына түсініктеме берейік. Тӛменде 
пайдаланылған нӛмірлер бағдарлама жолдарының нӛмірлеріне сәйкес келеді. 
(1) 
Gauss
бағдарламасының басты бӛлімінің тақырыбы. 
(2) 
Басты бӛлімнің басталуы. 
(3) 
Облыстардың индекстерін сипаттау. 
(4-6) 
Есептің бастапқы деректері анықталған is, js бірӛлшемді 
облыстары және ijs кӛпӛлшемді облысын анықтау.
(7-8) 
a, b, 
және x айнымалыларын сипаттау, мұндағы a – жүйе 
коэффициенттерінің матрицасы, b – бос мүшелер бағаны, x - 
жүйені шешу нәтижесі. 
(9-10) 
gauss.dat файлынан бастапқы деректерді енгізу. 
(11) 
Облыстар параметрін беру. 
(12) 
Есептеу жүргізетін 
Calculate 
бӛлімін шақыру. 
(13) 
gauss.out файлына нәтижені шығару. 
(14) 
Басты бӛлімнің соңы. 
(15) 
Calculate 
бӛлімінің тақырыбы. 
(16) 
Бӛлімнің (a, b) кіріс және (х) шығыс параметрлерін белгілеу. 
(17) 
Жәй бӛлімнің басталуы. 
(18) 
Облыстардың индекстерін сипаттау. 
(19) 
ts 
және ijs облыстарынан тұратын кӛпӛлшемді so облысын 
анықтау. Ӛз кезегінде ijs облысы is және js облыстарынан 
тұрады. 


207 
(20) 
Облысты модификациялау операциялары кӛмегімен s, s1 
облыстары және slo шартсыз облысы анықталады. 
(21-22) 
Бӛлім параметрлері болып табылатын айнымалыларды сипаттау. 
(23-24) 
m және r айнымалыларын сипаттау. 
(25) 
Облыстар ӛлшемдерін беру. 
(26) 
Таратылу индекстерін сипаттау. 
(27-28) 
m және r айнымалыларының бастапқы мәндерін беру. 
(29) 
Қосымша шартты sa,sb,sal,sbl облыстарын сипаттау. 
(30-31) 
Индекстік 
конструкцияларды 
сипаттау. 
Индекстік 
конструкциялар күрделі индекстік ӛрнектердің жазылуын 
қысқарту үшін қолданылады. 
(32-36) 
Сәйкес есептеу формулалары үшін есептеулер. 
(37) 
Бӛлімнің соңы. 


Достарыңызбен бөлісу:
1   ...   113   114   115   116   117   118   119   120   121




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет