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