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

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

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

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

Добавлен: 27.07.2024

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

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

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

INTEGER* л.,

'PKOCEDUKE'UfffiYSTCtM.B).,

’VAUJE’iU,

’INTEGER*!!., ’array’a .b ,, LIBRARY(*(166*))., i n p u t u .n)., ’BEGIN’

•ARRAY'A(/i:2XNtl:2XN/),B(/i:2X.'!/)., IHPUT(1,A,B).,

LL!SYSTC(t!,A,B).,

0UTPUT(3,’(E*),B)

’END’

’ENO’

При решении следующей сиотемы уравнений

 

Д х 1 + 5 х 2 - З х З о - 1

 

- 7 х1 + 9 х2

- 4 хЗ - -I

 

х1 + 2 х2

+ 2 хЗ ■ I

на МП-16 получен

результат

!

 

 

+1700000

+02

 

-1200000 +02

 

+3000000

+01

совпадающий с точным решением х!

» 17, х2 « -12 и хЗ * 3.

2.8,8.

Обращение

матрицы

методом Гауооа-Жосдани

свыбором главного элемента

Вкачестве контрольного примера для проверки процедуры invert рассмотрим следующуй программу на входном языке

транслятора УБИ-З для обращения матрицы с действительными ко­ эффициентами:

207

-01-i

167

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

•’b e q i h '

*integer'n.,

’PROCEDURE* 1NVEkT(H,A ,B).,

JVAbUE’N.,

*INTEGER*H.,

Takkaya .b.,

JjIBRARY( *(167’))., л

IitfUT(l,N).,

’BEGW*

•A m Y 'A (/l» H ,H N /),B (/ljM /).,

lfJPOT(i,A).,

IfJVEBT(M,A,B).,

ootp6t (0,*(e *),a )

.*Etfu’

'E.1J*

При обращении матрицы

1

2

3

2

I

4

3

4

I

на МП-16 получен результат

-7500000 +00 +5000000 +00 +2500000 +00

+5000000 +00 -4000000 +00 +1000000 +00

+2500000 +00

+1000000 +00

-1500000 +00

208


совпадающий с точным решением

 

 

 

-0,75

0,5

0,25 I

 

0,5

-0,4

0,1

0,25

0,1

-0,15 |

 

2,8.9, Ввод и перевод массива значений углов из градусной меры в десятичной системе счисления

врадианную меру в двоичной системе счисления

Вкачестве контрольного примера для проверки процедуры рассмотрим следующую программу на входном языке транслятора МЭИ-3 для ввода углов в градусной мере и вывода их в радман-

ной мере

- 01-

 

170

 

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

’BEGM’

 

 

 

 

'M TEG En’ u ,

 

 

 

 

’ PHOCEi)Un.E* KEAiJ(A) , ,

 

 

а й на Г а .,

 

 

 

 

blBivAnY(' (170* )) ,,

 

 

M PUT(1,

 

 

 

 

*BEGltf'

 

 

 

 

"АНКАУ*А(/1 j.J/),?

 

йЕАЭ(А).,

 

 

 

 

0UTPUT(3,*(E’ ),A)

 

 

*ENi>*

 

 

 

'EUJ'

 

 

 

Произведем

ввод и перекодировку пять значении углов 0°,

90°, -180°,

720° и 360°,

которые

в условном коде записывают­

ся следующим

образом

 

 

 

 

 

 

 

О

 

 

90

000

000

209


-180 000 000

 

720

000

000

 

360

000

000

 

После счефа на МП-16 получен следующий результат

+0000000

+00

 

+1570796

+01

 

- З Ш 5 9 2

+01-

 

+1338085

+00

'

+8726646

-01

 

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

2,8.10,

Запись и чтение информации на магнитном

 

 

барабане

В качестве контрольного примера для проверки правильности

работы процедуры

y t lt n is

рассмотрим следующую программу

на входном языке

транслятора

МЭИ-3 для ввода массива, записи

его на магнитный

барабан, чтения его с магнитного барабана

и печати полученного массива

 

- 0 1 -

171

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

 

*HFGI Г

 

 

'INTEGER*

,

 

’PKOOEOUKE'VEoTHl!'(B,Qfb,A),f

 

’VAOJE’Q.b.B.,

 

 

*BOOuEAK*В.,

 

 

*IMTEGEh’Q,!..,

 

 

’AKHAY'a .,

 

 

uIBhAkY ( ’ (171’ ) ) . ,

 

I4PUT(1,:iг0,и).,

’\

'0F.Gl,r

 

 

’AHKAY’A ,B ( /l :4 /) . ,

|

210



Ш и т , * ) ; , -

VEuTHIS(*TftDE’ ,<5,Ц,а ). t

VELTfJIsCmSE\Q,U,B),,

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

’END’

‘EMI)'

Программа проверялась с массивом, состоящий us пяти эле­ ментов (из чисел I, 2, 3, 4 и 5\ на О магнитном барабане, на­ чиная о О слова. При этом получен результат

+1000000 +01

+2000000 +01

+3000000 +01

+4000000 +01

+5000000 +01

соответствующий ожидаемому.

2.8.II. Формирование строки вида .n - i ,, А .. — ,

Пример использования процедуры СП-172 см. в § 2,8.15.

2.8.12. Вычисление определенного интеграла по формуле Гаусса с двумя узлами и экстраполяцией

по Ричардсону В качестве контрольного примера для проверки процедуры

рассмотрим следующую программу нэ входном языке транслятора МЭИ-3 для вычисления определенного интеграла

S*г ■<н

о точностью 0,1

-01-

m

тр а н с л ято р мэи-з

'ВЕС И '

211

.

*КЕАь" 'PROCEDURE*? (I)•,

 

’VAbUE’X,,

 

*HEAL,’X.,

 

F:-XXX.,

 

'REAl/’PftOCEOORE’-lNT(EPS,A ,B,P).,

!"VAbUE*EPE,A,B., ’REAu'EPS,A,B,,

’REAL* 'PttOCEiJURE'f., bIBRARY(*(175'))., 0UTPUT(3,*(E*),111(0.1,0.0,B.O.F))

’EMU*

После счета на МП-16 получен результат +8599999 +01, ко­ торый до последнего знака совпадает с точным решением

J

Z

3

\ х2

d x =-^~

= 9.

Je

3

О

 

 

2.8.13.

Квадратичная интерполяция функции

 

по таблице с постоянным шагом

В качестве контрольного примера для проверки процедуры

рассмотрим следующую программу на входном языке транслятора МЭИ-3 для интерполяции функции

 

- 01-

200

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

’BEGIN*

 

’INTEGER*Hi,

*НЕАь’ХО.Н ,Х.,

'REAL” PROCEOORE’IITEй(?l,XO,H,F,X)i,

212