Файл: Гемст В.К. Процедуры АЛГОЛ-60 в примерах [практикум].pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 27.07.2024
Просмотров: 121
Скачиваний: 2
j ).
Р?\г
|
I H . ■ 4 - ( I - ) >• |
||
2 Л Л 0 , Вещественная |
степень |
комплексного чиола |
|
Определить |
вещественную степень 1/4 |
комплексного числа -I |
|
Решение. |
Исходная программа транслятора: |
||
|
- 01- |
|
|
|
ТРАНСЛЯТОР мэи-з |
|
|
'BEGIN' |
|
|
|
'РROCEDURE 'P0WC(X ,Y,Ш)ВЕЗОЬТ:(А,В) ., |
|
||
'VAbOE’X,Y,W., |
|
|
|
’REAL*X,Y,W,A,B.P |
i |
|
|
’BEGIN' |
|
; |
|
'real,'pi ,phi ,й ., |
; |
|
|
А :яЭ ;»o., |
i ■ |
|
'i e’x-o 'a :®'y -o ’t h e n ''g o t o 'eim., PI :-3.141593..
P H T : - ' i r ' X - 0 ' T H E N ' 0 . 6 X P I X S I G N ( Y ) ' E L S E * A R C T A N ( Y / X ) + ( T l » i :
x 'g t 'o 't h e n 'o 'e l s e '*i f'y 'ge *0'TBEH*PI*ELSE'-PI) .,
R:e (XXX+YXY)XX(W/2)., |
-/y |
A:eRXCOS(WXPHI).,
В:*>RXSIN(ViXPHI) .,
21
FIN:
*END ‘POIffC;,
TESTBLOCfU
‘BEGIN*
*r b a l ‘x ,y ,w ,a .b*.
IS— iiO.,
YfO.O.,
w'j-о .е б . ,
POWC(X,Y,W,A,B) ,,
0UTPUT(8,’(E*),A,B)
’END ‘TE8T8L0CK
‘END’PftOGRAMM.,
Рееулътаты вычислений, полученные на узкой печати
+707106? +00 +7071068 +00
практически совпадают с теоретическими
1/4
C-D
SfXtIXt Экспонента комплексного числа Определить экспоненту комплексного числа
е2 * * .
Решение. Исходная программа транслятора:
- 01-
ТРАНСЛЯТОР МЭИ-S
*BEGIN' 'PROCEDURE'ВХРС(Х,Y)RESULT:(А,В);, *УАШ* Х , П ,
22
*REAl/A,B,X,Yi,
’BEGIN*
A :*>EXP(X),,
B'j-AXSIN(Y)i,
A:-AXCOS(Y)
•end’ expc.,
TESTBLOCK:
’BEGIN*
•real’a.b.x.y.,
XS“2.0.,
Y2-1.0,, EXPC(X,Y,A,B},, 0UTPUT(3,*(E*),A,B)
"END*TESTBLOCK
•end'pkogramm;.
Результаты вычислений, полученные на узкой печати, +3992324 +01 +62176?6 +01
практически совпадают с теоретическими
е2 COS (I) + j е2 sin (I).
2Л . 12. ЛогаршЬм Комплексного числа Определить натуральный логарифм следующих комплексных чи
сел: -I + j 0; + 4 - ^ 2 ; +lp + j б{ +0 + j 0.
Решение. Исходная программа-транслятора:
- 01-
ТРАНСЛЯТОР МЭИ-3
'BEGIN'
23
'PROCEDURE ’LOGO(A,В,IN PIN)RE8ULT:(C,D) .,
)VALUE *A,B,, 'REAL*A,B,C,D., 'LABEL* INPIN.,
' 'BEGIN*
‘ftEAL *R,PI.,
‘i P'a-O'a ND'b-O'TBEN’'GOTO’INPIN.,
Е|-1.08в781.,
*1 P*AB8(A) *LT*i*AND*ABS(B) 'LT'I'THEN* 'BEGIN*
C:»AB8(BXA) +AB3(£IB).,
DJ-6XA/CIA+8XB/CXB.,
Rt»-R
*END*'ELSE*
'BEGIN*
C J«0,2BIABS(A) +0.26ХАВЙ(В).,
D S-0.26XA/CXA+Ch Й61В/СХВ
*ENO*., Cj-0.6X(LN(C)+|.N(U))+R., Pir*84141598.,
D j»*IH'’A-/0*AND‘a BS(A) ’GE’a BS(B) *TBEN*AKCTa N(B/a )+('IP* a 'GT'o 'THEITO 'ELSE' 'IF’B’GE’o 'TBEN'PI 'ELSE*-?!) 'ELSE'81 GN(B)IPl/2-ARCTAN(A/B)
'END'LOGO.,
TEBTBLOCK:
•BEGIN*
’ARRAY'A,B,C,D(/1j2/).,
24
3NPUT(i,A,B,C,D).,
bOGC(A(/i/) ,A(/£/) ,INFIN.A (/1/) ,A(/2/)).,
OUTPUT(8, '(E"),A).,
LOGC(B(/i/) ,8(/2/),lNPlN,B(/i/) ,B(/2/)).,
OUTPUT(3,’(F'),B).t
bOGC(C(/i/},C(/2/),INPIN,C(/l/),C(/2/)).f
0UTPUT(3,*(E ’),C) ,,
L0GG(D(/i/),t(/2/),lNPlN,D(/l/),D(/2/)).,
OUTPUT(S,*(E’),D).,
'GOTO* FIN.,
1NFIN:ST0P(77777), ,
PIN:
'END "TEUTBuOCK
'END'PROGRAMM.,
Массив исходных данных:
- 1, 0.
+ 0 , 0 .
+4,0.
- 2, 0.
+0 ,0 .
. + 6 , 0 .
+C ,0,
+ 0 , 0 .
Результаты вычислений, полученные на узкой печати, +3465738 +00
+3I4I592 +01
+1844439 +01 -4636476 +00
+2138333 +01
25
+1570796. +01
практически совпадают с теоретическими. В случае числа 0 + j о произошел останов машины оператором .STOP.
г
2.1.13.Комплексная степень комплексного числа
Определить ( a + j 6 )(с + ^ ° 0 |
длн следующих значе |
ний комплексных чисел: |
|
а+ j S = -2 -j 2,
с+ j с/ = I -j I.
Решение. Исходная программа: -01-
ТРАНСЛЯТОР МЭИ-3
’BEGIN*
'FkOCEDUKF ’С0МР0К(А ,B,C.i),M)RESULT:(X,Y)., '
’v a l u e ’a .b .c .d .n., |
|
’REAL’A,B,C,D,X,Y., |
. |
•*INTECEk’(., |
|
’BEGIN* |
|
’КЕАь ’P ,k,V,W.PI., |
|
X:-Y:-0., |
|
Р1:"3.1Ч159266Ч., |
|
*IK’A-O’ANO’B-O’THEM’’GOTO’FIN.,
F :-2XPlXN+(’IP *A=0 ’THEM’sIGH(B)IP 1/2’EL3E ’AftCTAN(B/A) ♦( ’IF 'A'GT ’0'THEM *0 ’ELSE'('if 'b 'GE ’C ’THEm ’PI 'ELSE ’-Г1))).
» |
|
K;*0.6XbM(AXA+BXB)., |
|
V j-CXP +1Kk ., |
' |
26
W;BEXP (CXR-DIP).,
x':-nxcos(v)-i,
Yj- axuinCV).,
PIfU
'EKD'COMPOWi,
TESTBiiOCK:
•begin*
'REAl/A,B,C,D,X,Y.,
•integer’n.,
INPUT(1,N,A,B,C,D),, COMPOV((A,B,C,D,N,X,Y)i, OUTPUT(3, *(E'),X,V). , INPUT(l,N,A,B,C,D):t COMPOW(A,B,C,D,N,X,Y)., OUTPUT(3,*(E*),X,Y)
'ENU’TESTBbOCK ’END ’PKOGRAMM•,
Массив исходных данных:
+ 0 .
- 2 , 0 .
- 2 , 0.
+ 1 , 0.
- 1 , 0 .
+1.
- 2 , 0.
- 2 , 0 .
+1 , 0 .
- 1 , 0 .
27
Результаты вычислений, полученные на узкой печати, -2594558 +00 +6744600 -01 -1389365 +03
+36II67P +02
соответствуют действительным.
2.1,14, Гиперболический синус комплексного
аргумента |
sh(jl), sh(l +41), |
Определить гиперболический синус |
|
sh (2). |
J |
Решение. Исходная программа: |
|
-01- |
|
ТРАНСЛЯТОР МЭИ-5 |
|
'B E G I N *
'’ P K O C F D U K E * S H C ( X , Y ) R E E U L i T : ( A , B ) . ,
■ V A u U E ' X . Y . ,
’ K t A u ’ X . Y . A . B . , ' B E G I N *
A : - ( E X P ( X ) - F X P ( - X ) ) X C O S ( Y ) / 2 . ,
В : » С Ш ( X ) +F. XF ( - X ) ) X S I ' f ( Y ) / 2 ’ E l O ' S H C , ,
Т Е В Т В Ь О С К : ’ B E G I N *
' k E A b ’ X , Y , A , B , , ' i N T F G E k *K , ,
* F O k * K : « i ’ E T F F * 1 ' U N T I L * 5 * D O ’ ’ B E G I N *
28
INPUT(i,X,Y).f
s h c(x ,y , a , b 5. .
CUTPUT(3t’(P’),AfB)
'ENO*
’ENP'TEtlTBLOCK
'ENO’PfiOGKAMM.,
Массив исходных данных:
+0 ,0 .
+1, 0.
+1 ,0.
+1,0.
+2,0.
+0,0.
Результаты вычислений, полученные на узкой печати, +0000000 +00 +8414709 +00 +634-9639 +00 +1298457 +01 +3626860 +01
+000CD00 +00
соответствуют действительный..
2.1.15.Гиперболический косинус комплексного
аргумента
Определить гиперболический косинус ch (4 I), ch (I +^ I),
с/г(2). .
Решение. Исходная программа:
- 01-
ТРАНСЛЯТОР МЭИ-3
’BEGIN'
29
'PROCEDURE 'CRC(X,Y) RESULT:(A ,B)i, 'VALUE'X.Y.,
’REAL’X.Y.A.B.,
'BEGIN* A:-(EXP(X)+EXP(-X))XC03(Y)/2.0.t B;-(EXP (X)-EXP(-X))XSlN(Y)/2.0
'iNll'CHC.,
WSTBLOCK:
'BEGIN'
'REAL'XtY,A,B., INPUT(1,X,Y)., CHC(I,Y,A,B)., 0UTPUT(3,'(E'),A,B)., INPUT(1,X,Y)., CHC(X,Y,A,B).,
OUTPUT (8,'(E'),A,B)., INPUT :i,X,Y).t CHC(X,Y,A,Bj., 0UTPUT(8,'(E’),AfB)
'ENO'TESTBLOCK 'END 'PROGRAMM.,
Массив исходных данных:
+ 0 , 0 .
+1 ,0 .
+1,0. +1,0.
30