Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Гемст В.К. Процедуры АЛГОЛ-60 в примерах [практикум]

.pdf
Скачиваний:
10
Добавлен:
23.10.2023
Размер:
4.88 Mб
Скачать

OUTPUT(3, ’(E'),X1,E,Y1).,

XO:-Xl.,

VO-.-Yi

"EHO"'

•Е.ЧО'ТЕ^ТВьОСК

'Е'Ы’РиООЯАММ.,

Результаты вычислений

 

 

X

Методом Рунге-Кутта

 

У

 

 

Е

 

 

 

0,0

+1000 000 +01

 

-

0,1

+9900

990 +00

-2568 936 -06

0,2

+9615

384

+00

-1699 151 -06

0,3

+9174

311 +00

-5236 826 -07

О Л

+8620

689

+00

+5266

163 -07

0,5

+7999 999

+00

+1199

310 -06

0,6

+7352

940

+00

+1470

791 -06

0,7

+6711

408

+00

. +1447

228 -06

0,8

+6097

560

+00

+1260 498 -06

0,9

+5524

861

+00

+1016

II9 -06

1,0

+4999

999

+00

+7811

468 -07

Точное

решение

+1,0000 0000

+0,9900 9900

+0,9615 3845

+0,9174 3119

+0,8620 6896

+0,8000 СОСО

+0,7352 94И

+0,6711 4093

+0,6097 5609

+0,5524 8618

+0,5000 0000

2.5.7, Метод Рунге-Хутта четвертого порядка для систем дифференциальны^ уравнений первого

поряди Решить систему дифференциальных уравнений первого порядка

- - - - - - = 2х - 3yr - 4у2,

yj(0) = О,

d х

 

161

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

endkkms.,

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

КЛ:й>ОМ»»Х

хг-тобчез.,

I;ff'UT(1,А,В, щ ,.4К,;J3).,

’f 0a*;,'s-;n,n2f ;ю ао

*BEGIN'"

Sl:-£2:»0,,

‘fOuV:- 1 's t e p un t i l’;Гво’

*BEGl4r

X j“ tt'A.4J>OH(X),,

Х ;:“Х/13Ч2177Й8Х(В-А)+А.,

*IF*KEY(2)’ 7bE;j*0aTP0T(3,’ (E’ .КfX ,XM)•, Si;-61+X4/.4.,

S2:»S2*XiIXXH/N

OUTPUTCe.^E’ J.Sl.SS)

*EHU\, .

Исходные данные

+OOCC oou 00. +ICCO oco 0 1 .

+500.

+1000.

+5000.

Результаты вычислений

 

 

S(%]

+5115

806

+00

+2,317

+3430

069

+00

+2,902

+4972

767

+00

-0,545

+3524

125

+00

-0,276

170

Соседние файлы в папке книги из ГПНТБ