Файл: Гемст В.К. Процедуры АЛГОЛ-60 в примерах [практикум].pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 27.07.2024
Просмотров: 109
Скачиваний: 2
|
2*2.4, Решение |
системы линейных алгебраических |
|||||
|
|
уравнений |
методом крашений |
|
|||
Решить систему линейных алгебраических уравнений |
|||||||
х1 |
+ |
0,1?-х2- 0,25-хЗ |
+ 0,54-х4 |
* 0,3 |
з; |
||
0,4?-х1 |
+ |
х2+ 0,67*хЗ |
- 0,32’Х4 |
= 0,5 |
|||
4? |
|||||||
O.IbxI |
+ |
0.35-Х2+ 0,1 •хЗ |
+ 0.74-Х4 |
= 0,7 |
2} |
||
0,55-х1 |
+ |
0,43-х2+ 0,36-х3 |
+ 0,1 •х4 |
* 0,9 |
|||
1C. |
|||||||
Решение/ Исходная программа: |
' |
|
|||||
_ |
|
_01_ |
|
|
|
ТРАНСЛЯТОР МЭИ-8
'BEGIN’
’PROCEDURE’V(A,B,N,M),,
’value
’array’a .b .,
’INTEGER*N,M.,
’BEGIN’
’integer ’i ,
’REAb'Rl,R2,R8,R4.,
’for 'k :«i ’st ep ’i ' until * n-i *00’ ’for’i ;»k+i ’st ep ’i ’ontiu'
n ’d o ’
’b e g i n ’
R8 :"SQRT (A(/K,K/)XX2+A(/I,K/)XI2)., ’IF ’RS”0"THEN’’GOTO’lii., R2:-A(/I,K/)/RS,,
R4:-A(/K,K/)/RS.,
’FOR’Ji-K’STEP’I‘UNTIL *N’1)0’ ’b e g i n ’
R8s-A(/I,J/)XR2.,
A(/I,J/):-A(/I,J/)XR4-A(/K,J/)XR2.,
41
a (/k ,j /):«R3+a (/k ,j /)x r 4
*EMD\,
'POR *J :•1 ’ STEP' 1 ’UNTIL ’M*DO*
’begin'
R3:«B(/J,I/)IR2,, B(/j,l/):-B(/J,I/)XR4-B(/J,K/)XR2., B(/JtK/):-R8+B(/J,K/)XK4
’END’ .,
Ml:
’end’ .,
’FOR*Jt-l’ STEP’ l ’UNTIL'M’DC ” FOR’ r:-M*STEP*-i'ONTlL?i’
O’
’BEGIN*
RR:-0., ’F0R’Ki-N*STEP'-i*Ur<m'l+i’D0’R2:“R2+B(/J,K/)XA(/I
К/).,
B(/J,I/)i»(B(/J,I/)-RP)/A(/l,I/) ’END*
’END'V.,
ТЕВТBLOCK: ’BEGIN’
’integer’ n.m.,
INPUT(1,N,M).,
’ begin'
’ARRAY *A(/i:N,i:N/),B(/l:M,l:N/)., INPUT(1,A,B),,
00ТР0Т(3,’ (Г),М,М).,
42
00TPUT(3,-(E*),A,B).,
V(A,B,N,M),,
0UTP0T(3,*(E*),B)
'e m u ’
*Ei№'ТЕВТBLOCK
’e n d 'p r o g r a m m .,
Массив исходных данных:
+4.
+ 2 .
+IOOOOOO 01. +1700000 00. -2500000 00. +5400000 00. +4700000 00. +1000000 01. +6700000 00. -3200000 00. -II00000 00. +3500000 00.
+1000000 or.
+7400000 00.
+5500000 00.
+4300000 00,
+3600000 00. +IOOOCOO 01.
+3000000 00. +3000000 01. +5000000 00. +4000000 01. +7000000 00.
+2000000 01.
+9000000 00.
+1000000 02.
Результаты вычислений, полученные на узкой печати, как в первом случае правых частей
-7059397 +01 +1393651 +02 -8932510 +01 +5105671 +01
так и во втором случае правых чаете;'! -1870568 +02 +3134585 +02 -2340190 +02 +1523409 +02
соответствуют действительным с достаточной точностью.
2.2.5. Решение системы линейных алгебраически уравнений методом ортогонализации
Решить систему линейных алгебраических уравнений
4-х1 + 5-х2 - З-хЗ = -I,
7-х1 + 9-х2 - 4-х* = -I,
х1 + 2-х2 + 2-хЗ = -I
точным и приближенными методами. 'Решение. Исходная программа:
- 01-
ТРАНСЛЯТОР МЭИ-5
'BEGIN*
’ INTEGER'N,о.. ’B00LEAN'PI2, f 'ARRAY*A(/1:4,1:4/)., 'PROCEDURE'0R(A,N,PIS)., 'VALUE *N,PI2.,
'array' a.,
'integer'»..
44
’BOOLEAN'PIS.,
'BEGIN'
’INTFGER’I,J,K.,
'REAL’R.,
'BOOLEAN’S.,
'FOR 'j:<*1'STEP 'i'ONTIL'N'BO’A(/N+l,J/)j"0.,
A(/N+i, N+l/) :•!.,
'FOR'l :-i'STEP'i'UNTIL' И и ’DO’ 'BEGIN’
s:-Pie.,
P: 'FOR'K:»i’STEP"i "UNTIL'I ’DO*
'BEGIN'
Rs-O.,
*FOR'j :*l’STEP’i’UNTlL*N+i’DO*Rt»R+A(/I,J/)XA(/K, J/).,
’IF’К-1’THEN''GOTO’Q;,
*FOR ’J!"1 'STEP 'i'UNTIL’N+I’IK)'A(/I,J/)i“A(/I,J/)_
RXA(/K,J/)., |
| |
'e n d '., |
; |
|
» |
Q:'IF’s ’THEN’ |
l |
’BEGIN’ |
^ |
|
/ ' |
S:»'FALSE'., |
. | |
'GOTO'P |
j |
'END'., • |
- |
R:-'IF 'I’LE ’n ’THEN’lQRT(R) 'ELSE’-A(/N+i,N+l/)., .
'FOR’.’;-i’STFP'i'UNTIL'N+i'DO'A(/I,J/)^A(/I,J/)/R
'EuD*
45
'MD\,
INPUT(i,A).,
Ok(A,S, ’TRUE*).,
’POK'Li!"i* STEP 'i'UNTIL*3 ’DO 'OUTPUT(3, '(Е*),А(/Ч,Ь/)).,
0K(A,8, 'FALSE').,
*FOft*bl-l*STBP‘i ' O N m ’8*DO'OOTPOT(3,'(E'),A(/4,b/)) 'e n d '
Массив исходных данных; +4000000 01.
+5000000 01. -3000000 01. -1000000 01. +7000GDO 01. +9000000 01. -4000000 01. -1000000 01. +1000000 01. +2000000 01.
+2000000 01.
-IOOOOGO 01.
+0000000 00.
+OOOOOCO 00.
+0000000 00.
+1000000 01.
Результаты-вычислений, полученные на узкой печати, в случае "точного" решения
+1700000 +02 -1200000 г02 +3000000 +01
совпадают с точным решением и приближенное решение
+1699997 +02 -II99998 +02 +29999% +01
несколько отличается от точного решения.
46
2,2.6, Решение системы линейных алгебраическ уравнений с ленточной матрицей
Решить систему линейных алгебраических уравнений
Of х = Ь »
если |
|
|
|
|
|
|
|
|
i |
2 |
O ’ |
0 |
0 |
|
|
|
3 |
A |
5 |
0 |
0 |
|
16 |
О « |
0 |
7 |
8 |
9 |
0 |
б |
П |
|
0 |
0 |
2 |
6 |
3 |
щ |
|
|
0 • 0 ; 0 . A |
5 |
|
i S |
|||
|
|
|
|
|
__i |
||
(Решение. |
Ленточная |
часть |
матрицы |
|
|||
|
|
0 |
i |
2 |
|
ltd |
|
о = |
|
3 |
A |
5 |
|
* '5 |
|
|
7 |
8 |
9 |
|
im |
|
|
|
|
2 |
6 |
3 |
|
* 3 |
|
|
|
a ; 3 , q |
|
|
|
||
|
Г___t ..A |
|
|
|
|
||
Исходная программа! |
|
|
|
|
|||
|
|
- 01- |
|
|
|
|
|
|
|
ТРАНСЛЯТОР МЭИ-3I |
|
||||
’BEGIN’ |
|
|
|
|
|
! |
|
’PROCEDURE *В/ SD30LVE(C#M,M)DATARESULT:(V) 1, |
|||||||
Ч'АЬОЕ’М * . |
|
|
|
'j |
|
||
’m E G E R ’M ; , |
|
|
|
• |
|
||
’abbay’ c ,v,, |
|
|
|
|
|
||
•BEGIN’ |
|
|
|
|
|
|
|
’REAb’T.* |
|
|
|
* |
|
* m E G E B ’l,J,JM,bB,PIV,Bi,
bR:»Diy(M*i,2):f
*Р0В’В!"1 ’STEP *i*OHTH,’UB-l’BO’*EOB*I t»i *STEP Tl’OHTIbJL
B-B’DO’ |
, |
• |
|
■ ! |
A? |
’ВЕ$1Н’
*m ’jx>»2’STEP’i,UUTIL’M*0O’C(/R,J-l/):»C(/R,;r/);,
с(/й,м/) x-C(/N+i-R,H+i-I/) {-о
’END*;,
‘fOR*Iх»!.’STEP ‘i‘UNTIL *N”i*DO"
‘beg in*
PIVs-Ii,
‘f o r ‘r х*i+i‘s t e p ’t’until *LR*DO ’’IP *ABS(C(/K,i/))?GT ABS(C(/PIV,l/))‘THEN’PIVx-R.,
‘If‘PIV«/I*THEn ‘
’BEGIN’
T:-V(/I/)i, Vt/I/)x-V(/PIV/)i, v (/p i v /> *-t ;
*?OR’ix-l’STEP’i’UHTiL'M’DO' ’be g i n'*
T:-C(/I,J/);,
cf/i,j/)s-c(/pjv,j/):,
c(/piv,i/) x-T
’e n d ’j
‘e n d ’;, v(/i/)i»v(/i/)/c(/i,i/);,
'POR’J t*e*STEP'*i*ONTIL*M *DO’C(/I,J/) :*>C(/I,J/)/C(/I
t/)i* |
‘ |
’p 6r ‘rx*I+i ‘s t e p *i 'u n t i l ‘l r ’d o ’
’BEGIN"*
Tl*C(/R,l/) ,,
V(/R/)fT(/R/)-TIV(/I/);,
*r0H*j:-2,sTE;p*i'’0i(TiL’M 'B 0 * c (/ B ,j-i/):-c (/a fa /)-
TXC(/I,J/).,
C(/R,M/):-0
'ЕНОХ,
*IP*LR»/N’THEN’LR:"LR+i
*e n b ' . , |
. |
V(/K/)t-V(/N/)/C(/H,i/).,
JM:-2.,
'FOK"R:“!i-i'SiEP *-i’UNTIL’l’DO*
’b e g i n ’
’f o r ’j :•2’s t e p ’i ’until ’j m ’do’v (/R/) X-V(/R/)~C(/M/>
XV(/R-i+J/).*
'lF’jt+>/K’ThEN*JMx-JM+l
' e n d *
’e n d ’ban dsolve.,
ТЕ LTBLOCK:
’BEGIN*
’i n t e g e k 'n .m .,
INPUT(t,N,M)»f
’b e g i n ’
’ARRAY’V(/l;N/),C(/ixN,i;M/).,
INPUT(1,V,C).,
BANDLOLVE(C,N,H,V ).,
- 02-
OUTPUT(S,’(E’),V)
’END*
'END’TELTBLOCK
’END'PROGRAM.,
49