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

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

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

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

Добавлен: 27.07.2024

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

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

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

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

-I690000 +02

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

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

+ 2

 

 

 

. I L L

I1

Q

i\a

-2*1 +43

 

Решение. Исходная

I

В =

-I

1 T ~

+*.2

+2

-4,4

-41

 

 

программа:

- 01-

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

"BEGIN *

'PR0CEDURE*MATMU2(A,B,N,M,R,C).,

"VALUE *.Ч,М,К.,

 

"li!TEGEk*:i,M,R.,

j

"ARRAY "А,В,С.,

!

"BEGIN"

;

 

>

"ihtegeri ,JfK,,

I

"FOR*I i "STEP *1"UNTIL % ’DO**FOR*Л:»1"STEP *1 "until ;R *DO

"b e g i n "

I c(/I,J/):»0.0.f ;

"FOR *Kt»i*STEP "i"UNTIL "N *DO’C(/I,J/):"C(/I,J/)+A(/I,

K/)XB(/KtJ/)

"END* .

,

1

• *E,4D"MATMU2.,


TESTBLOCKl

'всей*

‘lMTBdee*N,14,R., INPOT(i,H,H,R).f *BBQIN*

IHP0T(1,A,B)«,

o u T m ( 8 , ’(B*),c) •BHD*

•B«D'TE8fBbOCtt

'EHi)*paoeaAMMi,

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

+2.

+3.

+3.

+2,0.

-3,4.

+5,1.

- 0,2.

- 2 ,1.

+43,0.

-1,0.

+2,0.

+3,2.

+2,0.

ее

/

Результаты вычислений, полученные на узкой печати, -6800000 +01 +1896000 +02 +2034000 +02

-5500000 +01 +II07999 +02 +1714000 +02

+8810000 +02 ' -1933999 +03 -1830200 +03

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

2,3,13. Транспонирование квадратной матрицы Произвести транспонирование квадратней матрицы А.

+1,0 +2,0 .+3,0

+4,0 +5,0 +6,0

+7,0 +8,0 +9,0

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

- 01-

ТРАНСЛЯТОР мэи-з

*BEGl;-i

‘PROCEDURE "TKA.UPOHATI0iU(A,M).,

’VALUE 'М.,

'imt e g e r'm .,

'arhay'a .,

b e g ih *

REAb Vt,,

* INTEGER

'FOR'l t-i'STEP V U N T I L ,u’op*,FOR’K:-l+I 'STOP Ч.'ОЛГЬЛй*

DO*

...................

'BEGIN*

 

Ki-A(/I,K/),,

 

A(/I,K/):»A(/K,I/).,

 

A(/K,I/):-W

 

'END*

 

"EUU'TRANCPO.'lATIONi,,

 

TESTBLOCK:

 

'BEGIN'

 

’INTEGER'N,,

'

I,(PUT(i, N).,

 

' b e g in *

'a r r a y 'A(/lIN,1:N/)., 1MPUT(1,A)., TltANU>OUATIC,li(A,.4).,

0UTPUT(3,'(E *),A) 'END'

'E'll)'TEl.TBbOCK

'END’PkOGRAMM.,

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

+3.

+1 ,0.

+ 2, 0.

 

 

+3,0.

*

 

+4,0.

 

 

+5,0.

 

\

+6,0.

'

. .

90



+?,о». +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'

endtestblock

‘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