книги из ГПНТБ / Гемст В.К. Процедуры АЛГОЛ-60 в примерах [практикум]
.pdf+?,о». +8t0'i...
+9,0.
ввявсдвяий, , получениве-■ьа^'узкой- печати, +1000000 +01;!
+4000000 +GI,
+6999999 +0ГГ
+2000000,+61.:
+5000000.+01, +6000000' ‘+0Г
соответствуют?; озшдаешнч-
2.3..I4. Транспонирование прямоугольной матрицы Произвести транспонирование прямоугольной матрицы А.
+1 |
+2 |
+3 |
-4 |
-5 |
~6 |
Решение. Исходная программа:
- 01-
ТРАНСЛЯТОР МЭЙ-8
‘BEGM*
’Procedure *TRAi49P0:iATi0f<2(A,NtM ,а т );,
*VAiiUE *n ,m «, |
, |
’i.4Te q e r ‘n ,m .,
‘ARRAY’A,AT.,
‘BEGIrt*
‘reali'w .,
‘iMTEGER’l.Ki,
*roR‘is»i*sTEP V u n t i u V do “ f o r ‘Kt«i‘step *1 *ити;м,too
’AT(/K,1/):-a (/I,K/)
’EMD‘TRAUSP0HATI0N2.,
91
TESTBOOCK: |
• |
‘BEGIN’ |
|
*I,"TEGEk *H,M., INPUT(1,N,M)., ‘BEGIN' .
'AkRAY*A(/i:Nfl:M/) ,AT(/i:Mtl:N/) MPUT(i.A).,
TkANKP0HATI0N2(A,N,M ,AT).,
OUTPUT (3,*(E‘),AT)
’end'
‘end’testblock
‘END'PkOGRAMM.,
Массив исходных данных:
+2.
+3.
+1 ,0.
+ 2 , 0 .
+3,0. -4,0.
-5,0.
- 6 , 0.
Результаты вычислений, полученные на узкой печати
+ICOOOOO +01
. -4000000 +01
+2000000 +01
-5000000 +01
+3000000 +01 -6000000 +01
соответствуют ожидаемым.
92
2.3.15, Обращение матрицы методом ГауссаЖордана (первый вариант)
Произвести обращение квадратной матрицы А.
+1 |
+2 |
+3 |
+ z |
+4 |
+5 |
+3 |
+5 |
+6 |
Решение. .Исходна? .программа:
-01-.
т р а н с л я т о р мэи-г
BEGIH
'РНОСЕJURE ’INVEКТБ8( Н.BPS) НАТ^адаиьТ:(A)BESUbT s( Ш ).
"VAbUE *;(,ЕРУ., |
|
|
’НЕАь 'EP.J.DET., |
|
|
'iHTEGEK'il., |
. |
|
’a r r a y ’а ., |
|
|
'BEG! |
|
|
’REAb’Y.W., |
|
|
’IMTEGEk ’I,J,K,R,P., |
! |
|
'ARRAY *B,C(/1 :il/)., |
i |
|
! |
||
*INTEGER *'ARRAY *2(/l s l/)., JET :»1.0.,
’E0r ’J:»1*STEP’1'U lTlp';j*J0'2(/J/) :»J., 'f o r 'Is=i*STFP 'l’UJTIu'M* JO '
'BEGI,Г
к:®1-1., F :«1-ь1..
TfOB*J J»p*STEP*i’UNTIL *N*D0*
•begin’'
W:*a (/M/).,
•fr*ABS (W)*GT*ABS(y):THEN* ’b e g i n * "
Yl“W
’END*-
.’END*.,
DET:-YXDET.,
‘lF*'!0“/I*ThEN'DET:»-DET.,
*i p *abs (Y)'l t 'eps *t b e n :s t o p (7).,
Vl-i/Y., -
or*j;■i*step*i'until*n *do'
■BEGIN*'
C(/j/)*»A(/J,K/)i,
A(/J
a (/j ,i/J>-c (/j/)Iy .,
B(/J/)j-A(/I,J/):-A(/I,J/)iy 'END*.,
*>!»Z(/I/).,
Zf/I/) j*2(/K/),,
2(/K/JY*J., -
A(/I,i/) i=Yi,
*POR*K 1-TsTEP' i'UNTlL'R.P'STEPi' i'UNTIL'*N?D(>T IPORtj j
-i'STEf>'*i*0NTIL*R,P'sTEP'l'UNTIL'N*DO'A(/K,j/Ji-A{/fC »^/)“B(/J/)XC(/k/)
’FOK'Rj-i'STEP'l'UNTIbVDO?
'beg in"
Ks-Zt/R/),,
'f o r 'Jj»R'while 'iw/j 'd o *
’begin"
'FOR* IJ"l'STEP’l’{JNTIb’N*DO
’BEGIN"
W S-A(/j,I/)f,
Af/J,i/) :“A(/K,I/);,
A(/K,I/J:-W
’e n d ’i ., Is-Z(/K/)i,
к j*z(/5/) j»i
*ENi)"j |
|
~ № - |
j |
'END'S |
■ j |
’END'iNVEkTca*., |
; |
"ESTBLOCKi |
j |
’BEGIN* " |
! . |
’INTEGER*N., |
• |
’REAb’EPN.DET., |
|
INPtJT(1;N,EPS). , |
* .• |
’ B E G IN ’ |
|
*AekA¥*A(/ilM*ll:N/)., '
|
|
шита ,*) . , ~ - |
i |
|
lHVGM68(N,EPStA,I)ET)., |
| . |
• |
OUTPOT(3,*(E*),DET,Ajf |
|
|
lE.'iD’ |
Te m o ’testblock tENB’PKOORAMMi,
Массив исходных данных:
+3.
+1000000 46,
+1 ,0.
+2,0.
+3,0.
+2 ,0.
+4,0.
+5,0.
+3,0.
+5,0.
+ 6 , 0 .
Результаты вычислений, полученные на узкой печати
-9999999 +00
|
|
+1000000 |
+01 |
1 |
|
-3000000 |
+01 |
' |
+2000000 +01 |
||
-3000000 +GI
'; +3000000 +01
-1000000 +01
+2000000 +01
-1000000 +01
+0000000 +00
ооответотвуют ожидаемым.
96
2.3.16, Обращение матрицы методом Гаусса - Жордана (второй вариант)
Обратить |
матрицу |
01 |
и найти ее определитель |
|
|
|
I |
2 |
3 |
|
|
2 |
к |
5 |
|
|
3 |
5 |
6 |
если epS |
= 0,1 10“^. |
|
|
|
Решение. Исходная |
программа: |
|
||
-01-
ТРАНСЛЯТОР МЭИ-3
'BEGИ '
'HEAo’EPS.JET,,
'INTEGER':!.,
'ARkAY '/(/1:3,1:3/).,
'PROCEDURE 'l.!VEHSI0:|(4,EPa,SIG;iAL,)l)ATERESULT:(A)RESUuT:(i)E T).,
"vajje ’!,EP. ., 'rEAu *EPR,J£T., 1ilTEGEii ,'J.,
'a r r a y 'a ,, UABEli SIGJAij.,
’ BEGI.4'
ivEAlj Y ,и,,
'iRTEGEk'l.J.K.k.P.,
'ARRAY'В ,С ( /1 : П / ) . ,
'L'!TE«EK''ARRAY'£(/l:;J/).,
PET:» 1.0.,
‘fOk'j :=i‘tiTEP'l'lKfTIb’n '0O*2(/J/) j®Jt,
97
'f'OK’li-i'STEP ’l'UNTIb V d o * ’BEGIm"
yV»A(/I,I/).,
'FOh ’j :=P ’STEP Vu:(TIi/:j'JO' 'begi Г
'IF \A!3„(V/) ‘GT 'ABE(Y) *ТЬЕ,ч; 'begi i’
it
Y:=>W
'Eli)'*
'E.fO’j., '
DETs-YXOET.,
IF AB..(Y) ^t ’e p g 'т н е ,ч ’’g o t o 'sig.ja
Y:M.C/y .,
'FOK *J :»i ’ВТЕР ’i*U:JTIb ViX) ’ ’BEGI i’
A(/J,s7):=A(/j,i/),r .
A(/J,I/):— C(/j/)x y .,
:=A(/I ,J/) :°A(/Itj/)XY
A(/I,I/>:-Y., “ s'-C/I/).,
2(/I/):»Z(/K/);,
Z(/K/j:-J4,
'FOR*Kj«l'STEP'i’UNTlL'R,P'STEP'l'ONTILt’K'DOi'.tPOfil*Jt -1*step" i’until *r,p 'step’1’until’.4?DO’A(/K,j/} s“A{/K
,J/)-B(/J/)XC(/K/)
'END'I.’,
'ГОК'I:»i"STEP*i'UNTIL'M'DO’REPEATs
'BEGIN"
K;»Z(/1/).,
’IF'K“I'thE.."GOTO*UEXTI., 'FOR'J:=i’STEP'i'UHTIL'N'DO’ ’BEGIN’’
uj-A(/I,J/).,
A(/li,J/)V=', 'ENB'J., "" Ps-Z(/I/).,
-02-
Z(/I/):-Z(/K/).t Z(/K/)l-P.,
B ETJET . , . 'GOTO'REPEAT., NEXTI:
'END'I
'END'INVERSION.,
INPUT(1,if,EPS,A).,
INVERSION(N,EPS,’SIGNAL,A,DET).,
99
OUTPUT(3, *(£ ’),OET,A)., |
|
|
’GOTO'U, |
|
|
SlG'lAbsOUTPUT(4, ’ (T ’ ) ,'(THI |
:BIS :BA гВЬАВЕь :BSIGHAb’)),, |
|
ь: |
|
|
Массив |
исходных данных: |
|
|
+3. |
|
|
+1000000 |
46. |
|
+1000000 |
01. |
|
+200С000 01. |
|
|
+3000000 |
01. |
|
+2000000 |
01i |
|
+4000G00 |
01. |
|
+5000000 |
01. |
|
+3000000' 01. |
|
|
+5000000 |
01. |
|
+60С0000 |
01. |
Результаты вычислении, полученные на узкой печати, |
||
* |
-I000000 +01 |
|
+9999998 +00 -2999999 +01 +1999999 +01 -2999999 +01 +2999999 +01 -9999999 +00 +1999999 +01 -9999999 +00 -3725290 -08
соответствуют действительным с отклонениями, не превышающими
0,2 Ю ~ 7.
‘ \
100
