搜档网
当前位置:搜档网 › 龙书 第四章课后作业答案

龙书 第四章课后作业答案

龙书 第四章课后作业答案
龙书 第四章课后作业答案

P1774.14 为练习4.3的文法构造一个预测语法分析器

bexpr→bexpr or bterm|bterm

bterm→bterm and bfactor | bfactor

bfactor→not bfactor|(bexpr)|true |false

解1 非递归方法

1)消除左递归

①bexpr→bterm A

②A→or bterm A

③A→ε

④bterm→bfactor B

⑤B→and bfactor B

⑥B→ε

⑦bfactor→not bfactor

⑧bfactor→(bexpr)

⑨bfactor→true

⑩bfactor→false

2)求first集与follow集

针对以同一非总结符开头的产生式右部求first集如果该非终结符能产生ε则需要求其follow集

①bexpr→bterm A first(bterm A)= {not,(,true,false}

②A→or bterm A first(or bterm A)={or}

③A→εfollow(A)=follow(bexpr)= {$, )}

④bterm→bfactor B first(bfactor B)={not,(,true,false}

⑤B→and bfactor B first(and bfactor B)={and}

⑥B→εfollow(B)=follow(bterm)=first(A)

因为first(A)= {or , ε} 包含ε

所以follow(B)=follow(bterm)

=first(A)∪follow(A)-{ε}={or, $, )}

⑦bfactor→not bfactor first(not bfactor)={not}

⑧bfactor→(bexpr)first((bexpr))={(}

⑨bfactor→true first(true)={true}

⑩bfactor→false first(false)={false}

表中空白处填error,表示调用错误处理程序

4)根据步骤3)编写预测分析程序

下面给出通用的预测分析算法,具体程序留给同学们根据算法自己完善。

repeat

X=当前栈顶符号;a=当前输入符号;

