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

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

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

Х:»А.,

FtM(Y).,

X:-B.f

PO'H(Z).,

*lF,SiGH(Y)-SI(3NCZ)*THEM,’GOTO’SlGt<Ali:,

ITER:X:»A/2+B/2i,

FDM(1r);.

•IF*SIGH(Y)-SIGN(Z)*THE«*В:-X*ELSE*A t*Xi t

’IP'ABS(A-B)’GE'EPai* THEN'TGOtO*IT!»!,

FIN:

’END*BISEC;,

BEGIN*

‘REAi/SIGMA.EPS.EPSl.AA.BBT,

lNPUT(itEPS,EPSl,AA,BB);,

‘BEGIN*

’REAO* *PROCEDURE*?(SIGMA)'!, ‘REAL*SIGMA;, F:-(SIGMA-ie.O)XIB.;

8ISEC(AA,BB,EPS ,EPSi,F.,8I6KAL,SI!®liA$',i,,

0(/TPUT(3,‘(E‘),SIGMA) ’END*

‘END’.,

SIGNAL.:

‘EMU’;,

Исходные данные: +IOOO ООО 44. +1000 000 44. +1000 000 01.

хат

+2000 000 02.

• Результат вычислений +1599 218 +02 соответствует искокому

16,0000 с погрешностью 16,00000 - 15,99218 = 00,00782.

2.7.5.Нахождение корней функции методом

Ньютона-РаФсона

Определить корень функции f(x) = (х - 16)3 , если дано:

хо =I; tol » ю“^; птак = 1000.

Точное решение х = +16,000. Решение. Первая производная функции

f(х) = 3-(* - I°У

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

- 01-

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

'b e s i m '

’PliOCЕU0НЕ *ИЕНТОIJКАРИСОа(F,РРАЗИ ,Х,Х0,Т0 ..UMAX,NK)., ’VAUUE'XO,TOb,;(MAX.,

*ftEAu'F ,FUABH ,Х,ХО,ТОи., ’irtTEGEft*UMAX., ’ВООЬЕАН’НЯ.,

’BEG1M *

iht e g e k'h :. *йЕАь*1,ЧС.,

Х:-ХО.,

’FOft*Н -1, П+1\Н Ь Е‘АВ!..(IЧС)*GT’TOL,’DO' 'BEGII)'*

IHCW/EDASH.,

X :»X-I,IC.,

'j.?' l’GT*NMAX*THEn' 'b e g i n '

NR:-'FALSE* i, 'g o t o p

'e n d ' 'e n d h .,

NR:-'TRUE*.,

P:

'enunev/ton raphso n,,

TESTBLOCK:

'BEGIN*

r e a l 'x .,

'b o o l e a n'n r .,

NEWTONRAPH;;ON((X-ie.O)US,5(.OX(X-ie.O)XX2,X, 1.0,Ю -6,100

0,NR).f OUTPUT^,'(L'),!№)., OUTPUTS,'(E*),X)

'end 'teltblocic

!

 

'ENU'PKOGRAMM.,

 

 

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

полученный на узкой печати,

 

+

I

 

+15999°8

+02

соответствует искомому

+16,0000 с погрешностью 16,00000 -

15,99998 = 0,00002.

 

 

183

2 Т7.6, Решение уравнения методом Беротоу - Хичкова

Определить корни уравнения

х6 - 2-х5 + 2-х^ + х5 t 6-х2 - 6-х + 8 = 0 ,

при epS 0 = eps I = eps 2 = eps 3 = 10“^ и nrш х = 1000.

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

- 01-

ТРАИСЛЯТОР МЭИ-8

’BEGIN*

'PROCEDURE ’BAIRSTOR(N,A,EPSG,EPS1,EPb2,EPS3,MAX)RESULT:(N0 M,X,Y,NAT,EX).,

'REAL’EPS0,EP8i,E!’S2,EPS3.,

'INTEGER'S,MAX,NUM., 'ARRAY ’A,X,Y., ’INTEGER*’ARRAY’NAT,EX., ’BEGIN’

’REAP’P,ti,CORP,caRQ,UO,UlfVO,Vl,WO,S?l,OET,S,T., ’INTEGER'I, 3 ,K,M,N2,R.,

’ARRAY’S,C(/0:N+1/).,

’FOR’lj»0'STEP *l’UNTIL ’h ’DO ’В(/1/) :»A(/I/)., B(/N+l/):-0.0.,

N2:»E!ITIER((N+l)/2).,

RJ-22N2.,

’EOR'Mi-I ’STEP’l’UNTIL’N2’DO’ ’BEGIN’

P;»Q:»0.0.,

'FOR *K:«i *STEP'i’UNTIL'MAX *00’LABI: ’b e g i n

184

C O U P : -

'F0R*I:*’0’STEP’l’U N m V D 0 ’C(/I/) V*B(/I/).,

’FOR’lV-R-2fR-4’0O’’FOR*;:-O’,STEP*!’UNTIL TlJflO.’

begin

C(/J+i/)l«C(/J+i/)-PXC(/j/).,

C(/J+2/j !“C(/J+2/)-QXC(/j/} *EN0’., " ■ ■ UO:-C(/S/).,

U1:»C(/R-1/).,

VO:"C(/R-2/).,

Vi:-C(/R-3/).,

V,0:“-QIV1.,

V;i:»VG-PXVi.,

0ET:-VO2„i-ViOrVl.,

’lF’ABi;(0ET) ’LT'EPSO ’THEN* ■ 'BEGIN*

P:“P+1.,

Qs»Q+l.,

'GOTO 'labi

*Eil0*., (VO2Ul-UOXVi)/0ET.,

CORQ:«(UOm-V;OXUi)/DET.,

P:«P+GORP.,

Q :°Q+CORQ,,

’lF’(ABS(UO) ’LT’EPSl)’AN0’(ABS(Ui) ’lt ’EPSi) ’THENT

b e g i n

EX(/M/):-i.,

185

GOTO"LABS

’END*.,

*IF '(ABS(CORP) *LT’EPS2) ’AMD’(a BS(C01<Q) ’LT ’EPSg) 'T

HEN’

b e g i n

’GOTO’UBS ’EMU*.,

’If ’(AR.‘>(CORP/P) ’bT *EPS3) ’AND*(ABS(COkG/O) *ЬТ ’EP.S 3) ’THEN*

'b e g i n *

EX(/M/):-S.,

’GOTO*UBS

’END’

-ОЯ-

EX(/M/):-4.,

LABPiS !”-P/2,0,,

T:»sfe-Q.,

i f 't ge 'o t h e n

'begin

NAT(/M/):-i.,

T:-SQRT(f)-.,

X(/K/):»S+T.t

Y(/M/j:»S-T

’BEGIN*

nat( / m/ ) г**” 1 . ,

Y(/M/):-SQRT(-f)

’END’.,

'IF *EX(/H/)»4*THEN” GOTO*OUT.,

R:»R-2.,

'FOIi’j r O ’STEP’i’ U N m V» 0 '

be g i n

B(/J+l/):-B(/J+l/bPXB(/J/).,

B(/J+2/):»B(/J+2/)-QXB(/J/)

'END*.,

’IF ’r ’LT ’i’THEN ’OUT:

b e g i n *

’GOTO’FIN

’END’.,

'IF 'R’LT’S'THEH'

b e g i n '

EX(/M/):-i.,

P!-B(/l/)/B(/0/).,

Qs-B(/2/)/B(/0/);,

’G0T0*WB2

’END’

’END’M.,

f i n :

e n d bairstow..

187

ТЕДБЬОСК! 'BEGIN'

'IHTEG'-R’K.NUM., 'ARRAY'X,Y,A(/Ose/).f

'INTEGER "ARRAY’NA,r,r.(/l:6/)!., A(/0/) ,

A(/i/);-~e.0.t

A(/2/):»2.0.,

A(/S/)s-i.O.,

A(/4/):-6.0., a (/b/)s— e.o;,

A(/6/):-8.0.f

BAIRtTOW(6,A,fC~4,E-4,E-4,E“4,iOOO,MUM,XFY,NAT,EX).,

OUTPUT(5,' (I*),HUM).*

'FOR'K:“i'STEP'l'UNTl L'NUM 'DO'

'BEGIN1

OUTPUT^, '(I*),It,HAT(/K/)fEX(/K/)).,

OUTPUT(3,*(E*),X(/K/),Y(/K/))

'END*

’END'TEitRbOCK

■'ENO'FROGRAMK.,

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

+3

+I I

+2

(5000000 +0С

+8660254 +00'

188

+

2

 

I

+

I

-1000000 +01

+9999999

+00

' +

3

 

I

+

I

+1500000 +CI

+1322875

+01

xl

= 0,5

+ j

0,8660254;

x2

= 0,5 - j

0,8660254;

хЗ * -I +

j 0,9999999; x4 * -I -

j

0,9999999;

x.5 * 1,5 + j

0,1322875;

хб

e 1,5

-

j 0,1322825

соответствуют

искомыми.

 

2.7.7.Решение уравнения методом Ньютоиа-

Миели Определить корни уравнения

х3 - 9,8-х2 - 186-х = О

при ер 5 = 0,0001.

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

- 01- !

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

begin

’PROCЕ00НЕ'НЕWTOШ Н1ЛГ(А,Ч,EPS)RESULT:(2)i,

’VAuUE’M,EPS,,

’REAi/EPS.,

’INTEGER*?».,

'

a r r a y a .z .,

beg in

’REAu'AA.PP.QQ.XO.Xl.,

189

"mEGER*I,M,S>, *ARRAY"B,P,Q(/0:M-i/)i,

"PROCEDURE "HORNER(P,Q,N,X)RESULTs(PP,00).f "VALUE *n ,x ., - "r e a l 'x .p p .q q .,

"INTEGER *N., 'a r r a y *p ,q :, "b e g i n "

"int e g e ri ., PP :-QQs-0.,

"FOR"! :“0’£TEP "i*UNTIL "tl-i"DO*

"beg in"

PPx«PPXX+P(/I/).,

QQ:» QQXX+Q( / 1/ )

"END*!.,

PP:-PPXX+P(/U/) "END’BORi.ER. ,

Р(/0/):-ЛА;«А(/0/)., XO:-PP:»d., S:«SIGN(A(/0/)).,

*FOR"is«i'STEP*1"UNTIL’n 'xX)"’IF'SXA(/I/) "LT’OiTHEN "begin"

"IF "PP“0"ThEN"PP:=I.,

"If *XO'lT"a BS(A(/I/)) "THEM "XO:-ABS(A(/I/)) "END"I.,

XO:» 'IF "PP-O’THEN'O'ELSE "l+EXP(LN(ABS (XO/AA))/PP) .,

"FOR"Iг»О'STEP "i'UNTIL 'N“i*DO"B(/I/):»(N“I)IA(/I/),

*FOR'H:«i"STFP"l'UNTIL VDO'ITERx '

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