首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请将【算法4-1】和【算法4-2】中,(1)~(7)空缺处的内容补充完整。 请从以下选项中选择相应的判断逻辑填写【算法4-2】中的“判断条件1”至“判断条件3”。注意,如“判断条件2”的逻辑判断结果为假,则无须对“判断条件3”进行判断。 判断条件1
请将【算法4-1】和【算法4-2】中,(1)~(7)空缺处的内容补充完整。 请从以下选项中选择相应的判断逻辑填写【算法4-2】中的“判断条件1”至“判断条件3”。注意,如“判断条件2”的逻辑判断结果为假,则无须对“判断条件3”进行判断。 判断条件1
admin
2009-02-15
67
问题
请将【算法4-1】和【算法4-2】中,(1)~(7)空缺处的内容补充完整。
请从以下选项中选择相应的判断逻辑填写【算法4-2】中的“判断条件1”至“判断条件3”。注意,如“判断条件2”的逻辑判断结果为假,则无须对“判断条件3”进行判断。 判断条件1:(8) 判断条件2:(9) 判断条件3:(10) 【供选择的答案】A.栈顶元素表示的是与当前字符匹配的左括号
B.栈顶元素表示的是与当前字符匹配的右括号
C.字符是左括号
D.字符是右括号
E.栈不空F.栈空G.字符是括号
选项
答案
(8)C或字符是左括号 (9)E或栈不空 (10)A或栈顶元素的是与当前字符匹配的左括号
解析
这是一道要求读者用创建Thread类的子类的方法实现多线程的编程题。本题的解答思路如下。
通常把限定只能在一端进行插入和删除操作的线性表称为栈,所以栈又称为运算受限的线性表。把可以进行插入和删除操作的一端称为栈顶(习惯用top指针指示),而另一端称为栈底。当栈中不包含任何数据元素时,这个栈就为空栈。
由于栈具有“后进先出”的运算特点,因此在程序设计中应用十分广泛。例如进制转换、括号匹配的检验、表达式求值及迷宫求解等。
【算法4-1】的功能是检查文本文件中的圆括号是否匹配。若文件中存在圆括号而没有对应的左括号或者右括号,则给出图1-18所示的提示信息。从图1-18给出的信息可知,程序不但要求检查出是否有括号匹配错误,而且还需要给出具体的出错位置。通常,括号匹配的规则是把最近的左右括号配成一对,所以括号匹配最常用的方法是遇到左括号则入栈,遇到右括号则出栈。这样,出栈的左括号与当前的右括号是匹配的。
【算法4-1】分析:
1)栈置空,置EOF为FALSE,并从文件中读取第一个字符到ch,然后进入循环。循环体执行一次处理一个ch。进入循环,利用kind函数算出ch的类型k。
2)虽然【算法4-1】中有(1)~(4)空缺处,但其基本结构却很明显,大致流程如下。
当k等于什么的时候把什么入栈;
当k等于什么且栈不为空的时候,进行出栈操作。如果栈为空,则打印错误信息:如果都不是,则读文件的下一个字符再次进入循环。
根据以上所提到的算法可知,入栈操作应该发生在类型A为1(即ch为左括号)时,而出栈操作应该发生在类型A为2(即ch为右括号)时。因此(1)空缺处所填写的内容是“1”,(4)空缺处所填写的内容是“2”。
由于在(4)空缺处之后的出栈操作中,并没有用到栈的内容。因此可能有些读者理所当然地认为栈中的内容没有什么用,可以在(2)、(3)空缺处随便压个ch,即两个空缺处均填写“ch”。但换个角度思考,从逻辑上就可以推翻这种解答。如果(2)、(3)空缺处压的是同样的数据,又是在同一位置出栈,算法大可只用一个push、pop就可以了。
由语句“row<-pop();col<-pop();”可知,(2)、(3)空缺处应该把row和col压入堆栈。由于是先弹出FOW后弹出col,并且根据栈的“后进先出”规则可知,应先将col压入栈,再压入row。因此 (2)空缺处所填写的内容是“col”,(3)空缺处所填写的内容是“row”。
【算法4-2】分析:
同理,由【算法4-2】中的语句“row<-pop根据栈的“后进先出”规则可知,();col<-pop():”可知, (5)、(6)空缺处应该把row和col压入堆栈。应先将col压入栈,再压入row,即(5)空缺处所填写的内容是“col”,(6)空缺处所填写的内容是“row”。
由于判断条件1为真时,需要进行入栈操作,因此判断条们:1应是判断字符是不是左括号,如果是就入栈,即(8)空缺处应选择选项C的“字符是左括号”。
判断条件2和判断条件3是相关联的,当两个判断条件都为真时,要进行出栈操作,因此要判断栈是否为空。由此可以得出在判断条件2和判断条件3中,至少有一个必定是用来判断栈是否为空的。可以用判断栈顶元素来确定当前括号是否和栈中压入括号是同一类型的,但前提是左括号类型入了栈,而且要在栈顶。如果(7)空缺处压入的是k,则正好符合这一条件。所以(7)空缺处所填写的内容是“k”。
同时,判断括号是否匹配的条件也就可以确定了,如果当前ch是右括号且当前栈顶的左括号(只有左括号入了栈)类型与ch匹配,则匹配成功。根据试题说明中的提示信息:若“判断条件2”的逻辑判断结果为假,就无须对“判断条件3”进行判断,所以应把“栈不空”作为判断条件2,“栈顶元素表示的是与当前字符匹配的左括号”作为判断条件3,即(9)空缺处应选择选项E的“栈不空”,(10)空缺处应选择选项A的“栈顶元素表示的是与当前字符匹配的左括号”。
转载请注明原文地址:https://kaotiyun.com/show/wbjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
如果表A和表B中有公共字段,且该字段在表B中称为主键,则该字段在表A中称为________________。
在Excel2010中,C3:C7单元格中的值分别为10、OK、20、YES和48,在。D7单元格中输入函数“=COUNT(C3:C7)”,按回车键后,D7单元格中显示的值为________________。
企业实现移动信息化的作用不包括________________。
在Windows环境中,选择某一部分信息(例如一段文字、一个图形)移动到别处,可以首先执行“编辑”菜单下的(5)命令。
在Windows7中,若删除桌面上某个应用程序的快捷方式图标,则(31)。
某商场记录(统计)销售情况的数据库中,对每一种商品采用了国家统一的商品编码。这种做法的好处不包括(11)________________。
打开DOC文档48.doc,有如下表格,欲在空白单元格中计算出整行其他四个单元格的数值之和,应在空白单元格中插入公式(48)。
在Excel中,区域A1:B2中各单元格的值都为4,区域C2:E2中各单元格的值分别为5、6、8,在P1单元格中输入公式“=AVERAGE(A1:B2,C2:E2)”,则F1单元格中显示的值为(59)。
为什么一般处理“震荡波”病毒时,首先要把被侵入的计算机系统从网络上断开?在计算机系统发现病毒并清除以后,在未接入网络之前,从安全方面考虑,若需重新安装操作系统,通常需要执行以下几项主要工作后,方可接入网络。请给出下列工作的合理顺序。A.安装操作
请根据图2-13网页的显示效果,解释该ASP程序中用下画线标出的语句的含义,即填写(1)、(3)、(4)、(6)、(10)空缺处的解释内容。在index.asp文档中使用了<styletype="text/css">语句。其中,CSS是指(10),
随机试题
无条件最惠国待遇
血栓闭塞性脉管炎局部缺血期典型的临床表现是
某商品住宅在建工程,土地总面积为15000平方米,容积率为2.5,已正常开发建设18个月。同类商品住宅开发项目的建设期为24个月,相似商品住宅的市场价格为8000元/平方米。根据以上资料,回答下列问题:该商品住宅在建工程的后续建设期为()
下列属于激励作用的内容有()。
学生王林因不守纪律,又一次被带进办公室,当即受到班主任的训斥:“你又违反纪律了?我跟你说了多少次?你的脸皮实在太厚!你把家长请来,当面说清楚,你到底准备怎么办。不然,从明天起,你就不要来读书了。”学生低着头离开了办公室。从上面例子分析,你认为要使王林同学守
在城市,居民委员会作为居民自我管理、自我教育、自我服务的民主管理机构,是城市居民的自治组织。下列做法能体现城市居民自治的有()。
下列常识错误的是()。
简述元朝书院的发展过程。
荣格认为,心理功能可以分为()
WheneverBettyattendedoneofherchildren’sperformances,shemanagedtokeepapokerface.Theunderlinedpartmeans______.
最新回复
(
0
)