if X∈VT∪{#} then

if X=a then

if X≠# then {将X弹出,且前移输入指针}

else error

else

if M[X,a]=Y1Y2…Y k then

{将X弹出;依次将Y k…Y2Y1压入栈;

输出产生式X→Y1Y2…Y k }

else error

until X=#

注:

如果考虑错误恢复,上面的预测分析表还显得简单,应该将每个非总结符的follow集作为同步(sync)记号,便于错误恢复。具体留给感兴趣的同学深入研究

解2:递归下降方法

①消除给定文法中的左递归,并提取公因子:

bexpr→bterm {or bterm }

bterm→bfactor {and bfactor}

bfactor→not bfactor | (bexpr) | true |false

②用类Pascal语言写出其递归预测分析器

PROCEDURE bexpr;

BEGIN

Bterm

WHILE (lookahead =='or')

BEGIN

match ('or');

bterm;

END;

END;

PROCEDURE bterm;

BEGIN

bfactor;

WHILE (lookahead =='and');

BEGIN

match ('and');

bfactor;

END;

END;

PROCEDURE bfactor;

BEGIN

if (llokahead=='not')

then BEGIN

match ('not');

bfactor;

END

else if (lookahead=='(')

then BEGIN

match ('(');

bexpr;

match(')');

END

else if (lookahead =='true')

then match ('true)

else if (lookahead=='false')

then match ('false');

else error;

END;

P1784.24 图4-60给出了练习4.1中文法的算符优先关系,利用这些优先关系分析练习4.1(b)的句子。

S→(L)|a

L→L,S|S

解:

对每个终结符或$建立符号f与g,把f

(和g

)

分成一组。根据文法的算符优先关系表,画出如下的有向图。

优先函数如下:

用算符优先分析法分析句子(a,(a,a))

另外2个句子的分析略。

(也可不必如上面先构造优先矩阵在分析,亦可直接分析)

P1794.35 考虑下面文法

E→E+T|T

T→TF|F

F→F*|a|b

a)试为该文法构造SLR语法分析表

解:

该文法的拓广文法G'为

(0) E' → E

(1) E → E+T

(2) E → T

(3) T → TF

(4) T → F

(5) F → F*

(6) F → a

(7) F → b

其LR(0)项目集规范族和goto函数(识别活前缀的DFA)如下:

= {E'→·E, E→·E+T, E→·T, T→·TF, T→·F, F→·F*,F→·a, F→·b} I

={E'→E·, E→E·+T}

I

1

={E→T·, T→T·F, F→·F*, F→·a, F→·b}

I

2

={T→F·, F→F·*}

I

3

={F→a·}

I

4

={F→b·}

I

5

={E→E+·T, T→·TF, T→·F, F→·F*, F→·a, F→·b}

I

6

={T→TF·, F→F·*}

I

7

={F→F*·}

I

8

={E→E+T·, T→T·F, F→·F*, F→·a, F→·b}

I

9

求FOLLOW集:

FOLLOW(E)={+, $}

FOLLOW(T)={+, $, a, b}

FOLLOW(F)={+, $, a, b, *}

构造的SLR分析表如下:

显然,此分析表无多重定义入口,所以此文法是SLR文法。

P1794.37 a)证明下面的文法是LL(1)文法,但不是SLR(1)文法

S→AaAb|BbBa

A→ε

B→ε

解:

对于产生式S→AaAb|BbBa 来说

FIRST(AaAb)∩FIRST(BbBa)={a}∩{b}=Φ

仅有一条候选式。

而A,B∈V

N

因此,这个文法是LL(1)的。

下面构造这个文法的识别活前缀的DFA。

= {S'→·S, S→·AaAb, S→·BbBa, A→·, B→·} I

I

= {S'→S·}

1

= {S→A·aAb}

I

2

I

= {S→B·bBa}

3

= {S→Aa·Ab, A→·}

I

4

I

= {S→Bb·Ba, B→·}

5

= {S→AaA·b}

I

6

I

= {S→BbB·a}

7

I

= {S→AaAb·}

8

I

= {S→BbBa·}

9

由于FOLLOW(A)=FOLLOW(B)={a, b}

因此项目集I

0中存在归约-归约冲突。在I

状态下,当输入符号是a或是b时,

不知用A→ε还是B→ε进行归约。故此文法不是SLR(1)的。但是,此文法时LR(1)的。

P1794.40证明下面的文法是LR(1)文法

S→Aa| bAc| Bc| bBa

A→d

B→d

拓广文法为:

G' : (0) S'→S

(1) S→Aa

(2) S→bAc

(3) S→Bc

(4) S→bAa

(5) A→d

(6) B→d

有效项目集族为:

I0:

S`→?S ,#

S→?Aa ,#

S→?bAc,#

S→?Bc ,#

S→?bBa,#

A→?d ,a

B→?d ,c I1: goto(I0 ,S)

S`→S?, #

I2: goto (I0 ,A)

S→ A?a ,# I3: goto (I0 ,b)

S→ b?Ac,#

S→ b?Ba,#

A→?d ,c

B→?d ,a I5: goto (I0 ,d)

A→ d ?,a

B→ d ?,c

I7: goto (I3 ,A)

S→ bA?c,#

I11: goto (I7 ,c)

S→ bAc ?,#

I12: goto (I8 ,a)

S→ bBa ?,# I9: goto (I3 ,d)

A→d ?,c

B→d ?,a

LR(1)项目集不存在冲突该文法是LR(1)文法

编译原理龙书答案

P532.8 构建一个语法制导翻译模式,将算术表达式从后缀表示翻译成中缀表示。给出输入95-2*和952*-的注释分析树。(仅供参考一定要保证转换后的中缀表达式与原后缀表达式的优先级相同) 1 后缀算术表达式的文法如下: expr →expr expr + | expr expr – | expr expr * | expr expr / |digit digit →0 | 1 | 2 | 3 | … | 9 2 将后缀表达式翻译成中缀表达式的语法制导定义(文法+语义规则)

4 95-2*和952*-的翻译成后缀形式的语义动作与注释分析树。 expr expr expr * print(‘(‘) print(‘)‘) expr expr - 5 9 digit 2 print(‘-’) ‘9’) print(‘5’) print(‘2’) print(‘*’) 95-2*的深度优先遍历语义动作 expr expr expr - print(‘(‘) print(‘)‘) expr expr digit 2 digit 5 digit 9 print(‘*’) ‘5’) print(‘2’) print(‘9’) print(‘-’) 952*-的深度优先遍历语义动作

expr.t=(9-5)*2 expr=(9-5) expr.t=2 * expr.t=9 expr.t=5 - digit.t=5 5 digit.t=9 9 digit.t=2 2 输入为95-2*的注释分析树 expr.t=(9-5*2) expr.t=5*2 expr.t=9 - expr.t=5 expr.t=2 * digit.t=2 2 digit.t=5 5 digit.t=9 9 输入为952*-的注释分析树

第四章 作业答案

4.2.1 有一电源和负载都是星形联结的对称三相电路,已知电源相电压为 220 V,负载每相 阻抗模 Z 为10Ω,试求负载的相电流和线电流,电源的相电流和线电流。 解:负载相电压 220P U V = 负载相电流 220 2210P P U I A Z === 负载线电流 22L P I I A == 电源线电流 22SL L I I A == 电源相电流 22SP SL I I A == 4.2.3 有一电源为三角形联结, 而负载为星形联结的对称三相电路, 已知电源相电压为 220 V, 每相负载的阻抗模Z 为 10 Ω, 试求负载和电源的相电流和线电流。 解:电源线电压 220SL U V = 负载线电压 220L SL U U V == 负载相电压 127 P U V === 负载相电流 12712.710P P U I A Z === 负载线电流 12.7L P I I A == 电源线电流 12.7SL L I I A == 电源相电流 7.33 SP I A === 4.3.1. 有三个相同的电感性单相负载,额定电压为 380 V,功率因素为 0.8, 在此电压下消耗的有功功率为 1.5 kW 。把它接到线电压为 380 V 的对称三相电源上, 试问应采用什么样的联结方式? 负载的 R 和 X L 是多少?

解:三角形联接。31.510 4.933800.838077.14.93cos 77.10.861.7sin 77.10.646.3P P P P L P I A U U Z I R Z X Z λ???= ==??===Ω ==?=Ω ==?=Ω 4.3.2 某三相负载,额定相电压为 220 V,每相负载的电阻为4Ω, 感抗为 3Ω, 接于线电压为 380 V 的对称三相电源上, 试问该负载应采用什么联结方式?负载的有功功率、无功功率和视在功率? 解:星形联接。 5 Z = ==Ω 2204454cos 0.853sin 0.6 5P P L U I A Z R Z X Z ??== ======= 3cos 32200.8232323sin 32200.6174243322029040P P P P P P P U I W Q U I Var S U I V A ??==??===??===?=? 4.3.6 电路如图所示,在 220/380 V 的低压供电系统中, 分别接有30只日光灯和一台三相电动机, 已知每只日光灯的额定值为:U N = 220 V, P N = 40 W, λN = cos ?N = 0.5,日光灯分三 组均匀接入三相电源。电动机的额定电压为380 V,输入功率为3 kW,功率因素为 0.8, 三角形联结,求电源供给的线电流。 解: 01arccos 0.560?== 02arccos 0.836.9?== 3P = P1 + P2 = (4030310)W =4 200W ?+? L 1 L 2 L 3 N I L

第4章习题答案

书中图4.18是否错了。 G2A 输入控制端 习 题 一、填空题 1. 常用的译码器电路有二-四译码器、二-十进制译码器和三-八译码器。 2. 由发光二极管构成的七段数码管的两种接法分别为共阳极接法和共阴极接法。 3. 在优先编码器中,是优先级别高的编码排斥优先级别低的。 4. 消除组合逻辑电路竞争冒险的方法有引入选通脉冲、输出接滤波电容和修改逻辑设计等。 5. 如果对键盘上108个符号进行二进制编码,则至少要7位二进制数码。 6. 一个二进制译码器由n 个输入端,它的输出端最多有2n 个。 二、分析与设计题 1. 写出题图4.1所示电路的输出信号表达式,并说明其功能。 A B Y 题图4.1 解:'')')')'(()')'(((B A AB B A B B A A Y +=+++++= 实现同或功能 2. 分析题图4.2所示电路的逻辑功能。 解:B A AB AB B AB A Y '')')')'(()')'(((+== 实现异或功能 3. 分析题图 4.3所示电路的逻辑功能,并判断能否化简,若能,则化简,并修改逻辑设计。 解: C B BC C B C B BC C B BC C AB C B AB C A F ⊕=+=+=++=⊕++='')'''()'''''()'')'()''(( 能化简,化简结果为B 异或C 。 修改逻辑设计如图 B C F

A B Y Z A B C F 题图4.2 题图4.3 4. 用与非门设计一个4变量的多数表决电路。设输出为Y,当输入A、B、C、D有3个或3个以上为1时,输出为1,其他情况输出为0。要求:列出真值表,写出输出逻辑表达式,画出逻辑电路图。 解:列真值表 A B C D Y 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1 写出逻辑表达式 )')' ()' ()' ()' ((' ' ' ' BCD ACD ABD ABC ABC ABD ACD BCD ABCD ABCD D ABC CD AB BCD A Y = + + + = + + + + = 画出逻辑电路图如图

编译原理第第7和第8章作业

第七章作业 练习7.2.5:在一个通过引用传递参数的语言中,有一个函数f(x,y)完成下面的计算:x=x+1;y=y+2;return x+y; 如果将a赋值为3,然后调用f(a,a),那么返回值是什么? 解:执行语句x=x+1,则a=a+1=4, 再执行语句y=y+2,则a=a+2=5, 最后返回x+y,则返回a+a=9。 练习7.2.6:C语言函数f的定义如下: int f(int x,*py,**ppz) { **ppz+=1;*py+=2;x+=3;return x+*py+**ppz; } 变量a是一个指向b的指针;变量b是一个指向c的指针,而c是一个当前值为4的整数变量。如果我们调用f(c,b,a),返回值是什么? 解:先执行语句**ppz+=1,则c=*b=**a=5, 再执行语句*py+=2,则*b=*b+2=7,c=*b=**a=7, 接着执行语句x+=3,则x=4,x=x+3=7,而c=*b=**a=7, 最后执行语句return x+*py+**ppz,则返回7+7+7=21。 练习7.3.2:假使我们使用显示表来实现下图中的函数。请给出对fib0(1)的第一次调用即将返回时的显示表。同时指明那时在栈中的各个活动记录中保存的显示表条目。 计算Fibonacci数的嵌套函数 解:

第八章练习 练习8.2.1:假设所有的变量都存放在内存中,为下面的三地址语句生成代码: 5)两个语句的序列 x=b*c y=a+x 解:生成的代码如下: LD R1, b LD R2, c MUL R1, R1, R2 ST x, R1 LD R2, a ADD R1, R2, R1 ST y, R1 练习8.2.6:确定下列指令序列的代价。 1)LD R0,y LD R1,z ADD R0,R0,R1 ST x,R0 解:2+2+1+2=7 2)LD R0,i MUL R0,R0,8 LD R1,a(R0) ST b,R1 main() fib0(4) 保存的d[2] fib1(4) 保存的d[3] fib2(4) 保存的d[4] fib1(3) 保存的d[3] fib0(2) 保存的d[2] fib1(2) 保存的d[3] fib0(1) 保存的d[2] d[1] d[2] d[3] d[4]

