Файл: Гемст В.К. Процедуры АЛГОЛ-60 в примерах [практикум].pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 27.07.2024
Просмотров: 99
Скачиваний: 2
*VALUE’M,XO,H,X.,
*INTEGER’Mi,
'real’x 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.,
*imteger’m .,
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