Файл: Гемст В.К. Процедуры АЛГОЛ-60 в примерах [практикум].pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 27.07.2024

Просмотров: 119

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

+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.Произведение двухмерной матрицы

окомплексными элементами на двухмерную матрицу с действительными элементами

Произвести перемножение матриц Л и В.

Н О


I +

j 2

0

n r

0

t

X

1 1 ___

I

0 ;

В = i

0

44 +

4 21

2

 

0

i

Решение. Исходная программа:

-01-

ТРАВСЛЯТОР МЭИ-3

'BEGIN*

'PROCEDURE'MATM0C3(A,B,M,M,R,С);,

'VAbUE'H.M.R;,

*INTEGER*N,M,K.,

'ARRAY *A,B,C.t

'BEGIN'

*lNTEGER*I,J,K.,

'FOR *1:-l*STEP 'l’UNTIL *M'DO’'FOR 'jl-l!STEP *1ТОНТЩТ*,} DO

'BEGIN*

C(/IfJ tl/)s-C(/I,jts/):-o.Oi,

'FOR*K:»1 'STEP'l'UNTiii'N *D0 *

'BEGIN' !

c(/i,j,i/):»c(/i,j,i/)+A(/i,K,i/)iB(/Ktj/);,

C(/ItJ,8/j':"C(/I,J,2/)+A(/I,K,2/JlB(/K,j/J

'END* — '

'END'

*END'MATMUC3i, •-

TESTBLOCK:

'BEGIN' '•

* INTEGER’ N,M,Ri,

III

INPUT(i,M,M,R)‘i,

'BBdlN*

>WUY:A(/l:Mfi,M.i,B/)fB(/i:Nti;B/),C(/irtiiieilljl

)i.

-

- -

- -

iNPUT(i,A ,B).t MATMUC3(A,B,N,M,R,C)i, OUTPOT(3, ’(E*),C) '

■BNA* - - ’B W ’TESfBLOCK

■BND’I>RO0RAMH;,

Массив

исходных данных:

 

+3.

 

+3.

 

+2.

 

+1,0.

 

+2,0.

 

+0,0.

 

+0,0.

 

+1,0.

 

+0,0.

 

+0,0.

 

+1,0.

 

+1,0.

 

+0,0.

 

+0,0.

 

+0,0,

 

+44,0.

о

+21,0.

'

+2 ,0.

 

+ 0, 0.

 

+ 0 ,0 ,

112

.


+2,0.

+0,0.

+1,0.

+1,0.

+0,0.

+0,0. +3,0,

Результаты вычислений, полученные на узкой печати, +0000000 +0ъ

+0000000 +00

+4000000 +01

+2000000 +01

+1000000 +01

+0000000 +00

+0000000 +00

+ICD0000 +0J

+2000000 +01

+0000000 +00 .

+4400000 +02

+2700000 +02

соответствуют ожидаемым.

2.3,22. Произведение двухмерной матрицы

скомплексными элементами на одномерную также

скомплексными элементами

Произвести перемножение двух матриц А и В.

) 2

I +

j

I

I

 

 

) 2

0

 

 

 

I +

f I

В =

I

2

Т +

j

 

 

T T j T

4

I

 

 

Решение. Исходная программа:

-01-

ТРАНСЛЯТОР МЭИ-3

 

'b e g i n '

'PROCEDUKE ’MATMUC4(A,В,Н,М,С) 'VALUE'н,М.,

'a r r a y 'a .b .c ., 'INTEGER 'N.M., 'BEGIN*

'INTEGER'!,;!.,

'FOR ’Is=1’СТЕР'1'UNTIL'H *1)0’

’BEGIN" ■ '

С(/1,1/):-С(/1,2/):-0.0.,

'f o r 'j :«1 'STEP *1'UNTIL 'n.'DO* ’begin"

C(/I,l/);=C(7l,i7)+A(/l,.M/)XB(/J,l/)-A(/I,Jt2/)

. "B(/J,2/)»,

C(/I,2/)»»C(/I,2/) +A(/I,J ,1/)XB(/J ,2/) +A(/I,J,2/) 2B(/J,l/>

'END*

'END*

'end 'МАТмисч., TESTBLOCK: 'BEGIN* "

'IMTEGEk 'n .M., I:iPUT(l,N,M).f 'BEGIN' ■

'ARRAY *A(/UM,1:4*1:2/),B(/l:N,l:2/),C(/l:M,1:2/).,

114


lNPUT(i,A,B)i,

MATMUC4(A,B,N,M,C)i,

OUTPUT(3,*(E*),C)' 'END* ~ '

iENB’TESTBLOCK

•ENfl'PBOOBAMM;,

Массив исходных данных:

+ 3. +3.

+0,0.

+2,0.

+1,0.

+1,0.

+ 1, 0.

+0,0.

+0,0.

+0,0.

+0,0.

+3,0.

+1,0.

+1,0.

+2,0.

+0,0,

+1,0.

+4,0.

+1,0.

+0,0,

+0,0.

+2,0.

+1 ,0.

+ 0 , 0 .

115

. +i,o., +2,0.

Результаты вычислений, полученные на узкой печати,

-2000000 +01

+3000000+01

-1000000 +01 +6000000 +01

+2000000 +CI

+1000000 +02

соответствуют ожидаемым.

2,5.23, Перемножение двух прямоугольных матриц

с комплексными элементами Произвести перемножение двух матриц А и В.

4

0

 

 

0

4 + j I

jI

«

2 + j2

1—1

2 +jl

I

^ + j i

|

 

2 + ^ 1

 

 

 

 

 

Решение. Исходная программа:

-01-

ТРАНСЛЯТОР МЭИ-S

*BEGIW'

’PROCEDURE "MATMUC6(A,BtN,M,R,C);,

•VALUE

*INTEGER*N,M,R,,

array fA,В,С.,

•BEGIN’

int e g e ri ,j ,k ;,

"FOR*! :»i ’STEP *1’UNTIL *м*D0 ’*F0R*J j-1*STEP ’lTUHfIL.TkjDO

’BEGIN’

116