книги из ГПНТБ / Гемст В.К. Процедуры АЛГОЛ-60 в примерах [практикум]
.pdf"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" |
; |
|
> |
"ihteger’i ,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
