文档库 最新最全的文档下载
当前位置:文档库 › 龙书 第二章课后作业答案

龙书 第二章课后作业答案

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

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*-的注释分析树

P 542.18 考虑下面的if-then 语句和if-then-else 语句的部分文法 stmt → if expr then stmt

| if expr then stmt else stmt | other

其中other 代表语言中的其他语句。 a)证明该文法是具有二义性的。

b)构造一个等价的无二义性文法,使得else 与前面最近的没有匹配的then 匹配。 c)基于该文法构造一个语法制导翻译模式,将条件语句翻译改成堆栈机代码。

a) 二义性证明

根据文法 我们发现 If E 1 then if E 2 then S 1 else S 2 有2棵语法树(2个推导方法)如

下所示:

所以该文法具有二义性。

b) 等价无二义性文法构造 使else 与最近的未被匹配的then 相匹配 stmt → matched_stmt | unmatched_stmt

matched_stmt → if expr then matched_stmt else matched_stmt | other unmatched_stmt → if expr then stmt

| if expr then matched_stmt else unmatched_stmt

Form 1:

stmt stmt

stmt

expr 12then

else if

E 2

1then

if

stmt stmt

expr 1then

if

stmt expr 221then

else

if stmt stmt Form 2:

c)堆栈机代码

stmt if expr then stmt1

{ out := newlabel;

stmt.t := expr.t ||

‘gofalse’ out ||

stmt1.t ||

‘label’ out }

stmt→if expr then stmt1 else stmt2

{ out := newlabel;

stmt.t := expr.t ||

‘gofalse’ out ||

stmt1.t ||

‘label’ out ||

stmt2.t

} stmt→other 其它语句略

编译原理龙书答案

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*-的注释分析树

环境监测第二章部分习题答案

第二章水和废水监测 3.对于工业废水排放源,怎样布设采样点怎样测量污染物排放总量 (1)在车间或车间处理设施的废水排放口布设采样点,监测第一类污染物;在工厂废水总排放口布设采样点,监测第二类污染物。 (2)已有废水处理设施的工厂,在处理设施的总排放口布设采样点。如需了解废水处理效果和调控处理工艺参数提供依据,应在处理设施进水口和部分单元处理设施进、出口布设采样点。 (3)用某一时段污染物平均浓度乘以该时段废(污)水排放量即为该时段污染物的排放总量。 4.水样有哪几种保存方法试举几个实例说明怎样根据被测物质 的性质选用不同的保存方法。 (1)冷藏或冷冻方法 (2)加入化学试剂保存法 加入生物抑制剂、调节pH、加入氧化剂或还原剂 如:在测定氨氮、硝酸盐氮、化学需氧量的水样中加入HgCl2,可抑制生物的氧化还原作用;测定氰化物或挥发酚的水样中加入NaOH 溶液调pH至12,使之生成稳定的酚盐。 5.水样在分析测定之前,为什么要进行预处理预处理包括哪些内容 (1)被污染的环境水样和废(污)水样所含组分复杂,多数污染祖坟含量低,存在形态各异,共存组分的干扰等,都会影响分析测定,故需预处理。 (2)预处理包括悬浮物的去除、水样的消解、待测组分的浓缩和分离。 14.说明原子吸收光谱法测定金属化合物的原理,用方块图示意其测定流程。 (1)利用待测元素原子蒸汽中基态原子对光源发出的特征谱线的吸收来进行分析。 (2) 原子吸收光谱法测定金属化合物测定流程 光源—单色器—样品室—检测器—显示光源—原子化系统—分 光系统—检测系统 16.石墨炉原子吸收光谱法与火焰原子吸收光谱法有何不同之处两种方法各有何优缺点 (1)石墨炉原子吸收光谱法测定,其测定灵敏度高于火焰原子吸收光谱法,但基体干扰较火焰原子吸收光谱法严重。

matlab课后习题解答第二章doc

