首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请将【算法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
36
问题
请将【算法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://jikaoti.com/ti/PrW7FFFM
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
对某地区家庭人数的抽样调查统计结果如下表:根据此表,该地区每个家庭的平均人数大致为(28)。
如果已知一个Excel表格B1单元格是空格,B2单元格的内容为数值2,B3单元格的内容为数值3,B4单元格的内容为数值4.5,B5单元格的内容为数值5.5,B6单元格的内容为“=COUNT(B1:B5)”,那么,B6单元格显示的内容应为(55)。
计算机处理的数字数据有数值数据和字符数据之分。对信息处理技术员来说,它们的主要区别是______。
信息处理组长感到日常的信息处理工作效率不高,而且容易出错。为解决这个问题,一般来说,应重点采取的技术措施是()。
以下关于信息存储的叙述中,不正确的是(66)。
n=1,2,3,…,100时,[n/3]共有(4)________________个不同的数([a]表示a的整数部分,例如[3.14]=3)。
企业建立生产和库存管理系统的目的不包括()。
在Excel2007中,若在单元格A1中输入函数“=MID(“RUANKAO”,1,4)”,按回车键后,则A1单元格中的值为()。
内存用于存放计算机运行时的指令、程序、需处理的数据和运行结果。但是,存储在(2)中的内容是不能用指令修改的。
请根据图2-13网页的显示效果,解释该ASP程序中用下画线标出的语句的含义,即填写(1)、(3)、(4)、(6)、(10)空缺处的解释内容。以下网页设计方式中,可以使用户快捷有效的获取其所需信息的有(13)。(不定项选择)A.限制网页中同时
随机试题
A、Inaneighboringtown.B、Inthecitygarage.C、AttheGreenvillecenter.D、Atapublicparkinglot.B录音提到Louis不得不坐出租车到远离市中心的市停
大多数HL患者的首发症状是
乙酰CoA羧化酶的辅酶含有的维生素是转氨酶的辅酶含有的维生素是
会计机构负责人(会计主管人员)应当具备会计师以上专业技术职务资格,并且从事会计工作三年以上,有较强的组织能力,熟悉国家财经法律、法规。()
下列各项中,不应计入管理费用的有()。
甲公司2013年6月应缴纳营业税50000元,城市维护建设税2500元。该公司在规定期限内未进行纳税申报,税务机关责令其缴纳税款并加收滞纳金,该公司在7月30日办理了申报缴纳手续。税务机关核定该公司营业税和城市维护建设税均以1个月为一个纳税期;从滞纳税
“同一个世界、同一个梦想”,你报考法检公务员的梦想与理想是什么?
全加器是由两个加数Xi和Yi以及低位来的进位Ci-1作为输入,产生向高位的进位Ci以及本位利Si的逻辑电路。(65)和(66)分别是进位和本位和的正确逻辑表达式。全加器亦可通过半加器来实现,此时Si=(67)。若某计算机采用8位带符号补码表示整数,则可由8
Employee的表结构为:职工号、单位号、工资,与SELECT*FROMEmployee;WHERE工资BETWEEN10000AND12000等价的SQL命令是
We’ve______paperandink.AskMrs.Edwardtolendussome.
最新回复
(
0
)