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

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

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

BEGIN

2(/I,I,i/)t-Zl(/I,i/);,

Z(/I,I,2/)!«Z1(/I,!!/)

•END’.,

INVEKTC(Z,N,DIVC,Y)i,

0UTPUT(3,’(E*),Y)

’END*

’END’TESTBbOCK

’END'PROGRAMM.,

Массив исходных данных:

'

 

+4.

+2 , 0 .

+0,0.

+0,0.

+1,0.

+1 , 0.

+1,0.

+1000000 Об.

+0,0.

Результаты вычислении, полученные на узкой печати

+4999999 +00

+0000000 +00

+0000000 +00

+0000000 +00

+0000000 +00

+ 00000П0 +00

+0000000 +00

+0000000 +00

+0000000 +00

+0000000 +00

 

+0000000

+00

 

-9999999 '+00

 

+0000000

+00

 

+0000000

+00

 

+0000000

+00

 

+0000000

+00

 

+0000000

+00

 

+0000000 +00

 

+0000000

+00

 

+0000000

+00

 

+4999999

+00

 

-4999999 +00

 

+0000000

+00

 

+0000000

+00

 

+0000000

+00

 

+0000000

+00

+0000000 +00

 

+0000000 +00

+0000000

+00

 

+0000000

+00

 

+1000000 -04

 

+0000000

+00

соответствуют ожидаемым.'

2,4. Интегрирование и, дифференцирование 2,4,1, -формула трапеции

Вычислить определенный интеграл

при П = 100.

122

Решение. Исходная программа: -01-

транглятор мэи-а

'beg i n'

'REAL' 'PROCEDURE *ТНАРЕ;;10М(Д,В,Е(,Р 'VALUE *AtB,N»,

'r e a l a .b ., 'i n t eger'n .,

'real " pro ceduref .f 'BEGIM*

■r e a l 's .h .x ., h:«(B-A)/tl., S:»H/2X(F(A)-F(B)).,

*F0R*X:=A+H'STFP’H'U:iTIb'3-H/2'D0'S:-S+HXP(X). TRAPEZIUM :»S

'EMU'TRAPF'ZIUM.,

'BEGIN'

*REAL'A,8,IHT.,

’INTEGER’II.,

'real ’'procedure 'f (X)., •VALUE'X.N.,

'r e a l ’x ., F:=X32., I:iPUT(i,A,B,M).,

INT:“TRAPELltJM(A,B,M,F).,

OUTPUT(3,*(E’),IMT)

’ENO’

'END'.,

Массив исходных данных:

+0000000 00.

+3000000 01.

+ 100.

Результат вычислений +8730450 +01, равный +8,73045, удов­ летворяет точному решению +9,0 с относительной погрешностью

9,000000 - О.730450 •

--------------------

= 0,02995

9,000000

 

или в процентах 2,995 %.

 

2.4.2.

Формула Гаусса

Вычислить определенный интеграл

 

J 1 х2 а

*

погрешностью tot £ I0"3.

 

Решение. Исходная программа:

 

 

-Ci-

ф

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

 

'BEGIN*

'REAL''PkOCEDURE'GI (F,Х,А ,B,T0L)., 'Va l u e 'а ,в,тоь., 'REAL'X.A.B.TOl,.,

'REAL*'PROCEDURE *E., 'BEGIN'

'REAL *11,12,H jC,G. , *i;jteger'm ,n .,

'FOR'n :=8,1б,2X;!'WHILE'ABS (12-11) *GT 'TOLXIE'BO ' ; 'begin

’lF';i-/8'THE;ril:=I£.I

124

Hs-(B-A)/(exn).,

С:»A-П., G:-H/i.73206081., I2:»0.0,,

'FOK'Mi-O’STEP’l’U N m ’N-l’DO’ ’BEGIN'

0S-O2XH., X :»C-G,, I2:-I2+F.,

л !*C+G, , I2:-I2+F

’END’., I2:-12XH.,

0UTPUT(3,*(I*),N)», OUTPOT(3,’(E’),h,I2,I2+(.I2-Il)/16)

’END'., GI;-I2+(I2-Ii)/16

e n d g i ., i

TESTBLOCK: ;

b e g i n ’ ;

’UEAL’X.TOD.A.B,,

’READ *’PROCEDURE ’F.,

F:»XXX2.,

' INPUT( i,A ,B,TO>b)-.,

0UTPUT(3,’(E’),GI(r,X,A,B,T0L))

■’END'TEoTBDOCK

'e n d p r o g r a m m .,

Массив исходных данных:

+ 0 ,0 #

 

+3,0.

 

+1000000

43.

,

Результат

вычислений

f9000000 +01, равный +9,0, удовлет­

воряет»очий#у решению+9,0

