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

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

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

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

Добавлен: 27.07.2024

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

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

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

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 'step1until’.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


2.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