Файл: Гемст В.К. Процедуры АЛГОЛ-60 в примерах [практикум].pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 27.07.2024
Просмотров: 103
Скачиваний: 2
Ys-AXSIN(B)
'ЕДО’АЫвС,,
TESTBlOCK:
'begin*
’INTEGER*I.,
’ARRAY *2(/i:4,ii2/),A,B(/l j4/) .,
imput(i .x) ,
*POR’Ii“i’STEP *1*UNTIb *4*DO * ’BEGIN’
EXPC(Z(/I,l/),2(/I,2/),A(/I/),B(/I/)).,
AbGC(A(/I/),B(/l/),Z(/I,l/),Z(/I,£/j)
Л OUTPUT(3, ’(E*),Z(/I,i/),Z(/I,2/) ,A(/1/),B(/I/)) ’END’
’end’tebtblock
’END’
Массив исходных данных:
+3,0.
+1,0.
-3,0. +4,0. -3,0.
+0,0 .
+3,0.
-3,0.
Результаты вычислений, полученные на узкой печати, +2999999 +01
+1000000 +01
+3162277 +01 +3217505+00 -2999999 +01
|
+4000000 +01 |
|
||
|
+5000000 +01 |
|
||
|
+2214297 +01 |
|
||
|
-2999999 +01 |
|
||
|
+0000000 |
+00 |
|
|
• |
+3000000 +01 |
|
||
|
+3141592 |
+01 |
|
|
|
+3000000 +01 |
|
||
|
-2999999 |
+01 |
|
|
|
+4242640 +01 |
|
||
|
+5497787 |
+01 |
|
|
практически совпадают с теоретическими. |
||||
|
2.1.5, |
|
Сложение комплексных чисел |
|
Определить результат попарного сложения четырех комплекс |
||||
ных чисел |
Z I = +3 + |
j |
I |
|
|
22 = -3 4 |
j |
4 |
|
|
Z 3 = -3 + |
j' о |
||
|
Z 4 = +3 - |
j |
3. |
Решение. Исходная программа транслятора:
- 01-
ТРАНСЛЯТОР МЭИ-3
"BEGIN’
"PROCEDURE "ADDС(A,BtC,D)REEOLT:(E,Р).,
"VAUIE’A.B.C.D.,
"real'a ,b,c,d,e, p. ,
"BEGIN"
E:*A+C.,
Pi-B+D
"END’ADDC,,
TESTBLOCK:
12
'b e g i n '
'АЙЙАУ'Z l,Z 2 ,Z 3 ,Z 4 (/it2 /), , INPUT(i,Zi,Z2,Z3,Z4).,
ADDC(Zi(/l/) ,Z l(/2 /) ,Z2(/1/) ,Z2(/8/) , U U \ I ) ,Z l(/2 /)) ADDC(Z3(/1/) ,255(/2/) ,2 4 (/l/j ,Z4(/2/) ,Z 3 (/i/j ,K S (/2 /))., 0UTP0T(3,*(E*)tZl,E3)
'END "TESTBbOCK
'END*
Массив исходных данных:
+3,0.
+1,0.
•-3,0.
+*v,0.
-3,0.
+0,0.
+3,0. -5,0.
Результаты вычислений, полученные на узкой печати,
+000ССШ +00
+5000000 +01
+0000000 +00
-5000000 +01
практически совпадают с теоретически*!*,
|
2.1.6, |
Вычитание |
комплексных чисел |
Определят* |
разности кошмексша шее* |
Z I « +3 + J I , |
|
гг * -з * / '* и z з » -з + | о, z* » +з - j з. |
|||
решение. |
входная программа |
трансляторе: |
£3
-01-
'„ ТРАНСЛЯТОР МЭИ-S
'BEGIN*
’PROCEDURE'SUBC(A ,B,C,D)RESULTs(E,F) i, 'VALUE *A,B,C,D;,
'BEAii*A,B,C,D,E,P. , ’BEGIN*
E ***A-C;, ft'-B-D
'EHD’SOBC.,
TESTBbOCR:
‘b e g i n *
’ARRAY'Zi,ZE,Z3,Z4(/l:2/)., INPUT(1,Z1,Z£,Z8,Z4).,
80BC(2i(/i/) ,21(/2/) ,Z2(/l/) ,Z2(/2/) ,Z1(/1/) ,Zi(/2/))., 6DBCUS(/i/) tnU*/) ,«(/!/) ,Z4(/2/) ,Z3(/i/} ,Z3(/2/j)
OOTPOT(8,'(fc'),Zl,Z3) 'ЕЮ'ТЕЗТВИСК
'END *
Массив исходных данных:
+3,0.
+ 1 ,0.
-3,0. +4,0.
-3,0.
+0,0.
+3,0. -3,0.
14
Результаты вычислений, полученные на узкой печати, +6000000 +01 -3000000 +01
-6000000 +01
.+3000000 +01
совпадают с теоретическими.
2,1.7, |
|
Умножение комплексных чисел |
Определить произведение |
комплексных чисел |
|
Z I |
= +3 + j I, |
|
7.2 |
= -3 |
+ j 4, |
Z 3 = -3 |
+ j О, |
Z 4 = +3 - j 3.
Решение. Исходная программа транслятора:
- 01-
ТРАНСЛЯТОР МЭЙ-3
'b e g i n '
'PROCEDURE *MULTC(A ,В,C,D)RESULT:(E,f).,
'VALUE'A.B.C.D., |
I\ |
"REAL'A,B,C,D,E, E., |
j |
'BEGIN* |
; |
E:»AIC-BXD., |
j |
F:-AXD+BXC |
f |
|
|
’END’MULTC., |
' |
TESTBLOCK: |
|
'BEGIN' |
J‘ |
’ARRAY'Zi,Z2,Z3,Z4(/i:2/)., IMPUT(1,Z1,Z2,Z3,Z4).,
M01,TC(21(/i/),Zi(/2/),Z8(/l/)tZ2(/2/),Zl(/l/),21(/2/))l
*
M0LTC(Z3(/jL/),Z8(/2/),Z4(/l/),Z4(/2/),Z8(/l/)tZS(/£/)).
*
OUTPOT(8,'(E’),Zi,Z0)
•iND'TESTBbOCK
*ENB*
Массив исходных данных;
+3,0.
+1,0.
-3,0.
+4,0.
-3,0.
+0 ,0 .
+3,0. -3,0.
Результаты вычислений, полученные на узкой печати, -1300000 +02 +8999999 +01
-89999С9 +01 +8999999 +01
практически совпадают с теоретическими.
2Л . 8. Леденив комплексных чисел Определить частное деления следующих пар комплексных чисел
Z I |
= |
+3 + ) 1 |
|||
2 2 |
= |
- 3 |
+ |
j 4 |
|
2 3 |
= |
+ 3 |
- |
jf |
3 |
2 4 |
= |
-3 + j |
О |
16
© |
Z 5 = Ц t |
j |
6 |
Z 6 a +0 + |
j |
0. |
Решение, Исходная nporpauua транслятора:
- 01-
ТРАНСЛЯТОР НЭИ-3
’BEGIN’
'PROCEDURE’DIVC(A,B,C,D) RESULT :(E,f)., ’VAGUE 'A,B,C,D,,
‘KEAL’A fB,C,D,E,P., ’BEGIN’
’REAL*R,DEN.,
’I F’o o *AND *0-0 'THEN'STOP (77777).,
'IE'ABS(C) ’GT’a BS(D)'t h e n * ’b e g i n ’
R:»D/c,,
DENs-C+RXO.,
E:• (A +BXR) /DEN.,
F:-(B-AXR)/1)EN
’e n d "'else * 'b e g i n *
R:»C/D.,
DEN:»D+RXC.,
e :■(a x r +b)/De n ., F:-(BXR-A)/DEN
’e n d ’
’En d ’d i v c .,
TESTBLOCK:
Гео, r.yблудная научно - тсх::и .е кг библиотек* СС С ?
О1/ОСН0 пол
begin
'ARiUY*Zi,Z2,Z3,Z4,Z6,Ze(/l:2/).,
INPUT(i,Zi,Z2,Z3,24,Z6,Z6).,
DIVC(Zi(/l/) ,Zl(/2/) ,Z2(/1/) ,Z2(/2/) ,Zi(/l/) ,Zi(/2/)) .
OOTPOT(8,*(E*)
DIVC(Z3(/i/) ,Z3(/2/) ,Z4(/i/) ,Z4(/2/) ,ZB(/l/) ,Z3(/2/)) .
OUTPUT(3, *(E*) ,Z3) •,
DI?C(Z6(/1/) ,Z6(/2/) ,Z6(/1/) ,Z6(/2/) ,Z6(/i/) ,Z6(/2/))
’end'testblock
"EHU ’
Массив исходных данных:
+3,0.
+1 ,0 .
-3,0. +4,0.
+3,0. -3,0.
-3,0.
+0 ,0 .
-4,0.
+6 ,0 .
+0 , 0.
+0 ,0 .
Результаты вычислений, полученные на узкой печати,
,-2000000 +00
-6G000G0 +00
|
-1000000 |
+01 |
|
|
|
+1000000 |
+01 |
|
|
совпадают с |
теоретическими. В случае примера |
(Т) |
происз&р |
|
дит деление |
на нуль и это может |
привести к |
"переполнению". |
18
В программе такая возможность предусмотрена и происходи при этом останов процесса вычислений оператором .STOP.
2,1.9, |
Корень комплексного числа |
Определить кррни четвертого |
порядка от числа -I. |
Решение.’Исходная программа транслятора:
- 0 1 -
ТРАНСЛЯТОР мзи-з
’BEGIN'
’PROCEDURE*NR00T(N,R,U)RESULT:(REAL .UNREAL).,
"Value *n, r , u. ,
' re al' r . o. ,
•INTEGER’N.,
'ARRAY’REAL .UNREAL.,
'BEGIN*
•r e a l’ c .m.p i. s .t . ,
'INTEGER'I.,
t4:**l/N,,
P i : - з . 1 4 1 5 0 3 . ,
S:»(RXR+UXU)XX(M/2).,
т j« * i p' r^o *then*s i g«(u) i p i/2 ’else * ' i p ’ r ' gt ' o ' then' arcta
N(U/R) *ELSE'AftCTAN(U/R) +PI»»
'TJ-MXT., C:-2XPIXM.,
'ffOR'l:“i'STEP* 1'UNTIL "N'DO*
'BEGIN'
REAL (/!/) :“SXCOS(T).,
19
OMHRAi,(/I/) I- S r S IN ( T ) .
T:»T+c
’END’ I
’end 'n r o o t ,,
TESTBLOCK:
’BEGIN’ "
*REAL*R,U.,
’i n t e g e r ’m.,
Ns-Ч ., Rs— i.O , , Us-O .O ., ’‘BEGIN*
’ARRAY’REAL,UNREAL ( / i: N / ) . t NROOT(N,R,U, REAL, UNREAL)., OUTPUT(S, ’ ( £ ’) ,REAL,UNREAL)
'END*
‘ *END*'X£STBLOCK ’END’PROGRAM.,
В исходной |
программе вместо |
стандартной функции |
QrcfCfn ( К |
/ Г ) использована функция A RC ( лх , г ) |
|
Результаты |
вычислений, полученные на узкой печати, |
|
|
+707106? |
+00 |
|
-7071069 +00 |
|
|
-707106** |
+00. |
|
■+7071071 |
+00 |
+7071068 +00
+7071066 +00 -7071070 +00 -7071063 +00 ■
практически совпадают с теоретическими
20