第六章课后习题及解析

合集下载

《统计学概论》第六章课后练习题答案

《统计学概论》第六章课后练习题答案

8.什么是指数体系?它与因素分析有什么关系?
9.平均指标变动的因素分析应编制哪几种平均指标指数?如何分析?
Hale Waihona Puke 10.综合指数或平均指标指数因素分析的对象如何分辨?
二、单项选择题
1.在统计实践中,通常人们所说的指数一词的含义指的是( )。
A.广义的指数
B.狭义的指数
C.广义和狭义的指数
D.拉氏和派氏指数
2.从指数包括的范围不同,可以把指数分为( )。
C.一个固定在基期,另一个固定在报告期
D.采用基期和报告期的平均
7.拉氏指数所采用的同度量因素是固定在( )。
A.基期
B.报告期
C.假定期
D.任意时期
8.因素分析法的依据是( )。
A.指标体系
B.指数体系
C.拉氏指数
D.派氏指数
9.∑p1q1-∑p0q1 表明( )。
A.由于销售量的变化对销售额的影响
解:(1)拉式公式下的工业品出口价格总指数为:
∑∑ ∑∑ kp =
p1q0 = p0q0
k p p0q0
=
926 × 3880 + 583 × 3890 +
935
550
520 × 3300 + 515
450 × 2500 422
= 102.90%
p0q0
2880 + 3890 + 3300 + 2500
∑ ∑ 全部商品价格变动使得居民增加支出的金额= p1q1 − p0q1 =12006(万)
(4)四种商品零售量总指数为:
∑∑ kq =
q1 p0 = (5.20 × 2.0 + 5.52 ×17.0 +1.15× 5.2 +1.30×16.5) ×1000 = 118.58% q0 p0 (5.00× 2.0 + 4.46 ×17.0 +1.20× 5.2 +1.15×16.5) ×1000

有机化学课后习题及答案(第六章)

有机化学课后习题及答案(第六章)

有机化学课后习题及答案(第六章)6章思考题6.1 试解释实验中所遇到的下列问题:(1)(1)⾦属钠可⽤于除去苯中所含的痕量H2O,但不宜⽤于除去⼄醇中所含的⽔。

(2)(2)为什么制备Grignard试剂时⽤作溶剂的⼄醚不但需要除去⽔分,并且也必须除净⼄醇(⼄醇是制取⼄醚的原料,常参杂于产物⼄醚中)。

(3)(3)在使⽤LiAlH4的反应中,为什么不能⽤⼄醇或甲醇作溶剂?6.2 叔丁基醚[(CH3)3C]2O既不能⽤Williamson法也不能⽤H2SO4脱⽔法制得,为什么?6.3 苯酚与甲苯相⽐有以下两点不同的物理性质:(a)苯酚沸点⽐甲苯⾼;(b)苯酚在⽔中的溶解度较甲苯⼤。

你能解释其原因吗?6.4 解释下列现象(1)(1)从2-戊醇所制得的2-溴戊烷中总含有3-溴戊烷。

(2)(2)⽤HBr处理新戊醇(CH3)2C-CH2OH时只得到(CH3)2CBrCH2CH3。

解答6.1 答(1)⼄醇的活泼氢能与Na发⽣反应,苯与Na⽆反应。

(2)RMgX不仅是⼀种强的亲核试剂,同时⼜是⼀种强碱,可与醇羟基中的H结合,即RMgX可被具活性氢的物质所分解,如(3)LiAlH4既是⼀种强还原剂,⼜是⼀种强碱,它所提供H-与醇发⽣反应,如6.2叔丁基醚⽤H2SO4脱⽔法合成时,主要产⽣烯烃。

