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

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

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

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

Добавлен: 27.07.2024

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

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

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

‘INTEGER*J,I.,

’REAL’MX., ‘FOR’lS-i'STEP'i’O N m V D O ’ ‘begin

HX:"0.0. j

’FOK*J S-i’STEP'i’OUTIb'R ’DO’*IP *ABS(A(/1,J/)) *GT*

MX*THEN’MX.-ABS{A(/I„7/)).,

*i f *mx-o .o t h e n

 

b e g i n

• ! (

DETERMINANT 1-0,0.,

 

‘GOTO‘RETURN .

 

’EN.)\,

ми1,Т(/1/)|-МХ.»

’lF*MX-/l,0*THEN” FOR‘j!-i’STEP*l‘UMTIb’N‘DOTA(/I

.J/)s-A(/I,J/)/MX

e n d

 

‘ENO’EQUILIBRATE.,

[

EQUluIBRATP(A,fi,MUbT).,

j

PRODUCTi-l.O.,

.;

‘FOR ‘Rl-i *STEP ‘i‘UNTIL *№-i ’»0’

be g i n

i

 

f

•"•s»R..

;

TEMP:=ABS(A(/R,R/)).,

‘FOR‘j:-R+l‘STEP‘l*ONTib‘К’.»'‘IF ‘TEMP *ЬТ ’ABS(A(/R,1

/)) ‘ThE'l’

 

‘BEGIN*

4