第2章符号运算 习题2及解答 1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度” 对象,还是“符号”符号对象? 3/7+0.1; sym(3/7+0.1); sym('3/7+0.1'); vpa(sym(3/7+0.1)) 〖目的〗 ●不能从显示形式判断数据类型,而必须依靠class指令。 〖解答〗 c1=3/7+0.1 c2=sym(3/7+0.1) c3=sym('3/7+0.1') c4=vpa(sym(3/7+0.1)) Cs1=class(c1) Cs2=class(c2) Cs3=class(c3) Cs4=class(c4) c1 = 0.5286 c2 = 37/70 c3 = 0.52857142857142857142857142857143 c4 = 0.52857142857142857142857142857143 Cs1 = double Cs2 = sym Cs3 = sym Cs4 = sym 2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认 为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') 〖目的〗 ●理解自由符号变量的确认规则。 〖解答〗 symvar(sym('sin(w*t)'),1) ans = w symvar(sym('a*exp(-X)'),1) ans = a

symvar(sym('z*exp(j*th)'),1) ans = z 3 求以下两个方程的解 (1)试写出求三阶方程05.443 =-x 正实根的程序。注意:只要正实根,不要出现其他根。 (2)试求二阶方程022=+-a ax x 在0>a 时的根。 〖目的〗 ● 体验变量限定假设的影响 〖解答〗 (1)求三阶方程05.443 =-x 正实根 reset(symengine) %确保下面操作不受前面指令运作的影响 syms x positive solve(x^3-44.5) ans = (2^(2/3)*89^(1/3))/2 (2)求五阶方程02 2 =+-a ax x 的实根 syms a positive %注意:关于x 的假设没有去除 solve(x^2-a*x+a^2) Warning: Explicit solution could not be found. > In solve at 83 ans = [ empty sym ] syms x clear syms a positive solve(x^2-a*x+a^2) ans = a/2 + (3^(1/2)*a*i)/2 a/2 - (3^(1/2)*a*i)/2 4 观察一个数(在此用@记述)在以下四条不同指令作用下的异同。 a =@, b = sym( @ ), c = sym( @ ,' d ' ), d = sym( '@ ' ) 在此,@ 分别代表具体数值 7/3 , pi/3 , pi*3^(1/3) ;而异同通过vpa(abs(a-d)) , vpa(abs(b-d)) , vpa(abs(c-d))等来观察。 〖目的〗 ● 理解准确符号数值的创建法。 ● 高精度误差的观察。 〖解答〗 (1)x=7/3 x=7/3;a=x,b=sym(x),c=sym(x,'d'),d=sym('7/3'), a =

管理会计第二章课后习题及答案

第二章课后习题 思考题 1.管理会计对成本是如何进行分类的?各种分类的主要目的是什么? 管理会计将成本按各种不同的标准进行分类,以适应企业经营管理的不同需求。 1.按成本经济用途分类:制造成本和非制造成本。 主要目的是用来确定存货成本和期间损益,满足对外财务报告的需要。 2.按性态分类:固定成本、变动成本和混合成本。 按性态进行划分是管理会计这一学科的基石,管理会计作为决策会计的角色,其许多决策方法尤其是短期决策方法都需要借助成本性态这一概念。 3.按可控性分类:可控成本和不可控成本 4.按是否可比分类:可比成本和不可比成本 5.按特定的成本概念分类:付现成本和沉没成本、原始成本和重置成本、可避免成本和不可避免成本、差别成本和边际成本、机会成本 6.按决策相关性分类:相关成本和无关成本 2.按成本性态划分,成本可分为几类?各自的含义、构成和相关围是什么? 按成本性态可以将企业的全部成本分为固定成本、变动成本和混合成本三类。 (1)固定成本是指其总额在一定期间和一定业务量围,不受业务量变动的影响而保持固定不变的成本。但是符合固定成本概念的支出在“固定性”的强弱上还是有差别的,所以根据这种差别又将固定成本细分为酌量性固定成本和约束性固定成本。酌量性固定成本也称为选择性固定成本或者任意性固定成本,是指管理当局的决策可以改变其支出数额的固定成本。约束性固定成本与酌量性固定成本相反,是指管理当局的决策无法改变其支出数额的固定成本,因而也称为承诺性固定成本,它是企业维持正常生产经营能力所必须负担的最低固定成本,其支出的大小只取决于企业生产经营的规模与质量,因而具有很大的约束性,企业管理当局不能改变其数额。 固定成本的“固定性”不是绝对的,而是有限定条件的,这种限定条件在管理会计中叫做相关围,表现为一定的期间围和一定的空间围。就期间围而言,固定成本表现为在某一特定期间具有固定性。从较长时间看,所有成本都具有变

