Файл: Гемст В.К. Процедуры АЛГОЛ-60 в примерах [практикум].pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 27.07.2024

Просмотров: 114

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

+128.

+16.

+0000000 00.

+3000000 01.

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

,9,000000 IJL999999 _ 0,0000001 9,000000

или в процентах 0,00001.

2.4.7.Квадратура Грегори

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

 

х (I -г х2) ol х

при П = 24 и Г -

J 2.

О (I) 24.

Решение. Исходная

программа:

- 01-

ТРАНШТОР МЭИ-3

'BEGIN*

'PROCEDURE 'GrEGORYRUL,E(N,R,T,W),, 'VAlUE'N.R.,

■ *INTEGEk *4,R,, 'йЕАЬ " ARRAY'T ,Л., 'BEGIN'

'INTEGER I,J., 'KEAb’H.CJ.,

'INTEGER "ARRAY* B(/0:M/)., ’REAL.’'ARRAY ’C(/0:U+i/)., B(/0/)s-l.,

137

с(/о/5:-1.о.,

C(/i/Js— О.Б.,

Hl-<T(/H/)-T(/0/))/M.t

V, (/О/) S-WC/H/) s-О.Б.,

’ FOR* 1 .'l-l’sTEP’ -l’UUTIlj’ l'DO*

'BEGIN*

v;(/i/):- i.0.,

Т (/1/):- Ш + Т (/0 /).,

В С/Х/):-О

*IF’ R’GT’ m’THEN’ R '

’f’Oft*J :-i*STEP’ 1’ t/rlTIu’ R’ DO"

’BEGIN*

CJ:»O.EXC(/j/),,

’FflK'ls-j'sTEP’-l’UaTIu’l'OO'BC/I/Js-BC/I/J-BC/I-l/)

"9

’FOR* I :-E’STEP* l’U'iTILi’ ,) +£’DO* CJ :=CJ+C(/J+£-I/)/I,,

C(/J+i/):--Cj.,