6.3 答甲苯和苯酚的相对分⼦质量相近,但是甲苯的沸点110.6℃,⽽苯酚的沸点181.8℃,这是由于苯酚可以形成分⼦间氢键;甲苯不溶于⽔,⽽苯酚易溶于⽔,是由于苯酚与⽔分⼦之间会形成氢键:6.4习题6.1⽐较下列各组化合物与卢卡斯试剂反应的相对速度:(1) 正戊醇, 2-甲基-2-戊醇, ⼆⼄基甲醇(2) 苄醇, 对甲基苄醇, 对硝基苄醇(3)(3)苄醇, α-苯基⼄醇, β-苯基⼄醇6.26.2区别下列各组化合物:(1) CH2=CHCH2OH, CH3CH2CH2OH , CH3CH2CH2Br, (CH3)2CHI(2) CH3CH(OH)CH3, CH3CH2CH2OH , C6H5OH , (CH3)3COH , C6H5OCH3(3) α-苯基⼄醇, β-苯基⼄醇, 对⼄基苯酚, 对甲氧基甲苯6.36.3写出下列各反应主要产物:6.4合成题:(1)(1)甲醇, 2-丁醇→ 2-甲基丁醇(2)(2)正丙醇, 异丙醇→ 2-甲基-2-戊醇(3)(3)甲醇, ⼄醇→正丙醇, 异丙醇(4)(4)2-甲基丙醇, 异丙醇→ 2,4-⼆甲基-2-戊烯(5)(5)丙烯→⽢油→三硝酸⽢油酯(6)(6)苯, ⼄烯, 丙烯→ 3-甲基-1-苯基-2-丁烯(7)(7)⼄醇→ 2-丁醇(8)(8)叔丁醇→ 3, 3-⼆甲基-1-丁醇(9)(9)⼄烯→三⼄醇胺(10)(10)丙烯→异丙醚(11)(11)苯, 甲醇→ 2,4-⼆硝基苯甲醚(12)(12)⼄烯→正丁醚(13)(13)苯→间苯三酚(14)(14)苯→对亚硝基苯酚(15)(15)苯→ 2,6-⼆氯苯酚(16)(16)苯→对苯醌⼆肟6.5某醇C5H12O氧化后⽣成酮,脱⽔则⽣成⼀种不饱和烃, 将此烃氧化可⽣成酮和羧酸两种产物的混合物, 试推测该醇的结构.6.6有⼀化合物(A)的分⼦式为C5H11Br, 和NaOH⽔溶液共热后⽣成C5H12O(B). B具有旋光性.能和钠作⽤放出氢⽓, 和浓硫酸共热⽣成C5H10(C). C经臭氧化和在还原剂存在下⽔解, 则⽣成丙酮和⼄醛. 试推测A, B, C的结构, 并写出各步反应式.6.7新戊醇在浓硫酸存在下加热可⽣成不饱和烃. 将这不饱和烃经臭氧化后, 在锌粉存在下⽔解, 可得到⼀种醛和⼀种酮. 试写出反应历程及各步反应产物的构造式.6.8分离下列各组化合物:(1)(1)⼄醚中混有少量⼄醇(2)(2)戊烷, 1-戊炔和1-甲氧基-3-戊醇6.9 下列各醚和过量的浓氢碘酸反应, 可⽣成何种产物?(1)(1)甲丁醚(2)(2)2-甲氧基⼰烷(3)(3)2-甲基-1-甲氧基戊烷6.10有⼀化合物的分⼦式为C6H14O, 常温下不与⾦属钠反应, 和过量的浓氢碘酸共热时⽣成碘烷, 此碘烷与氢氧化银作⽤则⽣成丙醇. 试推测此化合物的结构, 并写出反应式.6.11 有⼀化合物的分⼦式为C7H16O, 并且:(1)(1)在常温下它不和⾦属钠反应;(2)(2)它和过量浓氢碘酸共热时⽣成C2H5I和C5H11I . 后者与氢氧化银反应⽣成的化合物的沸点为138℃.试推测原化合物的结构, 并写出各步反应式.6.12有⼀化合物的分⼦式为C20H21O4N, 与热的浓氢碘酸反应可⽣成碘甲烷. 当此化合物4.24 mg与氢碘酸反应, 所⽣成的碘甲烷通⼈硝酸银的醇溶液, 得到11.62mg碘化银. 问此化合物含有⼏个甲氧基?6.13 写出环氧⼄烷与下列试剂反应的⽅程式:(1)(1)有少量硫酸存在下的甲醇(2)(2)有少量甲醇钠存在下的甲醇6.14 推测下列反应的机理。