编译原理龙书课后部分答案(英文版)

1) What is the difference between a compiler and an interpreter? A compiler is a program that can read a program in one language - the source language - and translate it into an equivalent program in another language – the target language and report any errors in the source program that it detects during the translation process. Interpreter directly executes the operations specified in the source program on inputs supplied by the user. 2) What are the advantages of: (a) a compiler over an interpreter a. The machine-language target program produced by a compiler is usually much faster than an interpreter at mapping inputs to outputs. (b) an interpreter over a compiler? b. An interpreter can usually give better error diagnostics than a compiler, because it executes the source program statement by statement. 3) What advantages are there to a language-processing system in which the compiler produces assembly language rather than machine language? The compiler may produce an assembly-language program as its output, because assembly language is easier to produce as output and is easier to debug. 4.2.3 Design grammars for the following languages: a) The set of all strings of 0s and 1s such that every 0 is immediately followed by at least 1. S -> SS | 1 | 01 | 4.3.1 The following is a grammar for the regular expressions over symbols a and b only, using + in place of | for unions, to avoid conflict with the use of vertical bar as meta-symbol in grammars: rexpr -> rexpr + rterm | rterm rterm -> rterm rfactor | rfactor rfactor -> rfactor * | rprimary rprimary -> a | b a) Left factor this grammar. rexpr -> rexpr + rterm | rterm rterm -> rterm rfactor | rfactor rfactor -> rfactor * | rprimary rprimary -> a | b