о абсолютной точностью.

 

 

£.4.3. Формула Симпсона (первый вариант)

Вычисляет

ойределенный интеграл

 

 

 

\ х2 d х

при

П * 100.

J0

 

 

Реивнйе.

Исходная программа:

- 01-

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

'BEGIN'

*REAL*'P40CE0URE’SIMPS0N(F,*,B,N).,

'val.u e a ,b,n.,

'чеаь'а .в.,

■'integer'и.,

'real," procedure'?.,

'begin'

'real/ h .t .s.r.x ,,

H:-(B-A)/N.,

T:»2.0XH.,

S:*»R:»0.0.,

'FOR*! ;*A+T"STEP'T'UNTIL'B-T+H/2.0" DO*R:»R+P'(X)

*F0R'X Г*А+Н'STEP'T’UNTlL* B-h/2.0 "DO 'S:»S+F’(X),,

SIMPSON:** (E(A)+F (B)+£,0XR+4.0XS)Xh/3.0

,'END'SIMP SON.,

126

TESTBbOCKs

'BEGIN*

*REAl/A,B.,

integer*;*.,

’READ* 'PROCEDURE *F(X);,

’VAuUE'X.,

*REAu*X.,

P:-XXX2.,

lNPUT(t,A,8,N).,

OUTPUT(B,'(E’),SIMPSON(r ,A,B,N))

'endtestblock '

’END’PROGRAMM,,

Массив исходных данных:

+0 ,0 .

+3,0.

+100.

Результат вычислений +90000D0 +01 , равный +9,0 удовлетво­ ряет точное решение +9,0 с абсолютной точностью.2

2.;f,4, Формула Симпсона (второй вариант)

Вычислить определенный интеграл

г5

 

\

х {I

t / ) d I

 

J 2.

 

при ер s =

Ю -^ и П П

я 20.

,

Решение.

Исходная программа:.

-С1-

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

’BEGIN ’

’PROCEDURE,’SIKPf®N(A,B,F.EPS,NN)RESULTj(I,INT)'i,

i

127

'VAlUE'a .B.EP.'S.NN.,

’REAL’A.B.EPS.I.InT.,

’INTEGER’NN.,

’REAL’'PROCEDURE Y.,

'b e g i n

’REAR’D,?),GO,Gi,G2,GS,G4,AO,A1,A2., ’imt eger’m .n .,

’ARRAY’S'(/1:nn,14BO., INT:*I:-0,0,, M:-Ni-0,,

GO:«F(a ).,

G2l"F( (A+B)/2)

G4:-F{B).,

A0:-(B-A)X(G0+4XG2+G4)/2., AA:D:»2XIN., h:-(B-A)/H/D., Gi:«F(\+hX(4XM+l)).,

G8:»F (A+HX(4XM+3)).,

Alt“HX(G0+4XGl+G2).,

A2:-M(G2+4XG3+G4).,

’IF *ABS(i-AO/(A1»A2)) 'GT'EPS/D’ThEN’ ’BEGIN’

MJ-2XM.,

Ns-M+l.,

’IF ’N*GT*NN ‘THEN ’’GOTO ’FIN.,

AOl-Al.,

S(/N,i/):-A2.,

s(/N,2/)':-G3.,

S(/U,3/):»G4.,

G41-G2.,'

G2s»Gl.,

g o t o aa

e n d ’’e l s e \

’BEGIN*

1NT;»INT+(A1+A2)/3.,

M:»M+1.,

I:»A+MX(B-A)/D.,

BBs’lF ’H»2XDIV(H,2)’THEN’

be g i n

M:»DIV(M,2).,

U:»N-1.,

g o t obb

e n d ’.,

if m»/i o r *n*7o t h e u

begin.’

AO:» P(/N,l/).,

GOS-G4.,

G2:-C(/N,2/).f

G4:»SC/N>3/5 •»

’GOTO‘AA

’ENO’

’END’.,

FIN:

•ЕПО’аМРВОЧ.,

129

testblock:

b e g in

’KFAL’A,B,EPS,I,INT.,

intfgfk' nh.,

hFAu” PKOCE1)UKF’F(X)., ’value’*.,

-02-

' kealx .,

F s»XX(i+XXX2).,

A:-2.0.,

Bs-5.0.,

EPsj-ю-е.,

Ml - 20.,

UIMPLON (A,B,F ,FPS, NN)RFSULT s(I,INT),, ouTPUT(3,’(E’),i,m)

ehdteutblock.

enuprogramm.,

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

 

 

+4999999

+01

 

+1627499

+03

удовлетворяет точному

решению +162,75 с погрешностью

ePS

- 162,75 - 162,7499 = 0,0001,

т.е. фактически ер s

= Ю " \

 

130

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