第六章、七章、八章课后习题答案

第六章、七章、八章课后习题答案

第六章课后练习题1、三通公司拟发行5年期、利率6%、面额1000元债券一批;预计发行总价格为550元,发行费用率2%;公司所得税率33%。

要求:试测算三通公司该债券的资本成本率。

参考答案:可按下列公式测算:=1000*6%*(1-33%)/550*(1-2%)=7.46%2、四方公司拟发行优先股50万股,发行总价150万元,预计年股利率8%,发行费用6万元。

要求:试测算四方公司该优先股的资本成本率。

参考答案:可按下列公式测算:其中:=8%*150/50=0.24=(150-6)/50=2.88=0.24/2.88=8.33%3、五虎公司普通股现行市价为每股20元,现准备增发8万份新股,预计发行费用率为5%,第一年每股股利1元,以后每年股利增长率为5%。

要求:试测算五虎公司本次增发普通股的资本成本率。

参考答案:可按下列公式测算:=1/19+5%=10.26%4、六郎公司年度销售净额为28000万元,息税前利润为8000万元,固定成本为3200万元,变动成本为60%;资本总额为20000万元,其中债务资本比例占40%,平均年利率8%。

要求:试分别计算该公司的营业杠杆系数、财务杠杆系数和联合杠杆系数。

参考答案:可按下列公式测算:DOL=1+F/EBIT=1+3200/8000=1.4DFL=8000/(8000-20000*40%*8%)=1.09DCL=1.4*1.09=1.535、七奇公司在初创时准备筹集长期资本5000万元,现有甲、乙两个备选筹资方案,有关资料如下表:筹资方式筹资方案甲筹资方案乙筹资额(万元)个别资本成本率(%)筹资额(万元)个别资本成本率(%)长期借款公司债券普通股800120030007.08.514.0110040035007.58.014.0合计5000 —5000 —要求:试分别测算该公司甲、乙两个筹资方案的综合资本成本率,并据以比较选择筹资方案。

参考答案:(1)计算筹资方案甲的综合资本成本率:第一步,计算各种长期资本的比例:长期借款资本比例=800/5000=0.16或16% 公司债券资本比例=1200/5000=0.24或24%普通股资本比例 =3000/5000=0.6或60%第二步,测算综合资本成本率:Kw=7%*0.16+8.5%*0.24+14%*0.6=11.56%(2)计算筹资方案乙的综合资本成本率:第一步,计算各种长期资本的比例:长期借款资本比例=1100/5000=0.22或22% 公司债券资本比例=400/5000=0.08或8%普通股资本比例 =3500/5000=0.7或70%第二步,测算综合资本成本率:Kw=7.5%*0.22+8%*0.08+14%*0.7=12.09%由以上计算可知,甲、乙两个筹资方案的综合资本成本率分别为11.56%、12.09%,可知,甲的综合资本成本率低于乙,因此选择甲筹资方案。

第六章 有机化学课后习题答案

第六章 有机化学课后习题答案

第六章卤代烃1.回答下列问题(1).在CH3CH2Cl(I),CH2═CHCl(II),CH≡CCl(III),C6H5Cl(IV)四种一氯代烃中,按C-X键键长次序排列,并讨论其理由。

解: IV< II < III <I(2).将四种化合物(A) CH3CH2CH2F,(B) CH3CH2CH2I ,(C) CH3CH2CH2Br ,(D) CH3CH2CH2Cl的沸点从最高到低排列,并讨论其理由。

解: B> C> D> A(3).四种化合物(A) CH3CHClCH2OH,(B) CH3CHNH2CH2Br ,(C) HC≡CCH2Cl,(D) CH3CONHCH2CH2Cl中,哪些能生成稳定的格氏试剂?为什么?解: D(4).比较(A) CH3CH2CH2CH2Cl,(B) (CH3)2CHCH2Cl,(C)实用文档CH3CH2CH(Cl)CH3,(D) (CH3)3CCl四个氯代烃,它们发生S N2反应情况如何。

