Файл: Гемст В.К. Процедуры АЛГОЛ-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 r’n .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