第四章作业答案

第四章作业答案 6.确定{1, 2,…, 8}的下列排列的逆序列。 ⅰ) 35168274 ⅱ) 83476215 解ⅰ) 35168274的逆序列是2, 4, 0, 4, 0, 0, 1, 0。 ⅱ) 83476215的逆序列是6, 5, 1, 1, 3, 2, 1, 0。 7.构造{1, 2,…, 8}的排列,其逆序列是 ⅰ) 2, 5, 5, 0, 2, 1, 1, 0 ⅱ) 6, 6, 1, 4, 2, 1, 0, 0 解ⅰ) □□1□□□□□ □□1□□□2□ □□1□□□23 4□1□□□23 4□1□5□23 4□165□23 4□165723 4 8 1 6 5 7 2 3 逆序列是2, 5, 5, 0, 2, 1, 1, 0的排列是48165723。 ⅱ)□□□□□□ 1 □ □□□□□□ 1 2 □ 3 □□□□12 □ 3 □□□412

□ 3 □5□412 □ 3 65□412 7 3 65□412 7 3 658412 逆序列是6, 6, 1, 4, 2, 1, 0, 0的排列是73658412。 15.对于{x7, x6,…, x1, x0}的下列每一个组合,通过使用基为2的生成 算法确定其直接后继组合: ⅰ) {x4, x1, x0} ⅱ) {x7, x5, x3} ⅲ) {x7, x5, x4, x3, x2, x1, x0} ⅳ) {x0} 解ⅰ) {x4, x1, x0} 对应0和1的8-元组00010011,使用基为2的生成算法求得j = 2,确定00010011的下一个8-元组是00010100,其对应的组合是{x4, x2}。因此,{x4, x1, x0}的直接后继组合是 {x4, x2}。 ⅱ) {x7, x5, x3}对应0和1的8-元组10101000,使用基为2的生成算法求得j= 0,确定10101000的下一个8-元组是10101001,其对应的组合是{x7, x5, x3, x0}。因此,{x7, x5, x3}的直接后继组合是 {x7, x5, x3, x0}。 ⅲ) {x7, x5, x4, x3, x2, x1, x0}对应0和1的8-元组10111111,使用基为2的生成算法求得j= 6,确定10111111的下一个8-元组是11000000,其对应的组合是{x7, x6}。因此,{x7, x5, x4, x3, x2, x1, x0}

编译原理第4章作业答案

第四章 习题4.2.1:考虑上下文无关文法: S->S S +|S S *|a 以及串aa + a* (1)给出这个串的一个最左推导 S -> S S * -> S S + S * -> a S + S * -> a a + S * -> aa + a* (3)给出这个串的一棵语法分析树 习题4.3.1:下面是一个只包含符号a和b的正则表达式的文法。它使用+替代表示并运算的符号|,以避免和文法中作为元符号使用的竖线相混淆: rexpr→ rexpr + rterm | rterm rterm→rterm rfactor | rfactor rfactor→ rfactor * | rprimary rprimary→a | b 1)对这个文法提取公因子 2)提取公因子的变换使这个文法适用于自顶向下的语法分析技术吗? 3)提取公因子之后,原文法中消除左递归 4)得到的文法适用于自顶向下的语法分析吗? 解 1)提取左公因子之后的文法变为 rexpr→ rexpr + rterm | rterm rterm→rterm rfactor | rfactor rfactor→ rfactor * | rprimary rprimary→a | b 2)不可以,文法中存在左递归,而自顶向下技术不适合左递归文法 3)消除左递归后的文法

rexpr -> rterm rexpr’ rexpr’-> + rterm rexpr’|ε rterm-> rfactor rterm’ rterm’-> rfactor rterm’|ε rfactor-> rprimay rfactor’ rfactor’-> *rfactor’|ε rprimary-> a | b 4)该文法无左递归,适合于自顶向下的语法分析 习题4.4.1:为下面的每一个文法设计一个预测分析器,并给出预测分析表。可能要先对文法进行提取左公因子或消除左递归 (3)S->S(S)S|ε (5)S->(L)|a L->L,S|S 解 (3) ①消除该文法的左递归后得到文法 S->S’ S’->(S)SS’|ε ②计算FIRST和FOLLOW集合 FIRST(S)={(,ε} FOLLOW(S)={),$} FIRST(S’)={(,ε} FOLLOW(S’)={),$} ③ (5) ①消除该文法的左递归得到文法 S->(L)|a

第4章作业答案

8、 (a) 用户王明对两个表有select权力 GRANT SELECT ON职工 TO 王明 GRANT SELECT ON部门 TO 王明 (b) 用户李勇对两个表有insert和delete权力 GRANT INSERT, DELETE ON职工 TO 李勇; GRANT INSERT, DELETE ON部门 TO 李勇; (d) 用户刘星对职工表有select权力,对工资字段具有更新权力 GRANT SELECT ,UPDATE(工资) ON 职工 TO 刘星 (e) 用户张新具有修改这两个表的结构的权力 GRANT ALTER TABLE ON 职工 TO 张新; GRANT ALTER TABLE ON 部门 TO 张新; (f) 用户周平具有对两个表所有权力,并具有给其他用户授权的权利 GRANT ALL PRIVILIGES ON 职工 TO 周平

