Файл: Гемст В.К. Процедуры АЛГОЛ-60 в примерах [практикум].pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 27.07.2024
Просмотров: 106
Скачиваний: 2
КЛ:й>ОМ»»Х
хг-тобчез.,
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
+4897 |
723 +00 |
-2,046 |
+324^ |
606 +00 |
-2,661 |
близки к ожидаемым и отличаются от них не более, чей на 5Я
2.6.2.Генератор случайных чисел с равномерный
|
|
|
|
распределением |
|
|
|
Произвести вычисление |
( S |
) / isj |
и |
( IZ х2L )/N в |
|||
интервале |
[0, |
ij |
для |
ff |
а 500, 1000, |
5000? |
|
Теоретически |
ожидаются величины 0,5 |
и 0,33333...33. |
|||||
Решение. Исходная программа: |
|
|
-С1-
ТРАИСЛйТОР МЭИ-8
'BEGIN'
*НЕАи * *PROCEDURE'RANDOM(А, B . Y ) . ,
'REAL'А,В., 'InTF.GEr 'Y.,
'BEGI' *
Y :- 6 2 5 1 Y .,
Y':«Y -D IV(Y, 1046676 )X104SE7S.,
RAN DOM:» Y /1 04857 6.01 ( B-A) +A
'END*RANDOM.,
TEoTBLOCK:
'BEGIN*
' I !T № h u ',l,Y ,N .,
*REAi/X,Si,G2.,
Y:-333335.,
Л :-22:b O,0, ,
V0rt'.N :“ 500,1000,5000*00’
’ b e g in '
171
Sl:»££:»0,0,f
*f o k *k i“i*step’1'unTib’n 'd o ’
’ BEG Ii'T
X:»KAH»0M(0.9,i.0,Y).,
Si:»Sl+X/N.,
• S8:»E2+XXX/H.,
ENi) .,
0UTPUT(R,’(E'),Si,S8)
’ END*
'Е:а)'ТЕатвьОик
’END’PKOGKAMM.,
Результаты вычислений |
|
|
гГ % |
|
+5064 |
831 |
+00 |
||
+1,29 |
||||
+3393 |
69? |
+00 |
+1,31 |
|
+5037 |
099 |
+00 |
+0,742 |
|
+3326 |
449 |
+00 |
||
-0,026 |
||||
+4934 |
296 |
+00 |
-1,31 |
|
+3270 792 |
+00 |
- 1,88 |
близки к ожидаемым и лучше результатов, полученных в 2.6.1.
2.7.Ряды и полиномы
2.7.1.Возведение ряда в степень
Возвести в квадрате ряд
/ ( х ) . I + х + J L + _ x L + j L + j £ _ + |
~ ех |
|||
2 |
6 |
24 |
120 |
720 |
с последующим суммированием членов полученного ряда при х = I |
||||
Известно, что с точностью до 10 знаков |
е^ = 7,389056099. |
|||
Решение. Исходная программа: |
|
|
|
172
■01
ТРАНСЛЯТОР МЭИ-8
'BEGIN*
'PROCEDURE 'SERIESF./P(A,PtN)RESUUT:( В),, 'VALUE'P ,Н»,
'КЕАь'Р.,
' irteger' n. ,
'ARRAY'А,в.,
*BEGIN*
*REAij*P2,S.,
'ItlTEGER'l,K,,
P2:-'iF'P-O’THEfri'EbSE'P.,
B(/l/):-P2XA(/i/).,
’F0RT:»2’STEP’i’tWm*N*D0’
' begin'
*
S:»o,o.,
'FOR 'K:-i* STEP’i'imTIL’l-i’DO’S:»S+(PX(I-K)-K)XB(/K/
)XA(/I-K/),, ;
B(/I/):=P2XA(/I/)XS/I;
'EMD’I |
! |
'END'SERIBSPWP.,
TE.jTBL.OCK:
'BEGIN '
RFAb i.o.'f
’ ARRAY *AfB ( / i : 6 / ) .f
A(/l/):-1.0.,
A(/2/) :»1.0.,
173
А(/г/)«»о.е;,
. A(/4/J»-i;o/eio:,
A(/6/jj-t:o/24:o;,
A(/e/J:-iiO/i20t.O.,
6EftIESPWP(A,2;0,e,B)i,
ее:-1,о+в(/1/)+в(/2/)+в(/з/)+в(/ч/)+в(/б/)+в(/в/).,
00*PtJT(3,*(E'j,SS) |
' |
- |
- |
TENO'TESTBLOCK
*itiD'PUOORAMMl i
На узкой печати подучен следующий результат вычислений: t7,717754.
2.7.2. Деление степенного ряда на степенной ряд Произвести деление двух рядов
H(Z) |
= ex c w x |
5^1 |
+ х - |
х3 |
5х4 |
|
X5 |
, |
X6 |
|
х? |
|
|
|
|
3 |
24 |
|
24 |
|
48 |
|
144 |
G ( Z) |
= ех ~ I + х |
+ ~~— |
X3 |
|
X4 |
|
X5 |
_ £ |
+ |
||
+ — — |
+ -— — |
|
+ — |
- + |
|||||||
для п = 8. |
|
|
б |
|
24 |
|
120 |
720 |
5040 |
||
|
|
|
|
|
|
|
|
|
|
||
Точное |
значение |
частного |
|
|
|
|
|
|
|
|
|
|
+ J £i.+ J3L ' |
55х7 |
|
|
|
|
|
|
|||
|
|
30 |
720) |
5040 |
|
|
|
|
|
|
Решение. Исходная програима:
- 01-
ТРАНСЛЯТОР МЭИ-3
.Твввхн*
*PfiOCEOUHE*SEHUlV(iS,e)DATARESUbTi(H). ,
174
'INTEGER 'ARRAY *g ,h ., 'be g i n'
'REAl 'ALPHA,BETA;, 'INTEGER'I,J., ALPHA :»i.0/G(/l/).f
'FOR 'j:=1'ГТЕР 'l*UNTIL*N'DO' 'BEGIN'
BETA:»Ai,PHAXH(/j/)i,
'FOR ’i!=J+l’STEP'i*UNTIL'n ’OO 'H(/I/)s-H(/I/)-BETAXGf /1-1+1/)
'E-IO'J.,
•f o r 'j :=i 's t e p 'i 'u n t i l 'n 'd o 'h (/j/):-h (/j/)ialpha 'e n d 'leroiv.,
TElTbl o o k: 'beg in' "
'ARRAY'G,H(/l:8/).f =
в(/1/):-Н(/1/)|-1.0., J
в(/2/):-Н(/2/):-1.0., 8(/8/)t-l. 0/2,0., I G(/4/):=l.0/6.0., G(/5/):»i.o/24.0., G(/6/):=l.0/120.0., I G(/7/):=l.0/720.0., G(/8/) :**1,0/6040.0., h(/S/):-0.0.,
h(/4/):— l.0/3.0.,
175
|
H(/S/):— |
Б.0/2Ч.0., |
'■ |
H(/6/)t— |
i.O/ЙЧ.О., |
'. Н(/7/):»i,0/48,0,,
Н(/в/):«1.С/1ЧЧ,0.,
S E H D I V , 0(!TP0T(3, *(E'),H)
*ENi>*tESTBbOCK
*ENJ‘Pli00RAMM.,
Результат вычислений, полученный на узкой печати,
+9999999 |
+00 |
+3725290 |
-08 |
-5000000 |
+00 |
-1862645 -08 +1862645 -08 +3333333 -01 +6944446 -02 -I26984I -01
совпадает с исковым значением частного в пределах точности работы ЭЦВМ.
2.7,3,аппроксимация рядами Фурье
Произвести аппроксимацию функции |
|
|
|
|||
f(X) * j |
х2 |
при |
0 |
6 х £ ГГ |
||
|
, |
|
_ |
_ |
||
при к я 201 |
{2 ft - х)г |
при |
|
/( |
||
с выдачей на печать |
первых 10 пар коэ<рфициен |
|||||
тов. |
|
|
|
|
|
|
Точное решеьие |
|
|
|
|
|
|
f (х) = — |
- 4 ( |
|
_ Щ 2 х + £ О Ц х _ _ |
|||
|
3 |
I2 |
|
22 |
|
З2 |
Решение. Исходная программа:
176
01'
транслятор нэи-'з -
begin'
*PiiOCEUOKF:*fOURlEH(K>f,)HESmJT :(A ,B ).,
Гу а ь п е ’к-.,
-'Ш ЕйЕк'К .,
•array*А ,В ;,
*КЙАи* ’ PRQCE В(1КЕ*Р *,
*ВГ-СХ-Л*
*REAи*TEMP, Р1 ,Bi,S54,Ci,C2,U0,Ul,02,R
*integer*i.P.'f.,
P I:»3 .i4 l5 0 3 .,
й:и2.0/К . ,
C’i :“ COS (EXPI),,
ca i-i.o .,
sa*.»o.o.,
*KflR*P:“ 0*STEP'i’ 0HTIu*M* 00*
•begin*
0i:**02:“ 0 . 0 . ,
'FOR*I :вК-1*ЗТЁР""1*ВйТ1»>* 1*00-*
•beg in*
U0 i«?(I,K )+ 2 . 0XCftX«i-Dai,
oiV-oo
A(/P/):-a3E(K(0,K)+0UC2-U2)., 3(/P/)V»RXDi»3fi.j TEMPi»ClXC2-31XS2.,
E2 :”fciXS2+S12C2.,
C2V-TEMP
’EHi)*P
*EfW*?<miEii.,
ТЕ5ТВ1Л0К: ’BEGIN* “
*REAl/ *PR0CED0W5*F (I ,K),, *VAuUE*I,fC,, *INTEGER*I,K.,
‘BEGIN* *INTEGER*i.,
*ДЕЛЕ*X,PI.,
PI:-3.141593.,
XJ-2.C2PI/KXI.,
? :“*IF*0’i,E'X’AND’x ’LE *PI*THEN*XXX*Eb8E* (2.0XPI~X)X( 2.0XPI-X)
*E:iB*?.,
’BEGIN*
*INTEGER'S., *ARRAY*A,B(/0:100/)., ?0URIER(201,F,A,В)Г,
’PGR* К:«0*STEP* l'UNTIL,*10*DO* ‘BEGIN*
0DTPUT(5, •(!*),it).,
78
о о т № (з ,’ (г;*),А(/к/),а(/к/))
'e n d * 'END*
'END*ТЕЗТВDOCK ’BNU'PKOGttAMM;,
Результаты вычислений, полученные на узкой печати,
+ |
и |
+6579018 |
+01 |
г0000000 +00 + I -3999809 +01 -3933335 -04 + 2 +9998320 +00
+1074175 |
-04 |
+ |
3 |
-4442814 +00
-2900808 |
-05 |
+ |
4 |
+2498364 |
+00 |
+1317462 |
-05 |
+ |
5 |
-1598368 |
+00 |
-6458743 -06
+ |
6 |
+II09477 |
+00 |
+4239864 |
-06 |
+ |
7 |
-8146905 -01
-27I777I |
-06 |
+ |
8 |
+6233624 |
-01 |
+2185477 |
-06 |