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

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

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

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

Добавлен: 27.07.2024

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

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

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

*С(/1,К/):»А(/1,Я/)+ТХВ(/1,К/) 'END'MATAS.,"

TESTBLOCK; 'BEGIN* "

'INTEGER INPUT(1, N,M),, 'b e g i n '

’ARRAY'A,B,C,0(/i:N,isM/)i, 1ЮТТ((1»А,В,0)., " " ' ■

■OUTm<s/<F,')fC).," 1<IATAS<A<D<М,М;-1:o ,C)i ,

*jyC) '

’€N0* 'ЕЯй'ТЕЗГаиОСК

’EMD'P.ROGRAMM.<

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

+2'.

+0,0'.

+2,3>

-4,a.

+i,o;. .

+3,2'.

- 2 , 2.

+3,01.

- 1 , 2 .

+2,0. \

+3,0. ' -2,2.

77

+3,2.

+2 ,2.

- 1 , 0 .

+3,0.

-4,2.

-2 , 1 .

+4,0.

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

+1100000 +01

-2000000 +01

+3999999

+01

+1000000

+01

+9999999

+00

-2199999 +01

+3300000

+01

-6999999

+01

+5199999

+01

+5299999

+01

 

 

-6199999 +01

 

 

 

совпадают с результатами, полученными вычислениями

вручную.

2,3.7.

 

Вычитание одномерных матриц

 

Произвести вычитание матрицы А от матрицы В.

 

 

-4,2

+.1

-I

+3

-2,4

-1,2

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

программа:

 

 

 

- 01-

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

’ВЕ01П*

‘PROCEDOKE*MAT$Ui(A,B,N,C).,

’VAuUE'm .,


INTEGER’N,, ’А Ш У ’А,в,С., ’eean*

'i n t e g e r’i.t ><3e*H-t*BTCI>*l*UNTIb*N'D0’C(/l/):-A(/I/)-B(/I/)

’END’MATSCt.,

TESTBuOCK:

*1;ЛЕСЕЙ ’|J,,

|4WT(1,N)»,

's®ejK*

'ARRAY >,Й,С</ИЧ/)., 1 Ч Н Ш 1 #А,»)., MAT;>0l<A,«,N,c).f •0DTPtJT<8,’(f ’),C)

'END* 'END’TEBTBjOCK

'fMit'Pl.OfikAMM., ■ f

Массив исходных данных: j +"!

+3.JD.

-4,2.

+ 1 ,0 .

+0,0.

. +3,0.

-2,4,

- 1 ,2 . ,

79

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

-VI99999 +01

+3400000 +01

+1200000 +01

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

2.3.8. Вычитание двухмерных матриц Произвести вычитание матрицы Б от А.

0

+2,3

+2,2

-I

-4

+1

В = +3

-4,2

+3,2

-2,2

-2,1

+4

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

- 01-

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

'BEGIN*

'PROCEDURE ’MATSU2(А,В,N,М,С).,

"VALUE *1ч,М., *lNTEOEr.*N,M., ‘ARRAY *А,В,С,,

i 'BEGIN' 'INTEGER*!,К.,

'f o r *n»i's t e p 'i 'o n t i l 'n 'do '"POft’K:- i’STEP'l u n t i h 'm 'do

‘c(/l,K/)l-A(/l,K/)-B(/!,K/)

'END'MATsOS.,

TESTBLOCK:

‘BEGIN*

'int e g e rn .m .,

InPUT(1,N,M).,


"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