WITH GRANT OPTION; GRANT ALL PRIVILIGES ON部门 TO 周平 WITH GRANT OPTION; (g) 用户杨兰具有从每个部门职工中select最高工资,最低工资,平均工资的权力,他不能 查看每个人的工资 --创建视图 CREATE VIEW 部门工资 AS SELECT 部门号,MAX(工资),MIN(工资),AVG(工资) FROM 职工 GROUP BY部门号; --在视图上授权 GRANT SELECT ON 部门工资 TO 杨兰; 9、把习题8中的每一种情况,撤销各用户所授予的权力 (a) REVOKE SELECT ON职工 FROM 王明; REVOKE SELECT ON部门 FROM 王明; (b)

编译原理 龙书答案

第四章部分习题解答 Aho:《编译原理技术与工具》书中习题 (Aho)4.1 考虑文法 S →( L ) | a L →L, S | S a)列出终结符、非终结符和开始符号 解: 终结符:(、)、a、, 非终结符:S、L 开始符号:S b)给出下列句子的语法树 i)(a, a) ii)(a, (a, a)) iii)(a, ((a, a), (a, a))) c)构造b)中句子的最左推导 i)S?(L)?(L, S) ?(S, S) ?(a, S) ?(a, a) ii)S?(L)?(L, S) ?(S, S) ?(a, S) ?(a, (L)) ?(a, (L, S)) ?(a, (S, S)) ?(a, (a, S) ?(a, (a, a)) iii)S?(L)?(L, S) ?(S, S) ?(a, S) ?(a, (L)) ?(a, (L, S)) ?(a, (S, S)) ?(a, ((L), S)) ?(a, ((L, S), S)) ?(a, ((S, S), S)) ?(a, ((a, S), S)) ?(a, ((a, a), S)) ?(a, ((a, a), (L))) ?(a, ((a, a), (L, S))) ?(a, ((a, a), (S, S))) ?(a, ((a, a), (a, S))) ?(a, ((a, a), (a, a))) d)构造b)中句子的最右推导

i)S?(L)?(L, S) ?(L, a) ?(S, a) ?(a, a) ii)S?(L)?(L, S) ? (L, (L)) ?(L, (L, S)) ?(L, (L, a)) ?(L, (S, a)) ?(L, (a, a)) ?(S, (a, a)) ?(a, (a, a)) iii)S?(L)?(L, S) ?(L, (L)) ?(L, (L, S)) ?(L, (L, (L))) ?(L, (L, (L, S))) ?(L, (L, (L, a))) ?(L, (L, (S, a))) ?(L, (L, (a, a))) ?(L, (S, (a, a))) ?(L, ((L), (a, a))) ?(L, ((L, S), (a, a))) ?(L, ((L, a), (a, a))) ?(L, ((S, a), (a, a))) ?(L, ((a, a), (S, S))) ?(S, ((a, a), (a, a))) ?(a, ((a, a), (a, a))) e)该文法产生的语言是什么 解:设该文法产生语言(符号串集合)L,则 L = { (A1, A2, …, A n) | n是任意正整数,A i=a,或A i∈L,i是1~n之间的整数} (Aho)4.2考虑文法 S→aSbS | bSaS | ε a)为句子构造两个不同的最左推导,以证明它是二义性的 S?aSbS?abS?abaSbS?ababS?abab S?aSbS?abSaSbS?abaSbS?ababS?abab b)构造abab对应的最右推导 S?aSbS?aSbaSbS?aSbaSb?aSbab?abab S?aSbS?aSb?abSaSb?abSab?abab c)构造abab对应语法树 d)该文法产生什么样的语言? 解:生成的语言:a、b个数相等的a、b串的集合 (Aho)4.3 考虑文法 bexpr→bexpr or bterm | bterm bterm→bterm and bfactor | bfactor bfactor→not bfactor | ( bexpr ) | true | false a)试为句子not ( true or false)构造分析树 解:

龙书 第四章课后作业答案

P1774.14 为练习4.3的文法构造一个预测语法分析器 bexpr→bexpr or bterm|bterm bterm→bterm and bfactor | bfactor bfactor→not bfactor|(bexpr)|true |false 解1 非递归方法 1)消除左递归 ①bexpr→bterm A ②A→or bterm A ③A→ε ④bterm→bfactor B ⑤B→and bfactor B ⑥B→ε ⑦bfactor→not bfactor ⑧bfactor→(bexpr) ⑨bfactor→true ⑩bfactor→false 2)求first集与follow集 针对以同一非总结符开头的产生式右部求first集如果该非终结符能产生ε则需要求其follow集 ①bexpr→bterm A first(bterm A)= {not,(,true,false} ②A→or bterm A first(or bterm A)={or} ③A→εfollow(A)=follow(bexpr)= {$, )} ④bterm→bfactor B first(bfactor B)={not,(,true,false} ⑤B→and bfactor B first(and bfactor B)={and} ⑥B→εfollow(B)=follow(bterm)=first(A) 因为first(A)= {or , ε} 包含ε 所以follow(B)=follow(bterm) =first(A)∪follow(A)-{ε}={or, $, )} ⑦bfactor→not bfactor first(not bfactor)={not} ⑧bfactor→(bexpr)first((bexpr))={(} ⑨bfactor→true first(true)={true} ⑩bfactor→false first(false)={false} 表中空白处填error,表示调用错误处理程序 4)根据步骤3)编写预测分析程序 下面给出通用的预测分析算法,具体程序留给同学们根据算法自己完善。 repeat