解: A> B> C> D(5).将①苄溴,②溴苯,③1–苯基–1–溴乙烷,④1–溴–2–苯基乙烷四个化合物按S N 1 反应的反应活性顺序排列,并讨论其理由。

解: ③>①>④>②(6).不活泼的乙烯型卤代烃能否生成格氏试剂?为什么?解:由于卤原子与双键间的p-π共轭效应,使C-X键之间的键能增加,难以断裂。

(7).化合物:(A)正溴戊烷,(B)叔溴戊烷,(C)新戊基溴,(D)异戊基溴分别与水反应生成相应的醇,讨论它们的反应速率的差异?解: A> D> C> B(8).用极性溶剂代替质子溶剂对(A) S N1,(B) S N2,(C) 烯的亲电加成,(D) 醇的失水反应有何影响?实用文档解: 极性溶剂有利于S N1反应和烯的亲电加成反应的进行,不利于S N2反应和醇的失水反应的发生。

(9). 2–氯环己醇的反式异构体可以跟碱反应转化成环氧化物, 但顺式异构体却不能, 为什么?解: 2–氯环己醇的反式异构体跟碱反应时,进行反式消除,热力学能量低,反应速率快, 顺式异构体则不能。

第六章++课后习题+参考答案

第六章++课后习题+参考答案

第6章完全垄断市场下的价格与产量课后习题参考答案一、单选题1.对完全垄断厂商来说(C)。

A.提高价格一定能够增加收益B.降低价格一定会减少收益C.提高价格未必能增加收益,降低价格未必减少收益D.以上都不对解析:完全垄断市场上,厂商的总收益TR曲线是先增加后减少。

因此,对完全垄断厂商来说,提高价格未必能增加收益,降低价格未必减少收益。

选C。

2.垄断厂商利润极大时,(C)。

A.P=MR=MCB.P>MR=ACC.P>MR=MCD.P>MC=AC解析:垄断厂商定价时遵循利润最大化原则,此时有边际收益等于边际成本MR=MC,而当垄断厂商利润极大时,价格P显然高于边际成本MC。

3.垄断利润或者说超额利润(A)。

A.不是一种成本,因为它不代表生产中使用的资源所体现的替换成本B.不能为垄断者在长期中所获取,因为价格在最优产出水平上必须等于长期平均成本C.为保证资本继续进入该行业所必需D.能为完全竞争者和垄断者一样在长期中获取解析:BCD选项均有明显错误。

垄断利润或者说超额利润不是一种成本,选A。

4.在短期,完全垄断厂商(D)。

A.无盈余B.取得最大利润C.发生亏损D.以上任何一种情况都有可能出现解析:完全垄断厂商在短期均衡点上可能获得超额利润,可能只获得正常利润,还可能发生亏损。

因此选D。

5.在完全垄断厂商的最好或最优产量处(D)。

A.P=MCB.P=SAC的最低点的值C.P最高D.MR=MC解析:根据利润最大化原则,边际收益等于边际成本MR=MC时的价格和产量是最优的。

因此选D。

二、简答题1.成为垄断者的厂商可以任意定价,这种说法对吗?这种说法不正确。

从理论上讲,垄断者是价格的制定者,其产品没有替代品,其他厂商无法进入垄断行业,厂商是产品唯一的卖者。

然而在实际上,如果垄断厂商定价过高,购买量就会下降,从而使总收益和利润下降;其他厂商如看到有丰厚的利润,尽管没有替代品,但相似的替代品总是会生产的,因而垄断厂商如果定价过高,会使自己产品失去销路,市场被相似替代品夺去;国家也会对垄断厂商的定价加以控制,有些国家会通过制定反垄断法,规定最高限价,还可用征税等办法加以控制。

大学物理课后习题答案第六章

大学物理课后习题答案第六章

