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

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

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

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

Добавлен: 27.07.2024

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

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

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

*VALUE’M,XO,H,X.,

*INTEGER’Mi,

'realx o .h .x :,

’ARRAYS.,

LIBRARY('(200’)).,

IMPUT(i,!l,X0,H,X),,

’BEGIN'

*ARRAY*F(/iiH/).,-

• I:iPUT(l,F).",

0UTPUT(3,'(E'),X,INTER(N,X0,H,F,X))

'END'

'END*

В качестве

функции

у = f (х)

будем использовать

квадрат­

ную функцию

у =

 

с начальным значением аргумента хо * I,

о шагом аргумента

/7

=> I

и таблицу (матрицу)

с 10

значени­

ями функции.

 

Тогда

таблица

имеет следующие значения:

I,

4,

9,

 

25,

36,

49,

64,

81,

100.

Определяя значение функции:при аргументе х = 4,5 на МП-16

получаем значение

 

 

 

 

 

 

 

 

 

 

+4499999

+01

 

 

 

 

 

 

 

+2025000

+02

 

 

 

которое совпадает с теоретически ожидаемым: у ■ 4,5^ = 20,25,

2.8.14. Интерполирование функции - у = f (х). заданной таблично с переменным тагом, по Формуле

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

in fer рассмотрим следующую программу на входном язык®

транслятора МЭИ-3 для интерполяции функции

213.


■-01-

'• 2С1

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

'BEGIN*

’INTEGER’!!.,

'гПи 'PROCEDURE’INTER(;J,A,Х).,

*va^ e *.;,x .,

’INTEGER';*.,

’REa ^'X,,

4ISi;AhY('(S0l’)).,

I:<?UT(1, -|,х).,

'BEGIN*

*AKAAY*A,-F(/1sM/)., lilPUTCl.A.F).',

OUTPUTS, *(E’),X,INTEK(N,A,F,X))

'END'

'END'

 

 

 

 

 

 

 

 

 

 

 

В качестве

функции

у = f (х)

будем использовать

квадрат­

ную функцию

у в х2. Задаваясь значениями аргумента

х (мас­

сив А) составляем таблицу значений функции

(маосив ‘F

 

)

А

1

2

3

4

5

6

7

И

9 !

■10

 

 

 

 

 

 

 

 

 

 

 

F

I

4

9

16

25

36

49

64

»ai 1

100

В этом примере количество элементов в масоивах А и

щ

= 10.

Определяя

значение

функции при аргументе

х

» 4,§,

та

МП-16 получаем значение аргумента

и функции

 

 

 

 

 

 

 

 

+4499999

+01

 

 

 

 

 

 

 

 

 

+2025000

+02

 

 

 

 

 

которое

совпадает

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

 

 

 

 

214


2.8.15.Вычисление комплексного определите

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

oletc

рассмотрим следующую программу на входном языке

транслятора

МЭЙ-5 для очета определителя матрицы с комплексны­

ми элементами

-01-

 

202

ТРАНСЛЯТОР МЭИ*8

'BEGIN*

’iiiTEGER*!'!,, *real’detre,detim.,

’PROCEi)URE*DETC(M,A,DETRE,JETIM)..

’VAoOE'fl., ’INTEGER*,'-!.,

’REAi/OETRE.DETIM.,

'AKkAY'A., UBRARY('(202’)).f

I'1PUT(1,:0.,

'BEGIN*

*ARRAY*A(/1;2I4,1:2XR/).,

MPUT(i.A).,

JETC(:l,A,DETRE,i)ETIM).,