第4章作业答案

第4章作业答案 一、选择题 23.液压缸差动连接工作时,缸的速度( A ) 增加了,缸的输出力( D )。 A.运动速度增加了B.输出力增加了C.运动速度减少了D.输出力减少了 24.在某一液压设备中需要一个完成很长工作行程的液压缸,宜采用下述液压缸中的( D ) A.单活塞液压缸B.双活塞籽液压缸c.性塞液压缸D.伸缩式液压缸 43.单杆活塞液压缸作为差动液压缸使用时,若使其往复速度相等,其活塞直径应为活塞杆直径的( C ) 倍。 A、2 B、3 C、2 D、3 47.一般单杆油缸在快速缩回时,往往采用( C )。. A、有杆腔回油无杆腔进油;. B、差动连接; c、有杆腔进油无杆腔回油。53.摆动气缸传递的是( B)。 A、力 B、转矩 C、曲线运动。 二.判断题正确的在括号内填Y 错的在括号内填 N 9.如果不考虑液压缸的泄漏,液压缸的运动速度只决定于进入液压缸的流量 ( Y ) 10.单活塞杆液压缸缸筒固定时液压缸运动所占长度与活塞杆固定的不相等 ( Y ) 11.液压缸输出推力的大小决定进入液压缸油液压力的大小 ( Y ) 22、在流量相同的情况下,液压缸直径越大,活塞运动速度越快。 ( N ) 23、在液压传动系统中,为了实现机床工作台的往复速度一样,采用双出杆活塞式液压缸。( Y ) 24、由于油液在管道中流动时有压力损失和泄漏,所以液压泵输入功率要小于输送到液压缸的功率。( N ) 25、将单杆活塞式液压缸的左右两腔接通,同时引入压力油,可使活塞获得快速运动。( Y ) 16.因存在泄漏,因此输入液压马达的实际流量大于其理论流量,而液压泵的实际输出 流量小于其理论流量。( Y ) 三、计算题 1、某液压马达排量V M=250mL/r,人口压力为9.8MPa,出口压力为0.49MPa, 其总效率为η=0.9,容积效率为ηv=0.92。当输人流量为22L/min时,试求: ①液压马达的输出转矩; ②液压马达的输出转速(nM)。 [答案] ①T=362.6 N·m ②nm=81 r/|min 液压马达的输出转矩为 液压马达的转速nM为

统计学第4章作业参考答案.

第四章 动态数列 一、单项选择 1、关于发展水平的下列说法不正确的是 ( C ) A 、发展水平又称为动态数列水平 B 、发展水平实际就是动态数列中的各项具体的指标值 C 、发展水平往往表现为总量指标 D 、发展水平一般用i a 表示 2、下列指标属于时点指标的是 ( D ) A 、工资总额 B 、国内生产总值 C 、商品销售额 D 、固定资产价值 3、某企业2005年至2011年月人均收入分别为4450元、4550元、4615元、4625元、4750元、4900元和5400元,该企业月人均收入的平均发展速度为 ( A ) A 、103.3% B 、102.8% C 、98.6% D 、105.3% 4、时期数列平均发展水平的计算公式是 ( D ) A 、1221321 -+ ++++-n a a a a a n n B 、∑∑f af C 、nf a ∑ D 、n a ∑ 5、下列表述不正确的是 ( B ) A 、环比发展速度的连乘积等于相应的定基发展速度 B 、环比增长速度的连乘积等于相应的定基增长速度 C 、环比增长速度=环比发展速度-1 D 、定基增长速度=定基发展速度-1 6、某企业2012年6月30日职工人数为435人, 7、 8、9月末职工人数分别为452人、462人和576人,则该企业第三季度平均职工人数为 ( C ) A 、497人 B 、496人 C 、473人 D 、475人 7、某地区生产总值2011年比2010年增长15%,2010年比2009年增长12%,2009年比2008年增长10%,则2011年比2008年增长 ( D ) A 、37% B 、18% C 、41.5% D 、41.7% 8、若各年环比增长速度保持不变,则各年的增长量 ( A ) A 、逐年增加 B 、逐年减少 C 、保持不变 D 、无法判断 9、以1978年为基期,2011年为报告期,计算某现象的平均发展速度应开( D ) A 、30次方 B 、31次方 C 、32次方 D 、33次方 10、平均发展速度是 ( C ) A 、定基发展速度的算术平均数 B 、环比发展速度的算术平均数 C 、环比发展速度的几何平均数 D 、增长速度加上100% 11、下列数列中属于动态数列的是 ( D ) A 、学生按成绩分组形成的数列 B 、工业企业按地区分组形成的数列 C 、职工按工资水平高低排列形成的数列 D 、进出口总额按时间先后顺序排列形成的数列

编译原理龙书第六章课后作业答案

