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

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

.pdf
Скачиваний:
18
Добавлен:
23.10.2023
Размер:
5 Мб
Скачать

"BEGIN*

*ARm*A,B,C(/isN,l:K/);,

INPUT(1,A,B).,

 

MATK02(A,B,N,M,C).,

 

OUTPUT (3,’(E*),C)

 

'END*

 

’ENU'TEiiTBLOCK

 

'ENU’PrOGUKM.,

 

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

..

+3.

 

+2,

 

+0,0.

 

+2,3.

 

-4,0.

 

+1,0.

 

+3,2.

 

- 2 , 2.

 

+ 2 ,2 .

 

- 1, 0.

 

+3,0.

 

-4,2.

 

- 2, 1.

 

+4,0.

 

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

на узкой печати

-22000С0 +01

+3300000 +01

-6999999 +01 +5199990 +01

+5300000 +01 -6200000 +01

совпадают с теоретически ожидаемыми.

2.3.9. Умножение одномерной матрицы на константу

Произвести умножение одномерной матрицы А на константу!

+3,1

-2,3

+4

+0

С = +3,2678.

Решение.

Исходная

программа!

 

 

 

 

-01-

 

 

 

 

 

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

 

'BEGIN*

 

 

 

 

 

'PROCEDURE’MATMC1(A,C,N,B).,

 

 

•VAuUE'N. ,

 

 

 

'integer's.,.

 

 

 

REAu

C.,

 

 

 

 

'ARRAY‘A, B.,

 

 

 

'begin'

 

 

 

 

'INTEGFk'I.,

 

 

 

'FOR'I J-I'CTEP V U N m ' N ’DO' B(/I/):-CXA(/I/]

 

end'matmci.,

 

 

 

TECTBbOCKt

 

 

 

begin

 

 

 

 

integer's.,

 

 

 

INPUT(1/!).,

 

 

 

begin'

 

 

 

 

•real’c .,

 

 

 

 

'ARRAY *A,B(/1:N/).,

 

 

 

INPUT(1,C,A).,

 

 

 

MATMC1(A,C,N,B).,

C

 

 

0UTPUT(S, ’(E‘),B)

 

 

*EHU'

 

 

■ - I

 

'ENU'TESTBIiOCK

 

I

 

 

'

82

'ENU’PROGRAKM.,

 

 

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

+4,

+3,2678.,

+ЗД, -2,3.

+А,0.

+0 ,0 .

Результаты вычислений, полученные'на узкой печати, +I0I30I? +и2

-7515939 +01 +I307I20 +02

+0000000

+00

 

совпадают с теоретически ожидаемым.

2.3.10. Умножение двухмерной матрицы на констант? Произвести.умножение матрицы А на константу С.

П (2Ь, I -0,3

CO CM -cf

И . 2

 

tA.2

..-2,1..

iCM

T U t L

-0,01

 

 

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

программа:

- 01-

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

’BEGIN*

‘PROOFcure *MAWC2(A ,с, М,М,В)., ’v a l u e 'n ,m .,

'REAb’C.,

int eger',ч,м., 'a r r a y а ,в., 'BEGIN*

’INTEGER’I.K.,

>0R'I :-l 'STEP *i’U.4TIL*N 'DO *’EOR’K i ’STEP *1’о п т ТцТ|

*B(/I,K/)t-ClA(/I,K/)

*ENU’MATMC2.,

TESTBbOCK:

begin *

*INTEGER’n ,M., iNmu.M.M)., ’beg i n’

reai/ c .,

 

’ARRAY *A,В(/1:N,1iM/);,

 

INPUT(i,C,A),,

,

MATMC2(A,C,N,M,B).,

 

OUTPOT(8,’(E’),B)

 

’ENJ’

..

’ENO’TESl'BLiOCK

 

e n d pro gramm.,

 

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

 

+3.

 

+3-

 

+32630,0.

 

+1,21. -0,3. +4,28. -3,2.

+4,2.

-2 , 1.

+ 0 , 0 .

-+2 ,1 . . \

0 01

Результаты вычислений, полученные на узкой печати, +3972429 +05 -9849000 +04

+I405I24 +06

-1050560 +06

+1378860 +06 -6894299 +05

+0000000 +00

+6894299 +05

-3283000 +03

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

2,3.11. Умножение двухмерной матрицы на одноШРИУ» Произвести перемножение двух матриц А и В.

+3

+4 -t

1 ГО

-2 +6

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

- 01-

 

ТРАНСПЯТOpsМЭИ-3

 

I

'BEGIN'

!

'PROCEDURE *MATMUl(A,i,N,M,C).,

"VALUE*М,М.,

Г

. * .

'INTEGER'!!,M.,

!'■

'AkkAY*A,B,C.,

 

'BEGIN*

j

'iNTEGEk'l.J..,

'POR'l:»l*STEPVUirtlb'M'OQ*

I

85

'BEGIN'

C(/I/) S-0.0.,

'FOH'j'j-l'sTEP VDNTU.*N'DO'C(/I/)s-C(/I/)+A(/I,J/)]

b (/j/)"

-

-

'END*

 

 

 

'ENB'liATMUi.,

TISTBLOCKj

'BEGIN* "

'In t e g e r 'n ,Mif^

lNPOT(lfNfM)'i,

'b e g i n *

'ARRAY *B(/iiN/.)|C(/ljM/),A(/l:MtijN/);p

' • • •

MATMUi(A»B,N,M,C)i,

ourputo.r (s')iCj

'ENB*

‘ -

'BND’TESTBliOCK

'END 'PROGRAMME,

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

+2 •

+3.

+4,3. -2,1.

+3,0. -2,3. +4,0.

-2 ,0 .

-1, 0.

+6,0

Результаты вычислений, полученные на узкой печати, +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

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