Файл: Гемст В.К. Процедуры АЛГОЛ-60 в примерах [практикум].pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 27.07.2024
Просмотров: 108
Скачиваний: 2
d |
ъ |
|
|
|
у2(0) - О |
— |
а * ♦ У1 ♦ У2’ |
|
|||
d |
х |
|
|
Н |
|
при I * 0,0 (0,1) |
1,0 |
в |
а 0,05. |
||
Точное |
решение |
системы |
|
|
|
|
yj * 14*(I |
- а"х) - 2 *Х'(3 + 4*е-х), |
|||
|
у2 = |
-9 *СI |
- е-х) + Х'(5 + 4*е“х). |
||
Решение. Исходная программа: |
|
||||
|
- 01- |
|
|
|
|
|
ТРАНСЛЯТОР мэи-в |
|
|
||
’ BEGIN* |
|
|
|
|
, |
*PaOCEDUBE’RK4S(XtY,HtP,H)RECOLTs(XX,YY).t "VALUE *X,Y.f
"INTEGER* n. ,
*l<EAi/X,H,XX.,
'AfiRAY'Y.YY., ‘PROCEDURE’? . , ’ BEG1M*
'lilTEGER’l . J . ,
*ARkAY’A ( / i : 6 / ) tR,7,(/l:N/).,
A(/1/)j-A(/2/)j-A(/5/):-0.6XH.,
A ( / 3 / ) : - A ( / 4 / ) : - H . f
XX:»X,,
’FO R *I:«i’sT EP 'i"uu T lL’;roo’Y Y ( / I / ) : - R ( / I/ ) : = Y ( / I / ) . ,
’F0R’J j«*1,£,3,4’1)0*
’BEGIN**
р(хх,я,?(,г)..
162
XX s»X+A(/J/)i, 'FOR'is-i'sTEP'i’miTii/N’oo’ 'beg in'*
YY(/I/) 8«*YY(/I/)+A(/J*i/)XZ(/I/)/8.0,, R(/I/):-Y(/I/)+A(/j/)XZ(/I/)
*END*1
'EHii’j
’end’kkms.,
TESTBuOCK:
'BEGIN’
'PROCE>XJRE *G(X,Y,N)RESORT J (7,).,
’r e a l ’x .,
*1 TTEGEK *'I., ’a r r a y ’y .z ., "BEGIIt’
".(/1/):»2,0XX-3.0XY(/i/)-4.0XY(/2/),, 2(/2/) :“X+Y(/i/)+Y(/2/)
*EН ' У.,
’beg i n*
■REAL’X,XX.,
’riTFGEB’K.,
*ARftAY *Y,YY(/1:5/).,
Xs=Y(/i/):»Y(/2/):-0,0.,
’FOR *K:»i'STEP*1'OHttu*SO’RO*
'begin'
RlC4S(X,Y,0,0e,G,2,XX,YY).,
X :»XX.,
163
Y(/1/):»YY(/,1/).,
Y(/2/):-YY(/2/).,
0UTPUT(3,*(E*),K).,
0UTPUT(3, *(E ') ,X ,Y )
• f l J)*
E;JD
'E ID’ TE .TRijOCK
*E [w’ PitOGKAM!'.,
Результаты вычислений
X |
|
h |
|
|
|
|
|
I |
|
г |
|
0,0 |
+OGOO |
000 |
+00 |
0,1 |
+8406 |
338 |
-02 |
0,2 |
+2780 |
047 |
-01 |
0,3 |
+5058 |
146 |
-01 |
о,ч |
+7049 |
554 |
-01 |
0,5 |
+8244 |
349 |
-01 |
0,6 |
+8234 |
162 |
-01 |
0,7 |
+6692 |
843 |
-01 |
0,8 |
+3368 |
952 |
-01 |
0,9 |
-1927 |
640 -01 |
|
1,0 |
-9334 |
733 |
-01 |
У2
3
+0000 000 +00
+5471 676 -02
+2356 128 -01
+5634 573 -01
+1053 923 +00
+1718 371 +00
+2564 524 +00
+3597 064 +00
+4818 132 +00
+6227 775 +00
+7824 325 +00
2.5.8, Формула Кутта-!.'арсона для интегрирования системы дайференцкалькьас уравнений первого
порядка Решить систему дифференциальных уравнений первого порядка
d |
У1 |
= 2х - Зух - 4у2, |
Ур(0) * о, |
\ |
d |
|
|||
х |
|
|
|
16ч
d |
У2 |
X + 4 |
|
|
|
-------- — = |
+ *2’ |
У2(0) |
= О |
||
of X |
|
h = 0,05, |
eps = |
0,001, к = 0. |
|
при х * 0,0 |
(0,1) |
1,0, |
Точное решение системы
yj = I4-(I - е~х) - 2*х*(3 +
у2 = -9-(1 - е-х) + х-(5 +
Решение. Исходная прох’рамча:
- 01-
ТРАНСЛЯТОР МЭИ-3
'BEG1,1*
'PROCEDURE'KUTTAMEREO N(;i,EPS ,H,FCT,K)DATARESULT:(T,Y,PbOC)
'V/ ЛЕ'Н,ЕР.;,Н,К., • 'HEAu 'T,Г/P.,,н,, 'INTEGER' N.P.0OC,K., 'ARRAY'Y.,
'Pr o c e d u r e 'f c t ., ’BEGIN'
’iiEAb’ERROR.HC.,
’INTEGER’I,HOC.,
'BOOLEAN'INCREASE,,
'A»oOY ’Y1,Y2,F0,P* ^ 2 t / T:N/).,
НО , ;.0С:»0;^ lEXT:?CTITjY'iFO).,
'FOR,'is=i'STEP’1*U.iTlb'N'DO *Y1(/I/) :=Y(/I/)+HC/3.0XF0(/ I/).,,
165
FCT(T+KC/8;C,Yi,Fl).f
'FOR*! s^i’STEP'i'ONfIL'n’DO'YIC/I/) :“Y(/I/)+HC/6.0XF0(/ i/)+Hc/e;0XFi(/i/);,
FCt(T+HC/3.0,Yi,Fl).,
'rOR'lJ-i'STEP'l'UMTIb V dC'Y1(/I/):=Y(/I/)+HC/8.0XF0(/
I/)+3.0XHC/8.GXFi(/l/)l,
FCT(t+HC/2.0,Vt,F2)i,
'FOR*I«■! "STEP ’l’UHTIb'R’DO’Yif/I/) :“Y (/I/)+HC/2.0XF0(/ i f )-8.0XHC/2.0XFl(/l/)+2,OXHCXF2(/I/).,
ЕС?(Т*ИС,Т1,Р1).,
’FOR*I:»i'slEP V c m TIi/ n *D0’Y2(/I/):“Y(/I/)+HC/6.0XF0(/ ,
I/)+2.bXRC/3.OXF2(/I/)+HC/8.0XFi(/I/).,
INCREASE :■*‘TRUE
*F0R*11»i*STEP *1* U u m *N ’DO ’ ’BEGIM*
ERR0fi:-ABS(0.2X(*IF ’К-0*THFЫ*Уi(/1/) Y2(/I/) 'EbSEti-
Y2(/X/)/Yl(/l/))).,
'If 'e r r o r 'g t 'epb *THF <* 'ВЁ01И*
HCs-HO/2.0.,
PLOC :»2.0XPU0C.,
Li0C:-2.0Xu0c;,
’GOTO’fffiXT
'E.W\,
'IF *ERR0RX64*GT'EPB 'THE.'l’lMCREASE*FAUE ’ ’EMU'I.,
Ti-ТЧНС.,
'FOR’I:=1*STEP*l’UNTII,*N*DO*Y(/
’IF*ЬОС’ЬТ’РЬОС’ТНЕМ' ” " ’BEGIH*
*IF*I ICHEACE ’AMD'LOODIV (bOC.SjXS'AND'PbOC'QTi? litHEN
’BEGIU
HC:°2.0XHC.,
bOC:=Div(bocfe),,
FbOC:=DIV(PLOC,2)
'E40'., *GOTO""IEXT
’EMU’
’FNU’lCUTTAMF.KSOM.,
TESTBuOC:
*BEGlii*
’PROCEDURE’FCT(X,Y,F)i, |
- _ |
|
|
, |
|
- 0 2 - |
i |
|
’VAuUE'X.,
’kEAu ’X.,
’ARRAY*Y,F., *BEG1 l’
F(/l/):=2.0XX-3,0XY(/l/)-4.0XY(/2/).,
l'4/2/) :=X+Y(/l/)+Y(/2/) 'e u d ’f c t .,
’BEGI l'
HKAij X# v
167
*№EGEl<*,l,PbOC,,
*AKHAY*Y(/l:2/) .,
Pb0Cs»1.0.,'
X:-Y‘(/i/);»Y(/2/):-0.0.,
•P0K*J s-i’STEP’i'OiW Ib’20’00*
*UEGI:jr
i;OTTAMEKSOiK2,C.CCl,0.05,PCT,0,X,Y,PbOC);,
0UTPUT(3,’(I*),J).,
OUTPUT(3,’(E’),X,Y)
'ЕЧИ'
*E;W”
'EUD’TEg TBgCGK
■E.'U'PkOGKAMM.,
Результаты вычислений
X |
|
|
*1 |
|
|
*2 |
|
|
|
|
|
|
|
||
I |
|
|
2 |
|
|
3 |
|
0,0 |
|
+0000 000 +00 |
+0000 |
000 +00' |
|||
О Д |
|
+8536 |
969 |
-02 |
+5439 |
478 |
-02 |
0,2 |
|
+2799 |
300 -01 |
+2351 |
759 |
-01 |
|
0,3 |
|
+5051 |
000 -01 |
+5637 |
041 |
-01 |
|
0,4 |
; |
+7022 |
477 |
-01 |
+1054 |
626 |
+00 |
0,5 |
|
+8200 |
794 |
-01 |
+1719 408 |
+00 |
|
0,6 |
|
+8174 |
412 |
-01 |
+2565 827 +00 |
||
0,7 |
|
+6625 |
482 |
-01 |
+3598 |
396 |
+00 |
0,8 |
|
+3293 |
318 |
-01 |
+4819 |
493 |
+00 |
0,9 |
|
-2014 |
829 -01 |
+6229 |
223 |
+00 |
|
1,0 |
|
-9419 |
654 -01 |
+7825 |
502 |
+00 |
I6B
|
2.6. |
Генераторы случайных чисел |
||||
2.6,1, |
Генератор |
случайных чисел |
||||
|
о равномерным |
распределением |
||||
. Произвести вычисление ( Г |
х, )/м |
и |
( 21 х2м )/Н |
|||
в интервале [О, |
I ] |
для |
N = 500, |
1000, |
5000. |
|
Теоретически ожидаемые |
результаты вычислений равны 0,5 и |
|||||
0,33533— 33. |
|
|
|
|
|
|
Примечание: |
ЭЦВМ |
"Минск-22" |
имеет |
разрядную сетку способ |
ную нести 9 цифр в десятичной системе счисления и из-за этого
использованы уменьшенные константы ГП 29, ГП 28 й |
ГЛ 27. |
|
Транслятор МЭИ-3 недопускает использование описания |
OWf? , |
|
оно исключено. |
|
|
Решение. Исходная программа: |
|
|
|
- 01- |
|
|
ТРАНСЛЯТОР мэи-з |
|
*ВЕ(Л Г |
|
|
IvEAjj А, В, о1,В 2 ,Х J. , |
|
|
'1 jT P G E K * :!,i:,X ,.)l,1 2 , 4 3 .. |
|
|
' llTEG Eu ’ ’ FitOCEOUKE’ iyU .JO M (X)., |
|
|
’ VAuUE* х « , |
|
|
■ * 1 ЛЕСЕ a' X . , |
|
|
’ BEG1 Г |
|
|
' 1 lTEGCn'M29,M28,!427. , |
|
|
M S9:-536870912., |
|
|
М28:=2С8Ч35ЧЕС., |
|
|
M27 :=1БЧ217728. , |
|
|
X := 5XX. , |
|
|
’ |
'X 'G F ’ M29*ThE;)’ X :"X “ M 29., |
|
' I |
' X' GE'' М28' THE Л *X :«>X-M28 . , |
|
’ IP ' X’ GE' M27' THE,4*X :=X-M2 7 .,
169