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

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

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

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

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

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