OUTPUT(3-,'(E*).OETRE,BETIX)

’E:tu'

*E;ia*

При нахождении

определителя

матрицы

 

 

I

 

•'

0,5 ~

... "0,5“

d e { =

0,5у

 

I

0,5j

 

0,5 + 0,5/

-0,25-0*25:}

I

на МП-16

получен

результат

 

 

 

215

+5625000

+00

-3125000

+00

который совпадает о точным (0,5625 - 0,3125 j ).

2.8.16.Обращение симметричной матрицы

В качестве

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

процедуры

i n v e r t

рассмотрим

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

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

транслятора МЭУ1-3 для обращения симметричной

матрицы с дей­

ствительными

элементами,

расположенными в верхнем правом тре

угольнике

-01-

 

 

 

203

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

 

*BEG1M* ’ImTEGEK’.T.,

’PKOCEUUKE* I;<VERT(Н,А,В)., ’value’м.

’1.4TEGLR’!I.,

a r r a y a .b .,

bIBJiAHY(’(B08’))., inP0T(i,;O., ’BEGIM*

*Amy*A(/lsOIV(MX(N+i) ,£)/) ,B(/l;M/).,

InPUT(1,A)., 1,4VEHT(i4,A,B)., 0UTPUT(3,*(E’),A)

*e m d

’EM)1’

'Для обращения симметричной матрицы

216


 

А X

1

2

3 |

 

 

2

I

4

S

 

 

 

3

4

i f ,

 

составляем таблицу для ввода верхнего

треугольника матрицы

I.

2,

3,

I,

 

V

I.

После обращении матрицы А на КП-16 получен результат

-750GGC0 +00 +5000000 +00 +2499999 +00 -4000000 +00

+1000000

+00

 

-1499999

+00

 

который совпадает е точным

 

 

 

-0,75

0,5

0,25

0,5

-0,4

0,1

0,25

0,1

-0,15

в пределах точности

работы ЭЦВМ.

 

2,8.17,

 

Решение системы линейных алгебраически

 

уравнений с произвольной матрицей коэффициентов

 

методом

сопряженных градиентов

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

linsyst

рассмотрим

следующую программу, на входном языке

транслятора МЭИ-3 для решения системы линейных алгебраических

уравнений

с действительными коэффициентами

 

 

“01-

 

 

ЙОЧ

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

’BEGIN’

*INTEGER"N.,

'PROCEDURE'ulNSYST(M,A,8,Q,X,С,EPS).,

’VALUE’H.Q.EPB.,

*imtegerm .,

217


*В00ЬЕАМ*0»,

‘йЕАЬ’ЕРв;,

,ARRAY*A,BtC,X.,

LIBRARY(*(204*)) .,

‘BEGL4*

'ARRAY*A(/1sfl,i:Ч/),B,X(/1:fj/),C(/i:3XN/) •, I;m(l,A,B).t

blMGYb'T(M,A,B,'FALSE',X,C,0.1),

0UTPUT(S,*(E*),X)

*EfW*

'Em)*

При решении

системы уравнений

 

 

 

 

 

х2 - хЗ = -7

 

 

 

2 х2 + хЗ

=

7

 

4 xl■+

Х2

- 5 хЗ =

9

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

на МП-16

подучен результат

 

 

 

+1ПООООО

+01

 

 

 

 

+1999999

+01

 

 

 

 

+3000000

+01

 

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

с искомым

xl =

I ,

х2 = 2, хЗ = 3 в пре

делах точности

работы ЭЦВМ.

 

 

 

\N

216

1

Ли т е р а т у р а

1.Агеев М.И. и др.Алгоритмы 1-50,51-100,101-150,151-200,201-250.

М,,ротапринт,ВЦ АН СССР,1966-1969.

2.Агеев М.И. Основы алгоритмического языка АЛГОЛ-бО.Ц,.ротапраиа» ВЦ АН СССР,1965.

3.Алгоритмы и алгоритмические языки.Выпуск 4 .-Л.,ро»апрвв*,ВЦ АН

СССР,1969.

4.Algorithms. "Communications of the nCM", I960 - 19?0.

5.Анго А. Математика для электро-и радиоинженеров.Ы.."Наука",196?

6.Бабушка И,,Витаоек Э.,Прагер М.Численные процессы решения диф­ ференциальных уравнений.Москва, М.,"Мир",1969.

?.Балуев А.Н.,Белых В.М.,Даугавет В.А..Шидловская Н.А.Сборник упражнений по АЛГОЛ-60,Л.,ЛГУ,1966.

8.Выгодский М.Я. Справочник по высшей математике.М..Госиздат тех­ нико-теоретической литературы,1956.

9.Геыст В.КДред.) Алгоритмический язык АЛГОЛ-60.Сборник справоч­ ных материалов.?..ротапринт,РПИ,1971.

Ю.Геыст В.КДред.) Руководство по эксплуатации трансляторов ТАМ-2 Р. .ротапринт,Р11Н,1568.

П.Гемст Е.КДред.) Руководство по эксплуатации трансляторов МЭИ. Р..ротапринт,РПИ,1971.

12.Журнал "Control", august, 1968.

13.Лавров С.С. Универсальный язык программирования^АДГ0Л-60).М. "Наука",1967.

14.Михельсон В.С.Элементы вычислительной математики.М."Высшая шко-

ла_\1966.

_ _

__________

 

15. PetroviSa R., ulcanis

L. ALGJL-60 pallda prograi.at.

~

Riga, "liesraa", 1968.

 

 

I6v Report on Input-Output Procedures for ALGJL-бЭ. Princeton,

 

K.I. International Federation for Information.Processing,

 

Working

Group 2,1 on

AhGJL, 1964.

 

219