Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Гемст В.К. Процедуры АЛГОЛ-60 в примерах [практикум]

.pdf
Скачиваний:
10
Добавлен:
23.10.2023
Размер:
4.88 Mб
Скачать

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

C(/I,Jfl/):-C(/I,J,2/):-0.0.,

'FOK'Кj»i’STEP VUNTIL'M'00 ’

begin

C(/IfJ,i/):-C(/I,Jfi/)+A(/IfK,i/)XB(/KtJ,i/)-A(/I

,K,2/)XB(/K,J,S/).t

*

C(/I,J,2/):-C(/I,.T,2/)+A(/I,IC,l/)XB(/KfJ,S/)*A(/I

,K,2/)XB(/k,J,i/>

 

'END*

~

 

'END'

'END 'HATMUCE., TESTBbOCK; 'BEGIN'

’lNTEGF.k*H,MtR., IHP0T(1,N,M,R)., 'BEGIN'

'ARRAY’A(/l:M*l:M,i:2/),B(/isHfi:K,i:2/)tC(/isMtiiR,

1*2/).,

!

'

 

l•

 

INPUT(1,A ,B).,

I

 

I-1ATMUC6(A,B,H,M,R,C). j

 

OUTFUT(B,'(E’),C)

' j

 

'end*

;

 

'END'TESTBbOCK

j

.'

END’PkOGRAMM.,

i

 

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

+3.

+2.

+2.

117

 

+4,0.

'

+0,0.

 

+0,0.

 

+0,0.

. ■

+0,0.

 

+1,0.

 

. +2,0.

 

+1,0.

 

+1,0.

 

+0,0,

 

+4,0.

 

+1,0.

 

+0,0.

 

+0,0.

' '

+4,0.

 

+1,0.

 

+2,0.

 

+2,0.

 

+0,0.

 

+1,0.

 

+2,0.

*

+0,0.

 

+2,0.

 

+1,0.

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

 

+0000000

+00

 

 

 

+2000000 +01

 

 

 

+1500000

+02

 

 

 

+6000000+01

 

 

 

+1000000

 

+02

 

 

 

+4000000 +01

 

",

• ....

+1399999

 

+02

■ '

'

 

+1300000

+02

 

 

соответствуют

ожидаемым.

 

 

 

 

118

2.3.24, Обращение диагональной матрицы с комплексными элементами

Произвести обращение матрицы 2 . 2

i1

i + и

10+*»

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

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

*

•'BEGIN*

*PROOEDUKE’mEKTC(A,N,»IVC,B)., ’VALUE *N.,

'int egerm., 'ARRAY'A,B., 'PROCEDURE* DIVC. ,

'BEGIN'

'INTEGER*!,3.,

*F0k 'I:cl'STEP 'l'UNTIb 'il’ljO"POR*J :«l'STEP 'I’UNTIL’n 'DO 'B(/I,j,l/):“B(/I,J,2/):»Q.O.,

'FOR 'I:=1 'STEP 'i 'UNTIL'n 'i?0*DIVC(i,0 fO.O,A(/I *1,1/) »A(/ I,I,2/),B(/IfI,l/),B(/I,li2/))

'e n d 'imv ektc.,

'PROCEDURE ’DIVC(A,B,C,B)RESUbTs(E,F).,

'VALUE ’A,B,C,D.,

j

'REAl 'A.B ,C,D,E ,F.,

 

'BEGIN*

 

*REAL'R,DEi1.,

 

119

’I?’0-0'AND ’lM)’THEN'STOP(7)., ’IF *AB3(C) *GT *ABE (D) ’THEN * ’BEGIN*

K:»D/C,,

DfcN:»ORXD.,

E{« (A+BXR)/DEN.,

P'j«(B-AXkj/DEN

’END” ELt>E’ 'BEGIN'

R:»c/D.,

DENl-D+RXC.

Ei»'('a x r +b)/d e n .,

F:»(BXR-A)/DEN

’En d

e n d di v c,,

TESTBLOCK:

’BEGIN’

’INTEGER*N.,

iNPUT(i.N).,

’BEGIN*

’INTEGER’I,J.,

’ARRAY*Zi(/l:N ,is2/),2 .(/i:N ,l:N ,l:£/),Y (/ijN I i:N t1:2

/)..

.......

' •

INPDT(ifZi).,

*FOR*I t-l*STEP ’i’UNTIL *n ’D0 *’FOR’j J»1*STEP ’i’UNTlii’n

*D0*Z(/l,J,l/)j-2(/I,Jf2/):-O.O.f '

’FOR ’Is»1*oTFP’i’UNTIL *N ’ffl)’

120

Соседние файлы в папке книги из ГПНТБ