编译原理第第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

DS第二章-课后习题答案

第二章线性表 2.1 填空题 (1)一半插入或删除的位置 (2)静态动态 (3)一定不一定 (4)头指针头结点的next 前一个元素的next 2.2 选择题 (1)A (2) DA GKHDA EL IAF IFA(IDA) (3)D (4)D (5) D 2.3 头指针:在带头结点的链表中,头指针存储头结点的地址;在不带头结点的链表中,头指针存放第一个元素结点的地址; 头结点:为了操作方便,在第一个元素结点前申请一个结点,其指针域存放第一个元素结点的地址,数据域可以什么都不放; 首元素结点:第一个元素的结点。 2.4已知顺序表L递增有序,写一算法,将X插入到线性表的适当位置上,以保持线性表的有序性。 void InserList(SeqList *L,ElemType x) { int i=L->last; if(L->last>=MAXSIZE-1) return FALSE; //顺序表已满 while(i>=0 && L->elem[i]>x) { L->elem[i+1]=L->elem[i]; i--; } L->elem[i+1]=x; L->last++; } 2.5 删除顺序表中从i开始的k个元素 int DelList(SeqList *L,int i,int k) { int j,l; if(i<=0||i>L->last) {printf("The Initial Position is Error!"); return 0;} if(k<=0) return 1; /*No Need to Delete*/ if(i+k-2>=L->last) L->last=L->last-k; /*modify the length*/

操作系统第二章课后答案

第二章进程管理 2. 试画出下面4条语句的前趋图: S2: b:=z+1; S3: c:=a-b; S4: w:=c+1; 3. 程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作, 致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。 4. 程序并发执行时为什么会失去封闭性和可再现性? 因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是 由多个程序来改变,致使程序的运行失去了封闭性。而程序一旦失去了封闭性也会导致其再失去可再现性。 5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响? 为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。 影响: 使程序的并发执行得以实行。 6. 试从动态性,并发性和独立性上比较进程和程序? a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源 而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。 b. 并发性是进程的重要特征,同时也是OS的重要特征。引入进程的目的正是为了使其 程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。 c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和 独立调度的基本单位。而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。 7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志? a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。PCB中记录了操 作系统所需的用于描述进程情况及控制进程运行所需的全部信息。因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。 b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程 的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志。 8. 试说明进程在三个基本状态之间转换的典型原因. a. 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变 为执行状态。 b. 当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行 状态转变为阻塞状态。 c. 当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态。 9. 为什么要引入挂起状态?该状态有哪些性质? a. 引入挂起状态主要是出于4种需要(即引起挂起的原因): 终端用户的请求,父进程 请求,负荷调节的需要,操作系统的需要。

编译原理第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

第二章习题答案

第2章程序控制结构 2.1 选择题 1.已知int i=0, x=1, y=0;,在下列选项中,使i的值变成1的语句是( C )。 (A)if( x&&y ) i++; (B)if( x==y ) i++; (C)if( x||y ) i++; (D)if( !x ) i++; 2.设有函数关系为y= 10 00 10 x x x -< ? ? = ? ?> ? ,下列选项中,能正确表示上述关系的是( C )。 (A)y = 1; (B)y = -1; if( x >= 0 ) if( x != 0 ) if( x == 0 ) y = 0; if( x > 0 ) y = 1; else y = -1; else y = 0 (C)if( x <= 0 ) (D)y = -1; if( x < 0 ) y = -1; if( x <= 0 ) else y = 0; if( x < 0 ) y = -1; else y = 1; else y = 0; 3.假设i=2,执行下列语句后i的值为(B )。 switch( i ) { case 1 : i ++; case 2 : i --; case 3 : ++ i; break; case 4 : -- i; default : i ++; } (A)1 (B)2 (C)3 (D)4 4.已知int i=0,x=0;,在下面while语句执行时循环次数为(D )。 while( !x && i< 3 ) { x++; i++; } (A)4 (B)3 (C)2 (D)1 5.已知int i=3;,在下面do_while 语句执行时的循环次数为(B )。 do{ i--; cout<=0 ); (C)int a=5; while( a ) { a--; };

编译原理 龙书答案

第四章部分习题解答 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)构造分析树 解:

大物第二章课后习题答案

简答题 什么是伽利略相对性原理什么是狭义相对性原理 答:伽利略相对性原理又称力学相对性原理,是指一切彼此作匀速直线运动的惯性系,对于描述机械运动的力学规律来说完全等价。 狭义相对性原理包括狭义相对性原理和光速不变原理。狭义相对性原理是指物理学定律在所有的惯性系中都具有相同的数学表达形式。光速不变原理是指在所有惯性系中,真空中光沿各方向的传播速率都等于同一个恒量。 同时的相对性是什么意思如果光速是无限大,是否还会有同时的相对性 答:同时的相对性是:在某一惯性系中同时发生的两个事件,在相对于此惯性系运动的另一个惯性系中观察,并不一定同时。 如果光速是无限的,破坏了狭义相对论的基础,就不会再涉及同时的相对性。 什么是钟慢效应 什么是尺缩效应 答:在某一参考系中同一地点先后发生的两个事件之间的时间间隔叫固有时。固有时最短。固有时和在其它参考系中测得的时间的关系,如果用钟走的快慢来说明,就是运动的钟的一秒对应于这静止的同步的钟的好几秒。这个效应叫运动的钟时间延缓。 尺子静止时测得的长度叫它的固有长度,固有长度是最长的。在相对于其运动的参考系中测量其长度要收缩。这个效应叫尺缩效应。 狭义相对论的时间和空间概念与牛顿力学的有何不同 有何联系 答:牛顿力学的时间和空间概念即绝对时空观的基本出发点是:任何过程所经历的时间不因参考系而差异;任何物体的长度测量不因参考系而不同。狭义相对论认为时间测量和空间测量都是相对的,并且二者的测量互相不能分离而成为一个整体。 牛顿力学的绝对时空观是相对论时间和空间概念在低速世界的特例,是狭义相对论在低速情况下忽略相对论效应的很好近似。 能把一个粒子加速到光速c 吗为什么 答:真空中光速C 是一切物体运动的极限速度,不可能把一个粒子加速到光速C 。从质速关系可看到,当速度趋近光速C 时,质量趋近于无穷。粒子的能量为2 mc ,在实验室中不存在这无穷大的能量。 什么叫质量亏损 它和原子能的释放有何关系 答:粒子反应中,反应前后如存在粒子总的静质量的减少0m ?,则0m ?叫质量亏损。原子能的释放指核反应中所释 放的能量,是反应前后粒子总动能的增量k E ?,它可通过质量亏损算出20k E m c ?=?。 在相对论的时空观中,以下的判断哪一个是对的 ( C ) (A )在一个惯性系中,两个同时的事件,在另一个惯性系中一定不同时;

第二章 习题答案

第二章 需求、供给和均衡价格 2. 假定表2—1(即教材中第54页的表2—5)是需求函数Q d =500-100P 在一定价格范围内的需求表: 表2—1 (1)求出价格2元和4元之间的需求的价格弧弹性。 (2)根据给出的需求函数,求P =2元时的需求的价格点弹性。 (3)根据该需求函数或需求表作出几何图形,利用几何方法求出P =2元时的需求的价格点弹性。它与(2)的结果相同吗? 解答:(1)根据中点公式e d =-ΔQ ΔP ·P 1+P 22,Q 1+Q 22 ),有 e d =2002·2+42,300+1002)=1.5 (2)由于当P =2时,Q d =500-100×2=300,所以,有 e d =-d Q d P ·P Q =-(-100)·2300=23 (3)根据图2—4,在a 点即P =2时的需求的价格点弹性为 e d =GB OG =200300=23 或者 e d =FO AF =23 图2—4 显然,在此利用几何方法求出的P =2时的需求的价格点弹性系数和(2)中根据定义公式 求出的结果是相同的,都是e d =23 。 3. 假定表2—2(即教材中第54页的表2—6)是供给函数Q s =-2+2P 在一定价格范围内的供给表:

表2—2 (1)求出价格(2)根据给出的供给函数,求P =3元时的供给的价格点弹性。 (3)根据该供给函数或供给表作出几何图形,利用几何方法求出P =3元时的供给的价格点弹性。它与(2)的结果相同吗? 解答:(1)根据中点公式e s =ΔQ ΔP ·P 1+P 22,Q 1+Q 22 ),有 e s =42·3+52,4+82)=43 (2)由于当P =3时,Q s =-2+2×3=4,所以,e s =d Q d P ·P Q =2·34 =1.5。 (3)根据图2—5,在a 点即P =3时的供给的价格点弹性为 e s =AB OB =64 =1.5 图2—5 显然,在此利用几何方法求出的P =3时的供给的价格点弹性系数和(2)中根据定义公式求出的结果是相同的,都是e s =1.5。 4. 图2—6(即教材中第54页的图2—28)中有三条线性的需求曲线AB 、AC 和AD 。 图2—6 (1)比较a 、b 、c 三点的需求的价格点弹性的大小。

第二章课后习题与答案

第2章人工智能与知识工程初步 1. 设有如下语句,请用相应的谓词公式分别把他们表示出来:s (1)有的人喜欢梅花,有的人喜欢菊花,有的人既喜欢梅花又喜欢菊花。 解:定义谓词d P(x):x是人 L(x,y):x喜欢y 其中,y的个体域是{梅花,菊花}。 将知识用谓词表示为: (?x )(P(x)→L(x, 梅花)∨L(x, 菊花)∨L(x, 梅花)∧L(x, 菊花)) (2) 有人每天下午都去打篮球。 解:定义谓词 P(x):x是人 B(x):x打篮球 A(y):y是下午 将知识用谓词表示为:a (?x )(?y) (A(y)→B(x)∧P(x)) (3)新型计算机速度又快,存储容量又大。 解:定义谓词 NC(x):x是新型计算机 F(x):x速度快 B(x):x容量大 将知识用谓词表示为: (?x) (NC(x)→F(x)∧B(x)) (4) 不是每个计算机系的学生都喜欢在计算机上编程序。 解:定义谓词 S(x):x是计算机系学生 L(x, pragramming):x喜欢编程序 U(x,computer):x使用计算机 将知识用谓词表示为: ? (?x) (S(x)→L(x, pragramming)∧U(x,computer)) (5)凡是喜欢编程序的人都喜欢计算机。 解:定义谓词 P(x):x是人 L(x, y):x喜欢y 将知识用谓词表示为:

(?x) (P(x)∧L(x,pragramming)→L(x, computer)) 2 请对下列命题分别写出它们的语义网络: (1) 每个学生都有一台计算机。 解: (2) 高老师从3月到7月给计算机系学生讲《计算机网络》课。 解: (3) 学习班的学员有男、有女、有研究生、有本科生。 解:参例2.14 (4) 创新公司在科海大街56号,刘洋是该公司的经理,他32岁、硕士学位。 解:参例2.10 (5) 红队与蓝队进行足球比赛,最后以3:2的比分结束。 解:

龙书 第四章课后作业答案

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

数据结构第二章课后答案

