学习网考试学习资料

Gzu521.com

2007年11月软件设计师模拟试题下午试卷(1)(2)

计算机软件水平考试   点击:次   发布时间:2007-10-20   【字体: 】   来源:Gzu521.com
Gzu521.com我的学习网

  ●试题二

  阅读下列说明和算法,回答问题1和问题2,将解答填入答题纸的对应栏内。

  【说明】

  算法2-1是用来检查文本文件中的圆括号是否匹配。若文件中存在圆括号没有对应的左括号或者右括号,则给出相应的提示信息,如下所示:

  文件提示信息

  (1+2)

  abc)缺少对应左括号:第2行,第4列

  ((def)gx)缺少对应左括号:第3行,第10列

  (((h)

  ij)(k

  (1ml)缺少对应右括号:第5行,第4列;第4行 ,第1列

  在算法2-1中,stack为一整数栈。算法中各函数的说明见表4。

  【算法2-1】

  将栈stack置空,置eof 为false

  ch<-nextch();

  while(not eof)

  k<-kind(ch);

  if(k== (1) )

  push( (2) );push( (3) );

  elseif(k== (4) )

  if(not empty())?pp#D,*ItWDG/: '[本_文_来_源_于_我_的_学_习_网IT认证计算机软件水平考试 http://Www.GZU521.Com ]?pp#D,*ItWDG/: '

  pop();pop();

  else

  显示错误信息(缺少对应左括号或右括号);

  显示行号row;显示列号col;

  endif

  endif

  ch<-nextch();

  endwhile

  if(not empty())

  显示错误信息(缺少对应左括号或右括号);

  while(not empty())

  row<-pop();col<-pop();

  显示行号row;显示列号co1;

  endwhile

  endif

  为了识别更多种类的括号,对算法2-1加以改进后得到算法2-2。算法2-2能够识别圆括号、方括号和花括号(不同类型的括号不能互相匹配)。改进后,函数kind(char ch)的参数及其对应的返回值见表5。

  【算法2-2】

  将栈stack置空,置eof为false

  ch<-nextch();

  while(not eof)

  k<-kind(ch);

  if(k>0)

  if(判断条件1)

  push( (5) );push( (6) );push( (7) );

  elseif(判断条件2and判断条件3)

  pop();pop();pop();

  else

  显示错误信息(缺少对应左括号或右括号);

  显示行号row;显示列号col;"JC\bGKzv;2D{RN [此资料转贴于学习网IT认证计算机软件水平考试 ]http://www.Gzu521.Com"JC\bGKzv;2D{RN

  endif

  endif

  ch<-nextch();

  endwhile

  if(not empty())

  显示错误信息(缺少对应左括号或右括号);

  while(not empty())

  pop();rowpop();colpop();

  显示行号row;显示列号col;

  endwhile

  endif

 【问题1】

  请将【算法2-1】和【算法2-2】中 (1) ~ (7) 处补充完整。

  【问题2】

  请从下面的选项中选择相应的判断逻辑填补【算法2-2】中的"判断条件1"至"判断条件3"。注意,若"判断条件2"的逻辑判断结果为假,就无需对"判断条件3"进行判断。

  (a)字符是括号

  (b)字符是左括号

  (c)字符是右括号

  (d)栈空

  (e)栈不空

  (f)栈顶元素表示的是与当前字符匹配的左括号

  (g)栈顶元素表示的是与当前字符匹配的右括号

上 一 页 下 一 页
5页: 第 [1] [2] [3] [4] [5]

责任编辑:gzu521

IT认证分类
计算机软件水平考试
全国计算机等级考试
思科认证
微软认证
ORACLE/CIW认证
Linux认证
JAVA认证
其它认证
分类推荐信息
更多...
大类最新文章
更多...