книги из ГПНТБ / Гемст В.К. Процедуры АЛГОЛ-60 в примерах [практикум]
.pdf2.3,17. Транспонирование квадратной матрицы с комплексными элементами
Транспонировать матрицу
I |
|
3 |
i L |
5 |
jG |
7 |
— |
T |
Решение. Исходная программа:
-01-
ТРАНСЛSTOP МЭИ-3
'BEQIK'
'PROCEDURE ’TKAi(SPCOMPb(A, !*)•> •VALUE*:*.,
'ARRAY'А.,
’iktegekX ,
"BEGIi**
*AleftAY*VV(/1 г2/).,
'integer *i,k.,
*fOR ’1:“1*БТЕР 'l ’UilTlL’H ’OO* 'F0R*K;°1+I*STEP 4'UUTIL*M’
DO’ |
I |
■ |
' |
’ |
’BEGIi*’ |
; |
|
|
|
V(/l/):-A(/I,K,l/).,; |
|
|
|
|
A(/I,K,1/);=A(/K,I,1;/)., |
|
, |
|
|
A(/i-,I,l/) :eVi(/l/)., |
|
|
|
|
Vi(/2/):“A(/l,K,2/). ,■ |
|
|
|
|
A(/IfKf2/):»A(/K,I,2/)., |
|
|
|
|
A (/К,1,2/):°V((/2/) |
|
|
|
|
’E:U’ ‘ |
|
|
|
|
’E '.D'TRA (fJPCOKFb., |
|
|
|
. |
IOI
TESTBi.OCK:
’b e g i n *
’i n t e g e r ’n ;, INPOT(l.N)., ’b e g i n ’
'ARRAY *A(/1|N,1:N, 1:2/)
INPDT(I.A).,..........
TRANSPCOMPL(A.N)., 00TPUT(8,’(E‘),A)
’e n d ’
'END’TE3TBL,OCK
’ENB’PflOGRAMMi,
Массив исходных данных;
t .
+1,0.
+0,0.
+0,0.
+2,0.
+3,0.
+ 0 ,0 ,
+0 ,0 .
+4,0.
+5,0.
+0 ,0 . +0 ,0 .
+6,0.
+7,0.
+0,0.
+0,0,
+8,0.
+9,0. +0,0.
•Результат вычислений, полученный на узкой печати, +1000000 +01
+0000000 +00
+0000000 +00
+4000000 +01
+6999999 +01
+0000000 +00
+0000GU0 +00 +2000000+01
+5000000 +01 .
+ 0000000+00
+0000000 +00
+80000С0 +01
+3000000 +01
+0000000 +00
+0000000 +00
+6000000 +01
+8999999 +01
+0000000 +00
соответствует ожидаемому.
2,3.18. Транспонирование п р я моугол ьной матриц с комплексными элементами
Произвести транспонирование матрицы
. I |
^ |
3 ~ У 2 |
|
I |
|
2 |
Я |
т |
~ - ~ р г |
|
|
|
|
Решение. Исходная программа:
-01-
ТРАНСЛЯТОР МЭИ-3
'b e g i h '
'PROCEDURE ’TRANS’C0MPL2(A,N,M ,AT)., 'VALOE’N.H.,.
'i n t e g e r'n .m ., 'ARRAY’А ,АТ<:, 'BEGIN'
'INTEGER
'FOR 'i:*1 'STEP ’i*UNTIL*N 'DO? "FOR'К:®!'STEP 'lTONTIUlM'OO
’b e g i n '
AT(/K,I,l/)s-A(/I,K,i/)i,
AT(/R,I,R/) V*A(/I,K,2/5
'END'
'END'TRANS’COMP L2i,
TESTBLOCKt
'BEGIN*
'iNTEGEk'N.Mi, lNPUT(l,N,M)., ‘BEGIN*
*ARRAY*A(/i!N,isM,lse/),AT(/i:M,liN,1:2/).,
lNPtJT(l,A)i', ‘ .................
TRAN3>C0MPL2(A,N,M,AT);,
OUTPUT (8,*(E'),AT)
'END*
'END'TBSTBLOTC
'IMP'PROGRAMM;,
Маосив исходных данных:
+2. +3.
104
+1,0.
+4,0.
+3,0. -2,0. +1,0. +0,0. +2,0. +0,0. +0,0. +2,0.
+3,0. . -4,С.
Результаты вычислений, полученные на узкой печати, +1000000 +01 +4000000 +01
+2000000 +01
+0000000 +00.
+3C0C000 +01 -2000000 +01
+0000000 +00
+2000000 +01
+1000000 +01
+0000000 +00
+3000000 +01 -4000000 +01
соответствуют ожидаемый.
2.3.19. Умножение двухмерной матрицы с действи тельными элементами на одномерную натгину с комплек
сными элементами Произвести умножение матрицы А на матрицу В.
105
4 |
0 |
. I |
I |
0 |
3 |
I |
в = г |
4- |
2 |
I |
Т Т р Т Т |
Решение. Исходная |
программа: |
|
-01-
ТРАНСЛЯТОР МЭИ-S
'BEG1H'
'PROCEDURE *MATMUCi(A,B,N,M,C)», *VALUE *NtM.,
'array 'a ,b ,c ., 'INTEGER 'BEGIN*
'i n t e q e r'i ,J,, ’FOR*Is-l'STEP *1'UNTIL'N*DO* 'begin’
C(/I,1/)j-C(/I,2/)j-0.0.,
'e o r 'j :«i'step *1 'u n t i l 'm 'd o '
'beg in’
C(/I,1/)i-C(/I,1/)+A(/I,J/)IB(/J,1/);,
С(/1,е/):-с(/1,2/)^А(/1,1/)ХВ(/1»2/)
'END'
'END*
'e n d 'm a t m u c t .,
TESTBLOCK:
'b e g i n ' "
*1NTEGER'N,M. ,
INPUT(1,N,M);;,
BEGII "
'AiiftAY'/.(/1:4,1 :М/),B,C(/1:M,1:2/),, I;fPUT(l,A,B)., ' '
MATMUCi(A,В,:t,MFC).,
OUTPUT(S,'(E*),C) *e u o *
'Eyi/TEiiTBuOCK
’ErtO'PKOGHAMM.,
Массив исходных данных:
+3;
+3.
+*f,0.
+0,0.
+1,0.
+0,0.
+3,0.
+1,0. +A .0:. +2,0v +1,0.
+1,0.
+0,0.
+2,0,
+0,0. T-'t,0. +2,1.
Результаты вычислений, полученные на узкой печати, +8000000 +01 +2099999 +01
+1000000 +02
+2099999 +01
107
+1200000 +02
+2099999 +01
соответствуют ожидаемым.
2.3.20, |
|
Произведение двухмерной матрицы • |
|||
с действите~ьными элементами ;.а двухмерную матрицу |
|||||
|
|
с комплексными элементами |
|
|
|
Произвести перемножение матриц А и В. |
|
|
|||
k |
0 |
I |
|
0 |
Я |
0 |
3 |
I |
В = |
I |
~ r |
4 |
2 |
I |
4 |
|
0 |
Решение. |
Исходная |
программа: |
|
|
-01-
ТРАНСЛЯТОР МЭИ-3
’b e g i n ’
'PROcrDURE 'МАТМ0С2(А,В,N,М,R,С):,
"VALUE’m .M.R.,
’i n t e g e r ’n .m .r ;,
’ARRAY’А,В,С.,
’b e g i n ’
’InTEGER’I,J,K.,
’FOR’I |
1’STEP’1’UNTIL’M ’DO ” rOR’j |
1’STEPTi TONTIL'IR-Г00 |
|
Ф |
t- |
|
. |
’BEGIN’
c(/i,j,i/):-c(/i,j,e/)s-o.Oi,
'FOR *Ki-1’STEP ’1’UNTIL’H’DO’ ’be g i n’
C(/IfJ,l/) :«C(/I,J,l/)+A(/I,K/)IB(/K,J,l/)i,
108
C(/I,J,2/rs-C(/I,J,2/j+A(/I,K/jXB(/M.»/J 'END* " '
’END’
'END'MATMUCai,
TESTBLOCKt
’BEGIN’
'INTEGER*N»M,Ki,
INPUT(i,N,MtR);,
•b e g i n *
'ARRAY*A(/i:N,i:M/),B(/i:N,i:8fi:2/),C(/ltN,i:R,l»2/
•- ........ ' ........
iNPUT(ltA,B).,
MATMUC2(A,В,N,M,R,C)i,
ODTFUT(B,*(E'),C) " ’
"END* |
|
•END’TESTBLOCK |
|
'END’PROGRAHMi, |
j |
|
|
Массив исходных данных:: |
| |
|
+3j |
+3 ; +2.;
+4,0..
+0,0, +1,0). +0,0» +з,оо
-i,o. +4,0. \ +2,0. +1,0.
109
+0,0.
+0,0.
+0,0,
+2,0.
.•1,0.
+0,0,
+1,0.
+0,0,
+4,0.
+3,0, +о,о. +0,0.
Результаты вычислений, полученные на узкой печати, +4000000 +01 +3000000 +01
+0000000 +00
+8000000 +01
+6999999 +01
+3000000 +01
+3000000 +01
+0000000 +00
+6000000 +01
+3000000 +01
+2000000 +01
+8000000 +01
соответствуют ожидаемым.
2.3.21.Произведение двухмерной матрицы
окомплексными элементами на двухмерную матрицу с действительными элементами
Произвести перемножение матриц Л и В.
Н О