第6章 真空中的静电场 习题及答案1. 电荷为q +和q 2-的两个点电荷分别置于1=x m 和1-=x m 处。

一试验电荷置于x 轴上何处,它受到的合力等于零?解:根据两个点电荷对试验电荷的库仑力的大小及方向可以断定,只有试验电荷0q 位于点电荷q +的右侧,它受到的合力才可能为0,所以200200)1(π4)1(π42-=+x qq x qq εε故 223+=x2. 电量都是q 的三个点电荷,分别放在正三角形的三个顶点。

试问:(1)在这三角形的中心放一个什么样的电荷,就可以使这四个电荷都达到平衡(即每个电荷受其他三个电荷的库仑力之和都为零)?(2)这种平衡与三角形的边长有无关系?解:(1) 以A 处点电荷为研究对象,由力平衡知,q '为负电荷,所以2220)33(π4130cos π412a q q a q '=︒εε故 q q 33-=' (2)与三角形边长无关。

3. 如图所示,半径为R 、电荷线密度为1λ的一个均匀带电圆环,在其轴线上放一长为l 、电荷线密度为2λ的均匀带电直线段,该线段的一端处于圆环中心处。

求该直线段受到的电场力。

解:先求均匀带电圆环在其轴线上产生的场强。

在带电圆环上取dl dq 1λ=,dq 在带电圆环轴线上x 处产生的场强大小为)(4220R x dqdE +=πε根据电荷分布的对称性知,0==z y E E23220)(41cos R x xdqdE dE x +==πεθR Oλ1λ2lxy z式中:θ为dq 到场点的连线与x 轴负向的夹角。

⎰+=23220)(4dq R x xE x πε232210)(24R x Rx+⋅=πλπε232201)(2R x xR +=ελ下面求直线段受到的电场力。

在直线段上取dx dq 2λ=,dq 受到的电场力大小为dq E dF x =dx R x xR 2322021)(2+=ελλ 方向沿x 轴正方向。

西方经济学第六章-完全竞争市场课后习题答案

西方经济学第六章-完全竞争市场课后习题答案

第六章完全竞争市场1。

假定某完全竞争市场的需求函数和供给函数分别为D=22-4P,S=4+2P。

求:(1)该市场的均衡价格和均衡数量。

(2)单个完全竞争厂商的需求函数。

解答:(1)完全竞争市场的均衡条件为D(P)=S(P),故有:22-4P=4+2P 解得市场的均衡价格和均衡数量分别为:P e=3,Q e=10(2)单个完全竞争厂商的需求曲线是由给定的市场价格出发的一条水平线,于是,在P=3是单个完全竞争厂商的需求函数,需求曲线如图d.2.请区分完全竞争市场条件下,单个厂商的需求曲线、单个消费者的需求曲线以及市场的需求曲线。

解答:单个厂商的需求曲线是用来表示单个厂商所面临的对他产品的需求情况的。

单个完全竞争厂商的需求曲线是由市场均衡价格出发的一条水平线,如图D F直线,而市场的均衡价格取决于市场的需求D M与供给S,单个完全竞争厂商只是该价格的接受者。

单个消费者的需求曲线产生于消费者追求效用最大化的行为。

利用单个消费者追求效用最大化行为的消费者的价格—消费曲线可以推导出单个消费者的需求曲线D C,单个消费者的需求曲线一般是向右下方倾斜的。

把单个消费者的需求曲线水平加总,便可以得到市场的需求曲线,市场需求曲线一般也是向右下方倾斜的。

单个厂商的需求曲线和单个消费者的需求曲线,两者之间没有直接的联系。

PSD MP0 D FD C3.请分析在短期生产中追求利润最大化的厂商一般会面临哪几种情况?解答:在短期生产中,厂商根据MR=SMC这一利润最大化或亏损最小化的原则进行生产。

在实现MR=SMC原则的前提下,厂商可以获得利润即π>0,也可以收支平衡即π=0,也可以亏损即π<0,其盈亏状况取决于厂商的生产技术、成本以及市场需求情况。

当π>0和π=0时,厂商会继续进行生产,这是毫无问题的。

但是,当π<0时,则需要进一步分析厂商是否应该继续生产这一问题。

需要指出的是,认为在π〈0即亏损情况下,厂商一定会停产以避免亏损,是错误的判断.其关键是,在短期生产中厂商有固定成本。

数据结构课后习题答案及解析第六章

数据结构课后习题答案及解析第六章

第六章树和二叉树(下载后用阅读版式视图或web版式可以看清)习题一、选择题1.有一“遗传”关系:设x是y的父亲,则x可以把它的属性遗传给y。

表示该遗传关系最适合的数据结构为( )。

A.向量B.树 C图 D.二叉树2.树最合适用来表示( )。

A.有序数据元素 B元素之间具有分支层次关系的数据C无序数据元素 D.元素之间无联系的数据3.树B的层号表示为la,2b,3d,3e,2c,对应于下面选择的( )。

A. la (2b (3d,3e),2c)B. a(b(D,e),c)C. a(b(d,e),c)D. a(b,d(e),c)4.高度为h的完全二叉树至少有( )个结点,至多有( )个结点。

A. 2h_lB.h C.2h-1 D. 2h5.在一棵完全二叉树中,若编号为f的结点存在右孩子,则右子结点的编号为( )。

A. 2iB. 2i-lC. 2i+lD. 2i+26.一棵二叉树的广义表表示为a(b(c),d(e(,g(h)),f)),则该二叉树的高度为 ( )。

A.3B.4C.5D.67.深度为5的二叉树至多有( )个结点。

A. 31B. 32C. 16D. 108.假定在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为( )个。

A. 15B. 16C. 17D. 479.题图6-1中,( )是完全二叉树,( )是满二叉树。

..专业知识编辑整理..10.在题图6-2所示的二叉树中:(1)A结点是A.叶结点 B根结点但不是分支结点 C根结点也是分支结点 D.分支结点但不是根结点(2)J结点是A.叶结点 B.根结点但不是分支结点 C根结点也是分支结点 D.分支结点但不是根结点(3)F结点的兄弟结点是A.EB.D C.空 D.I(4)F结点的双亲结点是A.AB.BC.CD.D(5)树的深度为A.1B.2C.3D.4(6)B结点的深度为A.1B.2C.3D.4(7)A结点所在的层是A.1B.2C.3D.4..专业知识编辑整理..11.在一棵具有35个结点的完全二叉树中,该树的深度为( )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第六章 运行时存储空间组织
即,每当进入一个过程后,在建立它的活动记录区的同时也
建立一张DISPLAY表,它自顶而下每个单元依次存放着现 行层、直接外层等,直至最外层(主程序层)等每一层过程的 最新活动记录的起始地址。 6.3 (1) 写出实现一般递归过程的活动记录结ห้องสมุดไป่ตู้以及过 程调用、过程进入与过程返回的指令; (2) 对以return(表达式)形式(这个表达式本身是一个递归 调用)返回函数值的特殊函数过程,给出不增加时间开销但 能节省存储空间的实现方法。假定语言中过程参数只有传值 和传地址两种形式。为便于理解,举下例说明这种特殊的函 数调用:
第六章 运行时存储空间组织
6.2 何谓嵌套过程语言运行时的DISPLAY表?它的作用
是什么? 【解答】 当过程定义允许嵌套时,一个过程在运行中 应能够引用在静态定义时包围它的任一外层过程所定义的变 量或数组。也就是说,在栈式动态存储分配方式下的运行中, 一个过程Q可能引用它的任一外层过程P的最新活动记录中 的某些数据。因此,过程Q运行时必须知道它的所有(静态) 外层过程的最新活动记录的地址。由于允许递归和可变数组, 这些外层过程的活动记录的位置也往往是变迁的。因此,必 须设法跟踪每个(静态)外层的最新活动记录的位置,而完成 这一功能的就是DISPLAY嵌套层次显示表。也
第六章 运行时存储空间组织
【解答】
(1) 分配目标程序数据空间的基本策略分为静态分配和 动态分配。故选C。 (2) 过程的DISPLAY表记录了过程的嵌套层次。故选B。 (3) 过程P1调用P2时,连接数据包括:① 老SP值;② 返回P1的地址;③ 全局DISPLAY表的地址。故选A。 (4) 堆式动态分配申请和释放存储空间不一定遵守“先 请后放”和“后请先放”的原则,即申请和释放的顺序是任 意的。故选D。
(3) 过程P1调用P2时,连接数据不包含
C.返回地址
D.全局DISPLAY表地址
第六章 运行时存储空间组织
(4) 堆式动态分配申请和释放存储空间遵守
A.先请先放 C.后请先放 A.保护老SP C.保护老TOP B.先请后放 D.任意
原则。
(5) 栈式动态分配与管理在过程返回时应做的工作有 B.恢复老SP D.释放老TOP 。
第六章 运行时存储空间组织
6.4 有一程序如下: program ex; a: integer; procedure PP(x: integer); begin: x:=5; x:=a+1 end; begin a:= 2; PP(a); write(a) end. 试用图表示 ex 调用 PP(a)前后活动记录的过程。
第六章 运行时存储空间组织
(5) 栈式动态分配与管理在过程返回时应做的工作有:
① 恢复老TOP;② 恢复老SP;③ 根据返回地址无条件返回。 故选B。 (6) 如果活动记录中没有DISPLAY表,则说明程序中不 允许有嵌套定义的过程。故选B。 (7) 两个不同过程的活动,其生存期不重叠却允许嵌套。 故选B。 (8) 编译的动态存储分配含义是在运行阶段对源程序中 的各种变量、常量进行分配。故选A。
第六章 运行时存储空间组织
图6-4 带动态数组的运行栈示意 (a) 动态数组R空间分配之前;(b) 动态数组R空间分配之后
第六章 运行时存储空间组织
6.6 下面程序的结果是 120。但是如果把第 5 行的 abs(1) 改成 1 的话,则程序结果为 1。试分析为什么会有这种不同的结 果。 int fact( ) { static int i=5; if (i==0){ return(1); } else { i=i-1; return((i+abs(1))*fact( ));} } main( ) { printf ("factor or 5=%d\n",fact( )); }
第六章 运行时存储空间组织
int gcd (int p,int q) { if (p % q ==0) return q; else return gcd (q, p % q) } 【解答】 (1) 一般递归过程的活动记录如图 6-1 所示。 过程调用指令为 (i+4)[TOP]=Ti 或 (i+4)[TOP]=addr [Ti] 1[TOP]=SP 3[TOP]=SP+d 4[TOP]=n JSR P
第六章 运行时存储空间组织
【解答】 i是静态变量,所有对i的操作实际上都是对i
所对应的存储单元进行操作,每次递归进入下一层fact函数 后,上一层对i的赋值仍然有效。需要注意的是,每次递归 调用时,(i + abs(1))*fact( )中的(i + abs(1))的值都先于fact算 出。因此,第一次递归调用所求得的值为5*fact,第二次递 归调用所求得的值为4*fact,…,一直到第五次递归调用所 求得的值为1*fact,而此时fact为1。也即实际上是求一个 5*4*3*2*1的阶乘,由此得到结果为120。
第六章 运行时存储空间组织
图6-3 运行栈及DISPLAY表示意图
第六章 运行时存储空间组织
(2) 由于一个过程在运行时所需的实际数据空间的大小,
除可变数据结构(可变数组)那些部分外,其余部分在编译时 是完全可以知道的。编译程序处理时将过程运行时所需的数 据空间分为两部分:一部分在编译时可确定其体积,称为该 过程的活动记录;另一部分(动态数组)的体积需在运行时动 态确定,称为该过程的可变辅助空间。当一个过程开始工作 时,首先在运行栈顶部建立它的活动记录,然后再在这个记 录之顶确定它所需的辅助空间。含有动态数组R的过程B在 第一次激活时,其相应的数据空间情况如图6-4所示。
第六章 运行时存储空间组织
第六章
运行时存储空间组织
第六章 运行时存储空间组织
6.1 完成下列选择题:
(1) 分配目标程序数据空间的基本策略分为 A.栈式分配和堆式分配 B.局部分配和整体分配 C.静态分配和动态分配 D.程序运行之前分配 (2) 过程的DISPLAY表中记录了 A.过程的连接数据 C.过程的返回地址 A.嵌套层次显示表 。 B.过程的嵌套层次 D.过程的入口地址 。 B.老SP值 。

(6) 如果活动记录中没有DISPLAY表,则说明 A.程序中不允许有递归定义的过程 B.程序中不允许有嵌套定义的过程
C.程序中既不允许有嵌套定义的过程,也不允许有递 归定义的过程
D.程序中允许有递归定义的过程,也允许有嵌套定义
的过程
第六章 运行时存储空间组织
(7) 两个不同过程的活动,其生存期
第六章 运行时存储空间组织
【解答】 按照嵌套过程语言栈式实现方法,ex调用
PP(a)前后活动记录的过程如图6-2所示。
图6-2 ex调用PP(a)前后的活动记录
第六章 运行时存储空间组织
6.5 类 PASCAL 结构(嵌套过程)的程序如下,该语言的编 译器采用栈式动态存储分配策略管理目标程序数据空间: program Demo procedure A; procedure B; begin(*B*) … if d then B else A; … end;(*B*) begin(*A*) B
A.重叠且不嵌套 C.重叠且嵌套

B.不重叠却嵌套 D.不重叠也不嵌套 。
(8) 编译的动态存储分配含义是
A.在运行阶段对源程序中的各种变量、常量进行分配 B.在编译阶段对源程序中的各种变量、常量进行分配 C.在编译阶段对源程序中的各种变量、常量进行分配, 在运行时这些各种变量、常量的地址可以根据需要修改 D.A~C都不是
第六章 运行时存储空间组织
将abs(1)改为1后,输出结果为1而不是120,这主要与编 译的代码生成策略有关。对表达式(i + abs(1))* fact( ),因为 两个子表达式(i+abs(1))和fact( )都有函数调用,而编译器的 编译则是先产生左子表达式的代码,后产生右子表达式的代 码。也即,每次递归调用时,(i + abs(1))* fact( )中的(i+abs (1))的值都先于fact算出。但是,当abs(1)改为1后,左子表达 式就没有函数调用了,于是编译器就先产生右子表达式的代 码。每次递归调用时,(i+1)* fact( )中的(i+1)值都后于fact计 算。也即,第一次递归调用得到(i+1)* fact,第二次递归调 用得到(i+1)*fact,第三次递归调用仍得到(i+1)*fact,…,直 到第五次递归调用还是得到(i+1)* fact,而此时fact为1,i为0。 因此,每次递归所求实际上都是1 * fact,最终得到的输出结 果为1。
第六章 运行时存储空间组织
end;(*A*) begin(*Demo*) A end. (1) 若过程调用序列为 ① Demo→A;② Demo →A→B;③ Demo→A→B→ B; ④ Demo→A→B→B→A 请分别给出这四个时刻运行栈的布局和使用的 DISPLAY 表; (2) 若该语言允许动态数组, 编译程序应如何处置?如过程 B 有动态局部数组 R[m:n],请给出 B 第一次激活时相应的数据 空间的情况。 【解答】 (1) 运行栈及使用的 DISPLAY 表如图 6-3 所示。
第六章 运行时存储空间组织
图6-1 递归过程的活动记录
第六章 运行时存储空间组织
过程进入指令为 SP=TOP+1 1[SP]= 返回地址 TOP=TOP+L 建立 DISPLAY 表 P; 返回指令为 TOP=SP-1 SP=0[SP] X=2[TOP] UJ 0[X] (2) 对于 return 后的直接递归情况,可简化为 (i+3)[SP]=Ti 或 (i+3)[SP]=addr [Ti] UJ P /*执行 P 过程*/
相关文档
最新文档