聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> 第七章-课后题及补充题

第七章-课后题及补充题

时间:2013-06-08 19:57:09    下载该word文档

第七章

1.给出下面表达式的后缀式:

-a+b*(-c+d)

(A or B) or (not C or D and E)

if (x+y*z)=0 then (a+b)|c else a|b|c

:a-bc-d+*+

AB or Cnot D E and or or

xyz*+0= ab+c| ab|c| if_then_else

2.将表达式-a+b*(c+d)-(a+b+c)分别表示成三元式,间接三元式和四元式。

答:三元式:

(0) + a b

(1) - (0)

(2) + c d

(3) * (1) (2)

(4) + a b

(5) + (4) c

(6) - (3) (5)

间接三元式:

(0) + a b

(1) - (0)

(2) + c d

(3) * (1) (2)

(4) + (1) c

(5) - (3) (4)

间接代码:(0) (1) (2) (3) (0) (4) (5)

四元式:

+ a b t1

- t1 t2

+ c d t3

* t2 t3 t4

+ a b t5

+ t5 c t6

- t4 t6 t7

6.7.3节所说的办法,写出A or ( B and not (C or D))的四元式序列。

(1) jnz A _ _

(2) j _ _ (3)

(3) jnz B _ (5)

(4) j _ _ _

(5) jnz C _ (4)

(6) j _ _ (7)

(7) jnz D _ (5)

(8) j _ _ (1)

真链:(8

假链:(7

6.7.5.1节的办法把下列语句翻译成四元式序列。

while A

if A=1 then C:=C+1 else

while A<=D do A:=A+2;

100 (j< , A , C , 102)

101 (j< , _ , _ , 115)

102 (j< , B , D , 104)

103 (j< , _ , _ , 115)

104 (j= , A , 1 , 106)

105 (j , _ , _ , 109)

106 (+ , C , 1 , t1)

107 (= , t1 , _ , C)

108 (j , _ , _ , 114)

109 (j<= , A , D , 111)

110 (j , _ , _ , 114)

111 (+ , A ,2 , t2)

112 (= , t2 , _ , A)

113 (j , _ , _ , 109)

114 (j , _ , _ , 100)

115

补充:

1. 数组A:array[210,38];B:array[-3,3],存放, A的首地址为100, 每个元素占2个字节;B的首地址为200,每个元素占1字节编址;

对于语句A[m+1,n+2]:=A[B[k+2],5]

:B[k+2]的地址

:A[m+1,n+2]的地址

将该语句翻译成四元式子序列

1. =base-low*w+i*w=200-(-3)*1+(k+2)*1=205+k

2. =base-(low1*n2+low2)*w+(i1*n2+i2)*w

=100-(2*6+3)*2+((m+1)*6+n+2)*2

   =86+(6m+n)*2

3.

(+, m, 1, t1)

(+, n, 2, t2)

(*, t2, 6, t3)

(+, t3, t1, t3)

(-, 100, 30, t4)

(*, 2, t3 , t5 )

(+, k, 2, t6)

(-, 200, -3, t7)

(*, t6, 1, t8)

([]=, t7, t8, t9)

(*, t9, 6, t10)

(+, t10, 5, t11)

(-, 100, 30, t12)

(*,t11,2,t11)

([]=, t12, t11, t13)

(=[], t4 , t5 , t14)

(:= ,t13, _, t14)

将下列赋值语句翻译成三地址代码(下标从0开始,按存储,行列宽为10A,B,C,D为数组的首地址,数组元素宽度为4):

A[i , j]:=B[i , j]+C[A[k , 1]]+D[i+j]

t1:=j*10

t1:=t1+i

t2:=A

t3:=4*t1

t4:=j*10

t4:=t4+i

t5:=B

t6:=4*t4

t7:=t5[t6]

t8:=1*10

t8:=t8+k

t9:=A

t10:=4*t8

t11:=t9[t10]

t12:=C

t13:=4*t11

t14:=t12[t13]

t15:= t7+t14

t16:=i+j

t17:=D

t18:=4*t16

t19:=t17[t18]

t20:=t15+t19

t2[t3] := t20

1. 数组var a:array[1..10,1..20] of real;存放,其首址addA,每个实数占8个字节编址,则语句b:=x+a[i,j]; 的四元式序列是什么?

* i 20 t1

+ j t1 t1

- addrA 168 t2

* 8 t1 t3

[]= t2 t3 t4

+ x t4 t5

:= t5 _ b

将下列表达式转化为四元式:A and (B or C),并给出真假链

1) jnz A _ 3

2) j _ _ _

3) jnz B _ _

4) j _ _ 5

5) jnz C _ 3

6) j _ _ 2

真链:5

假链:6

将以下程序段翻译成四元式序列。

While a0 b0 do

Begin

     X:=X1

     if a0 then a:=a1

         else b:=b1

End

101) j> a 0 105

102) j _ _ 103

103) j< b 0 105

104) j _ _ 115

105) + X 1 t1

106) = t1 _ X

107) j> a 0 109

108) j _ _ 112

109) - a 1 t2

110) = t2 _ a

111) j _ _ 114

112) + b 1 t3

113) = t3 _ b

114) j _ _ 101

115)

免费下载 Word文档免费下载: 第七章-课后题及补充题

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服