6.1 假如有下面的Pascal说明 TYPE atype=ARRAY [0..9,-10..10] OF integer; cell=RECORD a,b:integer END; pcell=↑cell; foo=ARRAY [1..100] OF cell; FUNCTION bar(r:integer;y:cell):pcell; BEGIN……END; 写出atype,cell,pcell,foo和bar的类型表达式。 解答: atype: ARRAY(0..9, ARRAY(-10..10, integer)); cell: RECORD((a× integer)× (b×integer)); pcell: POINTER(cell); 或 : POINTER(RECORD((a ×integer)× (b× integer))); foo: ARRAY(1..100, cell); 或 : ARRAY(1..100, RECORD((a ×integer)× (b× integer))); bar: integer× cell→pcell; 或 : integer× cell→POINTER(RECORD((a×integer) ×(b×integer))); 6.4 假定类型定义如下: TYPE link=↑cell; cell=RECORD info:integer; next: link END; 下面哪些表达式结构等价?哪些名字等价? (1)Link (2)pointer(cell) (3)pointer(Link) (4)pointer(record(info?integer)?(next ? pointer(cell))) 解答:(1)(2)(4)结构等价,无名字等价。

最新计算机组成原理第四章作业答案(终板)

1 第四章作业答案 2 4.1 解释概念:主存、辅存,Cache, RAM, SRAM, DRAM, ROM, 3 PROM ,EPROM ,EEPROM CDROM, Flash Memory. 4 解:1主存:主存又称为内存,直接与CPU交换信息。 5 2辅存:辅存可作为主存的后备存储器,不直接与CPU交换信息,容量比主存6 大,速度比主存慢。 7 3 Cache: Cache缓存是为了解决主存和CPU的速度匹配、提高访存速度的一8 种存储器。它设在主存和CPU之间,速度比主存快,容量比主存小,存放CPU 9 最近期要用的信息。 10 4 RAM; RAM是随机存取存储器,在程序的执行过程中既可读出信息又11 可写入信息。 12 5 SRAM: 是静态RAM,属于随机存取存储器,在程序的执行过程中既可读出信13 息又可写入信息。靠触发器原理存储信息,只要不掉电,信息就不会丢失。 14 6 DRAM 是动态RAM,属于随机存取存储器,在程序的执行过程中既可读出信15 息又可写入信息。靠电容存储电荷原理存储信息,即使电源不掉电,由于电容16 要放电,信息就会丢失,故需再生。 17 7 ROM: 是只读存储器,在程序执行过程中只能读出信息,不能写入信息。 18 8 PROM: 是可一次性编程的只读存储器。 19 9 EPROM 是可擦洗的只读存储器,可多次编程。 20 10 EEPROM: 即电可改写型只读存储器,可多次编程。

21 11 CDROM 即只读型光盘存储器。 22 12 Flash Memory 即可擦写、非易失性的存储器。 23 24 4.3 存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机25 如何管理这些层次? 26 答:存储器的层次结构主要体现在Cache—主存和主存—辅存这两个存储27 层次上。 28 Cache—主存层次在存储系统中主要对CPU访存起加速作用,即从整体运29 行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却30 接近于主存。 31 主存—辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,32 他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。 33 综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、34 容量大、位价低的优化效果。 35 主存与Cache之间的信息调度功能全部由硬件自动完成。而主存—辅36 存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部份通过37 软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地38 址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由39 软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两40 个层次上的调度或转换操作对于程序员来说都是透明的。 41 42

电机学第四章作业答案

4.4 4.10 (1)e N N N a c n U I R φ=- 22068.70.224 0.13641500 N N a e N U I R c n φ--?= == 01612.8/min N e U n r c φ = = min max 0(1)(130%)1612.81128.97/min n n r δ=-?=-?= (2)min 1500 1.331128.97 N n D n = == (3)01612.81500112.8/min N N n n n r ?=-=-= 0min 1612.81128.97483.83/min n n n r ?=-=-= a a N R R n R n +?=? 483.83 ( 1)(1)0.2240.737112.8 a N n R R n ?=-=-?=? (4)输入功率:122068.715114N N P U I W ==?= 输出功率:min 2 1128.97 130009784.41500 N N n P P n =? =?= 外串电阻损耗:2 2 68.7 0.7373478.4a P I R W ==?=

4.15 解:(1)启动电流:1497A N S a U I R = = (2)设启动电流min 1.199A S N I I == 串电阻启动,应串电阻:min 2.057N a S U R R I = -=Ω 降压启动,降压到:min 14.6V a S U R I == 4.21 解:(1)0.3905N N a e N N U I R C n -Φ= = 电动机的转速:1187rpm N a a e N U I R n C --= =-Φ 负载转矩:223.8Nm L T N a T C I =Φ= 回馈电源的电功率:26.4kW N a P U I =-=- (2)电枢 1.56e N a a C n R R I -Φ= -=Ω 串入的电阻消耗功率:2 5.616kW a P I R == (3)电枢 12.47N e N a a U C n R R I -Φ= -=Ω 电源送入电动机的电功率:26.4kW N a P U I == 串入的电阻消耗功率:2 44.9kW a P I R == 4.22 下列各种情况下,采用电动机惯例的一台他励直流电动机运行在什么状态: (1)a N E U >,0n >; 回馈制动,正转 (2)10P >,0M P <;反接制动/倒拉反转 (3)0a E <,0a a E I >;电动状态,反转; (4)10P >,0M P >;电动状态,正转 (5)0T >,0n <,N U U =;倒拉反转制动

编译原理 龙书答案

