Файл: Гемст В.К. Процедуры АЛГОЛ-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 ex-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)

endexpc.,

TESTBLOCK:

’BEGIN*

reala.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.,

integern.,

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