TEMP:-ABS(A(/R,J/').,

SJ“J 'END*.,

*IP ’TEMP“0.0 "THEN' ’BEGIN’

DETERMI4ANT:»0.0.,

’GOTO’RETURN

’END’.,

'IF'S»/a*T>iE**

’BEGIN*

PRODUCT;— -PRODUCT. , *FU*I;-R*STEP VUi'ITILVDO* *BEGI4’

TEMP:-A(/I,R/)., /.(/l,R/)r-A(/I,S/).,

A(/t .S/):»TEMP

e n d

e n d ’.,

PRODUCT l-PRODUCTXA(/R,R/)., ’FOR’lJ-R+i’STEP’l’UNTIL V d o

b eg in

TBMP:-A(/I,R/)/A(/R,R/).,

'FOfl’j i-R+i’STEP’i’UMTlL V D O ’At/I.J/Js-At/I.J/J-

At/R.J/JXTEMP

’END’ ’e n d ’.,

TEMP r»FROjpCTIA(/M,N/).,

70



’FOR’Ri»! 'sTEP’I'ONTILin 'DO ’TEMPj*TEMPIMU1jT(/R/) .

DETERMINANT J-TEMP.,

RETURN:

'ENU’DETERMINANT.,

TESTBLQCK:

'BEGIN’

’INTEGER^.,

ihput(i ,n ).,

'BEGIN* *ARR/Y’A(/i:N,l:N/)., INPUT(1,A).,

OOTPUT(3,’(F*),DETERMINANT(A,N))

'END*

'ENJ*TESTBi.,OCK

'END'PROGRAMM.,

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

+5i

+2,37<tI5.

+1,32457.

+2,25358.

+I,35&77.

+0,58373.

+1,47132.

+2,24315.

+3,53837.

+2,56371.

+1,83921.

+4,17354.

+2,12839'»

+1,78538.

71

 

 

+0,37859,

i..

' .

+3,24578,

'

 

+1,37531,

 

 

+0,28453.

 

 

+2,58389.

 

 

+3,57352.

, ■

 

+2,54783.

 

 

+1,57893.

 

 

+4,38921.

 

 

+2,55431.

 

 

+1,73894.

 

 

+3,47579.

 

Результат

вычислений +7419662 +02 совпадает с результате»

+74,1966, полученным вычислениями вручную [l4j.

2.3.4, Сдогевич д в у х одномерных матриц Произвести сложение двух одномерных матриц А и В

3

2,36

 

?

4

-2,1

 

T

3,6 +

3,2

=

т

7

4

 

~

8,3

-9,0

 

?

 

 

 

1I.I

А

Е

 

С

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

программа:

 

 

- 01-

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

'BteiN'

‘PROCEDURE Y'ATADKA ,B,N,C)., ‘v a u i e 'n .,

'i m t e g e r n ., 'ARRAY’А,В,С.,

'b e g i n *


’INTEGER*!.,

*FOR’lfrSTEP*i’U N m V 0 O ’C(/I/)8-A(/I/)+B(/I/)

*EUD*MATA01.,

TESTbuOCK:

’BEGIN*

■’INTEGER’N.,

INPUT(l.N).,

’BEGIN*

'ARRAY ’A,B,C(/i;N/);,

INPUT(i,A,B),,

MATAJi(A,В,N,C)..,

OUTPUT(S,*(E *),C)

end

’END’TEoTBbOCK

’ENU’PROGRAMM.,

 

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

 

+5.

 

+3C00000

01.

+4000000

01.

+3600000

01.

+7000000

01.

+8300000

01.

+236GC00

01.

-2100000 01.

+3200000

01.

+4000000

01.

-9000000 01.

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

73

 

I

+6799999

+01

+1100000

+02

-6999999

+00

совпадает

с

результатом

полученным вычислениями вручную.

 

2,3.5,

Сложение двухмерных матриц

Произвести сложение двух двухмерных матриц А и В размер­

ности П

= 5

и Л1 » 2 _______________

-3,1

2,0

4,2

4,3 .

4,5

-3,2

2,0

1,2

0

2,1

-3,6

2 Д

4,0

3,2

0,5

-0,34

0,75

1,21

4,3

5,6

 

А

 

В

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

-01-

ТРАНСЛЯТОР УЭИ-З

' вши '

??

??

?9

v__ ?

??

С

'PU0CEl>UkE*MATAD2(A,B,N,M,C).,

*VA1ljUE*U,M, ,

’INTEGER *Н,М.,

•ARRAY'A.B.C.,

, 'BEGIM'

•14TEGF,h 'I,K.,

,E0R'l:-l*STEP'l'y:)TIb'M,D0” F0a'K:»l’STF,P,l'UfiTIb,M*i)0

’C(/I,K/):-A(/l,K/)+B(/I,K/)

'Е!й)’ИАТА02»,

TE6TBL0CK:

*BEG1H’

74


integer n,m .,

ItffUT(i,;j,M),,

’BEGIN’

’ARRAY ’A ,B,C(/i ;N,i tM/)

INPUT(1,A,B)., ” ” '

MATAD2(A,В,N,M,C).,

0DTPUT(3,’(E’),Cj '

end

’EHU’TECTBbOCIC

'END’PKOGRAMM.,

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

+5.

+2.

-3100000 01.

+2000000 01.

+4500000 01. -3200000 01.

+0000000 00.

+2100000 01.

+4000000 01.

+3200000 01.

+7500000 00.

+1210000 01.

+4200000 01.

+4300000 01.

+2000000 01.

+1200000 01. -3600000 01. +2100000 01. +5000000 00. -3400000 00.

 

 

+4300000

01.

 

 

 

 

 

+5600000

01.

 

 

 

Результаты

вычислений,

полученные

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

 

 

+1099999

+01

 

 

 

 

 

+6299999+01

+4499999

+01

 

 

+6499999

+01

+2859999

+01

 

 

 

 

 

 

 

-1999999

+01

+5049999 +01

 

 

-3599999

+01

+6610000

+01

 

 

 

 

 

 

 

+4199999

+01

 

 

 

совпадают с

результатами,

полученными

вычислениями

вручную.

 

2.3.6,

 

Сложение-вычитание

двухмерных

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

от А.

 

 

 

 

 

 

 

 

0

+2,3

+3

-1,2

+2,2

-I

-4

+1

j В *

+2

+3

 

+3

 

-*.2

+3,2

-2,2

-2,2

+3,2

-2,1

+4

Решение.

Исходная программа:

 

 

 

 

 

 

- 01-

 

 

 

 

 

 

 

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

 

 

 

 

 

'BEGIN*

 

 

 

 

 

 

 

 

’РКОСЕ0URE ‘МАТАS(A,B,M,M,T,C). ,

 

 

 

v a l u e 'м,м:,

 

 

 

 

 

 

REAL Т ,§

 

 

 

 

 

 

 

*INTEGER‘M,M,,

 

 

 

 

 

 

‘ARRAY‘А,В,С,,

 

 

 

 

 

 

'BEGIN*

 

 

 

 

 

 

 

\

'INTEGER *1,К.,

 

 

 

 

\

‘FOR *1:*■!‘STEP ’1‘UNTIL ViX) *‘PQR *К:»1 'STEP,*!'UNTIL "M'DO

76