第五章部分习题解答 Aho:《编译原理技术与工具》书中习题 (Aho)5.3 为下面表达式构造有向无环图,标出结点(子表达式)编号,+是左结合的 a + a + (a + a + a + (a + a + a + a)) 解: (Aho)5.5 设计语法制导定义,实现多项式(包含+和*,如x*(3*x+x*x))的求导,结果无需化简,如3*x直接翻译为3*1+0*x即可。(思路:(xy)?=x?y+y?x,(x+y)?=x?+y?) 解: 综合属性diff为求导后的表示形式,val为原多项式表示形式 E→E1 + T { E.val = E1.val || “+” || E.val; E.diff = E1.diff || “+” || E.diff; } | T { E.val = T.val; E.diff = T.diff; } T→T1 * F { T.val = T1.val || “*” || F.val; T.diff = “(” || T1.diff || “*” || F.val || “+” || T1.val || “*” || F.diff || “)”; } | F { T.val = F.val; T.diff = F.diff; } F→( E ) { F.val = “(” || E.val || “)”; F.diff = “(” || E.diff || “)”; } | num { F.val = num.val; F.diff = 0; } | x { F.val = “x”; F.diff = 1; } 此题和后面两题均可编写Lex&Yacc程序进行验证。 (Aho)5.4 设计翻译模式,实现将中缀表达式翻译为无多余括号形式 解:所谓“多余括号”,可以理解为: 本该是表达式E,写成了(E)的形式, 本该是项T,写成了(T)的形式, 本该是因式F,写成了(F)的形式,因此,可写出文法和翻译模式: E→( E1 ) { E.s = E1.s; } | E1 + T { E.s = E1.s || …+? || T.s; } | T { E.s = T.s; } T→( T1 ) { T.s = T1.s; } | T1 + F { T.s = T1.s || …*? || F.s; } | F { T.s = F.s; }

【《岳飞》文言文】《岳飞》阅读习题及答案

【《岳飞》文言文】《岳飞》阅读习题及答案 内容简介:岳飞(1103-1142)字鹏举,汉族。北宋相州汤阴县永和乡孝悌里(今河南省安阳市汤阴县菜园镇程岗村)人。中国历史上著名战略家、军事家、民族英雄、抗金名将。 ①二十四个循环往复的季节里有你恒温的季节。你,一身盔甲,令所有的对手溃不成军,一腔热血,开始了民族的觉醒,但你挡得住面前的攻打,却经不起背后的谋杀,一场场腥风血雨的战争,开始了你人生的另一段征程...... ②一块中原大地般宽厚的脊背,针针见血地负起母亲的叮咛与沉雄的神州:“精忠报国!”可你却万万没想到,报国路竟是如此曲折。你把民族正义建立在生命之上换来的却是昏君与秦桧等小人的咄咄逼人的话语,你忠于谁,谁就决定你的生死。朝赐你的财物,午赐你的宅院,暮赐你美女的人,就不定何时便赐你一死,可你忙于出征,忙于布阵,忙于厮杀,便不曾留心天子的夸奖是一种带回钩的暗器,你醉心于把战表化成捷报,更不曾留意金銮殿不露声色地已勾勒出了风波亭的雏形…… ③阴谋出笼,出皇城,十二道金牌,十二个夜叉——将忠良捉拿,昨天的猎人,今天的猎物———你角色的转换过于险陡,就连看惯沉浮的黄河,事先都是毫无预感。手上铐子,脚上镣子,颈上枷子,最重要的是驮在背上那母亲的叮嘱,如今成了要命的包袱。不归路上,当竖着的性命同一柄横着的利刃勃然相遇时,你才知晓《满江红》的写作,是从校场熟悉的枪尖上起笔而却在一块陌生的磨刀石上结束的。

④亭间是佞贼一个人的狞笑,亭外是天下无数人的痛哭,屠刀下落,宏文顿成断章!被喷的夕阳涂制页页血帆,浪浪跄,船蹀躞,黄河倒抽一口凉气,刹那改道…… ⑤滚烫的座右铭,一下子变成冰凉的墓志铭,幸亏那识字也识大体的岳母先行一步,否则她,这白发人该怎样去哭祭那黑发的儿郎啊?“精忠报国”的每个字,本都该活上一百年,一千年,一万年,可这区区三十八度春秋,已蓦然成为构思之外的残简。 ⑥你千百年前的一腔热血,已化作历史的一把冷汗,莫须有的罪名造奇冤!谁让你满怀抱负,浑身功夫,却赶上了一个有重病而无良药的时代。宫殿里,龙书案后昏庸的半径,量得出民间黑暗的周长,这绝对是悲的情节,善良遇上恶毒依旧善良,恶毒遇上善良益发恶毒。肯于为良知执言的,只有暴死的良知,能够给邪恶张目的,还是活着的邪恶。莫以为前朝才有怪胎,罪恶也并非偶然的宫外孕。 ⑦看历史要细心,看现实要耐心,同为军人,二十九岁的项羽自杀了,三十八的岳飞被杀了,我总梦见影影绰绰的亭上,有蚊虫剔牙,有苍蝇打嗝,醒来不由惊问:风波亭在哪?它是一颗悬于神州大梁的苦胆,让有志有为的卧薪者品味,明目明心,以认清忠奸。千百年过去了,岳飞也殁了,在那个臭气熏天的黑暗社会中,岳飞走了,他带着“精忠报国”的志向却不明不白地去了,只有天知道,他应该从容地面对,因为———他终于自由了,他终于摆脱了无能的昏君和歹毒的小人,带着他的志向正流芳千古呢!而如今的我们正沐浴在正义的光环下享受着岳飞将军用生命换来的那份自由啊!

相关主题