2.4已知顺序表L递增有序,试写一算法,将X插入到线性表的适当位置上,以保持线性表的有序性。 解: int InsList(SeqList *L,int X) { int i=0,k; if(L->last>=MAXSIZE-1) { printf("表已满无法插入!"); return(ERROR); } while(i<=L->last&&L->elem[i]last;k>=I;k--) L->elem[k+1]=L->elem[k]; L->elem[i]=X; L->last++; return(OK); } 2.5写一算法,从顺序表中删除自第i个元素开始的k个元素。 解: int LDel(Seqlist *L,int i,int k) { if(i=1||(i+k>L->last+1)) { printf("输入的i,k值不合法"); return(ERROR); } else if(i+k==L->last+2) { L->last=i-2; return OK; } else { j=i+k-1; while(j<=L->last) { elem[j-k]=elem[j]; j++; } L->last=L->last-k+1; return OK;

} } 2.6已知线性表中的元素(整数)以递增有序排列,并以单链表作存储结构。试写一高效算法,删除表中所有大于mink且小于maxk的元素(若表中存在这样的元素),分析你的算法的时间复杂度(注意:mink和maxk是给定的两个变量,他们的值为任意的整数)。 解: int Delete(Linklist,int mink,int maxk) { Node *p,*q; p=L; while(p->next!=NULL) p=p->next; if(mink>=maxk||L->next->data>=maxk||mink+1=maxk) { printf("参数不合法!"); return ERROR; } else { while(p->next->data<=mink) p=p->next; q=p->next; while(q->datanext=q->next; free(q); q=p->next; } return OK; } } 2.7试分别以不同的存储结构实现线性表的就地逆置算法,即在原表的储存空间将线性表(a1,a1,…,an)逆置为(an,an-1,…,a1)。 (1)以顺序表作存储结构。 解: int ReversePosition(SpList L) { int k,temp,len; int j=0; k=L->last; len=L->last+1; for(j;j

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

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. 已知某一时期内某商品的需求函数为Q =50-5P ,供给函数为Qs=-10+5p。(1)求均衡价格Pe和均衡数量Qe,并作出几何图形。 (2)假定供给函数不变,由于消费者收入水平提高,使需求函数变为Qd=60-5P。求出相应的均衡价格Pe 和均衡数量Qe ,并作出几何图形。(3)假定需求函数不变,由于生产技术水平提高,使供给函数变为Qs=-5+5p。 求出相应的均衡价格Pe 和均衡数量Qe ,并作出几何图形。 (4)利用(1)(2 )(3),说明静态分析和比较静态分析的联系和区别。(5)利用(1)(2 )(3),说明需求变动和供给变动对均衡价格和均衡数量的影响. 解答: (1)将需求函数Qd = 50-5P和供给函数Qs =-10+5P 代入均衡条件Qd = Qs ,有: 50- 5P= -10+5P 得: Pe=6 以均衡价格Pe =6 代入需求函数Qd =50-5p ,得: Qe=20 所以,均衡价格和均衡数量分别为Pe =6 , Qe=20 (图略) (2)将由于消费者收入提高而产生的需求函数Qd=60-5p 和原供给函数 Qs=-10+5P, 代入均衡条件Q d= Qs ,有: 60-5P=-10+5P 得Pe=7 以均衡价格Pe=7代入Qd方程,得Qe=25 所以,均衡价格和均衡数量分别为Pe =7 , Qe=25 (图略) (3) 将原需求函数Qd =50-5p和由于技术水平提高而产生的供给函数Q =-5+5p , 代入均衡条件Qd =Qe ,有: 50-5P=-5+5P得Pe= 5.5 以均衡价格Pe= 5.5 代入Qd =50-5p ,得22.5 所以,均衡价格和均衡数量分别为Pe=5.5 Qe=22.5 (4)所谓静态分析是考察在既定条件下某一经济事物在经济变量的相互作用下所实现的均衡状态及其特征.也可以说,静态分析是在一个经济模型中根据所给的外生变量来求内生变量的一种分析方法.以(1)为例,在图中,均衡点 E 就是一个体现了静态分析特征的点.它是在给定的供求力量的相互作用下所达到的一个均衡点.在此,给定的供求力量分别用给定的供给函数Q=-10+5P 和需求函数Q=50-5P表示,均衡点具有的特征是:均衡价格P=6 且当P =6 时,有Q= Q d= Qe =20 ,同时,

相关文档
相关文档 最新文档