’FOR* I :-0"ВТЕР’ i’U.lTI L*:i"-)0’ V((/I/) :-Vt(/I/)-CJX(B(/U-

I/)*B (/I/))

’E.IJ’ .,

’FOR'I :»0'STEP"l’U;lTIu’ !’00’ V, (/I/) :-Vi(/I/)XH

t'EN1) 'GREGORYRU ьЕ.,

' .

"

' '

TESTBuOCII :

 

 

 

’BEGIN’

 

 

 

’I N T E

G E R * .

 

\

138


'R E A L 'A .B .m .,

' REAL' ' PROCEOURE 'f (X) .,

'VALUE'X.,

realx .,

 

F:®XX(i+XXX2).,

 

Ns* 24.,

 

A:» 2.0»,

 

Bj=5.0.,

 

*BEGI I'

 

’ARRAY 'T,W(/OsH/).t

 

K:-0.,

 

T (/0/) :**A.,

 

T(/l/)i=B .,

 

REPEAT: I MT:«*0 .0 .,

 

GfiEG0KYRULE(,4,!C,T,W).,

 

'fOR’js-o’BTEP’i'uuTib’M'DO’m

:»m +yi(/j/)xp(T(/j/)

) ..

■*

duTPUT(3,'(i’ ),K ) .t

 

0UTPUT(3,’ (E

 

'Tf k l t n 'ThEH" goto 'repeat

 

'E;<d '

 

emi) ’t e :;tblock

 

emu'pkogramm..

 

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

139

+I

+1627534 +03

+2

+1627499 +03

+. 3 +1627499 +03

+4

+1627499.+03

+5

+1627499 +03

+, 6

+1627499 +03

+7

+1627499 +03

+8

+1627499 +03

+9

+1627499'*03

+10

+1627499 +03

+II

+1627499 +03

+12

+1627499 +03.

+13

+1627499 +03

+14

+1627499 +03

+15

+1627499 +03

+16

+1627499 +03

+17

+1627499 +03

+18.

+1627499 +03



+19

+1627499 +03

+20

+1627500 +03

+21

+1627499 +03

+22

+1627497 +03

+23

+1627496 +03

близки к ожидаемый и показывают,

что при I < Г -с

22 дости­

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

 

2,4,8,

 

Квадратурное интегрирование

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

интеграл

 

 

f6

П

,

 

 

j

х

d. х

 

 

а

 

 

3, N =128

для п = I; 2} 3; 4; 5,

О =

0,

0 = 3 при tn

и квадратуре Ромберга о р * 16, Решение. Исходная программа:

- 01 -

f

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

'BEGliJ

'PROCEiH)KE’QOAH(A,B'tM,M,P ,C,U,F)RESULT:(HUM) .,

'VABUE'A.B,,

kea^’a .b ,,

*1MTEGER'M,N,P., ;

array 'U,C,SUM.,

*REAi/ ‘procedure 'f .,

b e g i h

"r e a l 'h .t .r ,.

141

’ iMTEGEft'l.J.K.,

Н:-(в-А)/м.,

‘FOR step ’i ' u n t il p d o

’BEGIN*

5UM(/J/) :»o.f

R!"A-H.,

’FOr 'I i’STEP’l’UNTIL 'M’DO’BEGХм'

Rs-R+B.,

"FOR*K :“0 "STEP ’i ’UNTIL *M*DO’

b e g in

T;»R*U(/K/).f

3UM(/J/):-SUM(/J/)+C(/K/)XP (T,J)

en d k

end i .,

endj

e n d quad.,

'Procedure rombergrulec m,p ,t , w) ., 'v a lu e n. p .,

integern .p .,

reauarrayt ,v;.,

b e g in

’IMTEGER’I,J,M,M1,M4,S.,

real b ,.c i .,

’REAL” AfcRAY‘ C(/0:(P- 2)/2/).,

Hl- (*T(/N/)-T(/0/) ) / m: ,

V''(/0/):nW(/M/):»0.,


’rOR'ls-H-i'STEP'-l’UHTIb’l'DO*

beg in

W(/I/):-C(/I/):-0.,

T(/I/):-IXh+T(/o/.) ’END*.,

M:-(P-2)/2., c(/0 /):-1 .0 .,

Ss-M4s-1., c(/N/):-0 .,

’IF *M*GT *LiN(N)/LN(2) ’ThEN’M:,,bN{N)/UN(2) ,, ’FOR*J :»i ’STEP ’i’UNTIu m ’DO’

’BEGIN*

МЧ:»ЧХМЧ.,

’FOR’l:=J’STEP’-i’UNTIL/1’DO’C(/I/) :»(M4XC(/I/)«C(/I

C(/0/):-C(/0/)X(M4/Ml)

’END’.,

P

 

’FOR’ls-O’CTEP’l’ONTIL’M ’DO’

b e g i n

;

CI;-C(/I/)XS.,

 

'FOR'J O'STEP’S’UNTILi*n 'DO'W(/J/):=W(/J/)+CI,,

;.:»2xs

;

’END’.,

: ■

W(/0/):«=W(/N/):»0.5XW(/0/)., 4

'FOR*J :»0’STEP’1’UttTIь’m d o ’W(/J/)

143

-02-

'ENU’ROMBERGRULE.,

'REAL ''PROCEDURE’F(T,J)., 'VALUE'T,J.,

'rEAl ’T.,

'i n t e g e rj ., ’BE6IH*

F:-TXXJ 'ERD’f ., BLOCK: 'BEGIr '

REAii A,B.t

*iht eger'm ,p ,k .,

'ARRAY 'RUM(/1:6/),T,W(/0:126/)o , A:«0.0*,

B:-3.0.,

M:»S,,

P’s*6.,

'FOR *K:-0'STEP'l’UNTIb’126'DO*T(/K/):»KX(B-A)/i28/M ROMBERGRULE(128,16 ,T,W)., QUAD(A,B,M,128,P,W,T,F)KESULT:(SUM)., 0UTPUT(8,*(E'),SUM)

'ERD'BLOCK

'ERD*PHOGRAMM.t

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

 

Точное радение

Машинное решение

+4,5

+4,499999

+9,0

+8,999999

+20,25

+20,25000

+48,б

+48,59999

+121,5

+121,4999

Точность решений достаточна,

ибо ЭЦВМ "Минск-гЭ" в режи­

ме с плавающей запятой оперирует

только с семью значащими

цифрами чисел.

 

 

 

 

2,4,9, Дифференцирование

у = \/~х'

 

Произвести

дифференцирование

функции

при

х * I (I) 10

с внутренним шагом

h =0,1.

Одновременно оп­

ределить и точное решение дифференцирования в указанных точ­ ках х, если известно, что точное решение равно 1/2.\[х .

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

- 01-

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

*BEGI:i'

’PROCEDURE ’DIFFERE'JCECF ,Х,Н)RESORT:(ОУ)., ’VAUJE *Х,Н.,

кеаьх ,н,пу.,

*КЕАь" PROCEDURE *F.,

"begih '

’№EGER*K,b,M,f<,P., *KEAL *05Y.,

•ARKAy,y(/0:6/),31Y(/0i4/),D2Y(/0:3/),D3Y(/0:S/)r04!r(/0

si/).*

',F0R,K:-0'sTEP'l*0HTm’6*D0'Y(/K/)l-P(X+KXH)., "FOR*Ь:иО’STEP ’l*U:n'lu*4,D0*DlY(/b/j r»Y(/L+i/)-Y (/0/) ,, ’FOR *M:-0’sTEF VON'TIb Vi)0 *ОйУ(/М/) t-DlY(/h*l/)-i>iY(/M /).,

145