软考2004上年(下午试题).doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软考2004上年(下午试题)

2004年上半年软件设计师(高级程序员)下午试题 试题一至试题四是必答题 试题一   阅读下列说明和数据流图,回答问题1至问题4,将解答填入答题纸的对应栏内。 [说明]   某基于微处理器的住宅安全系统,使用传感器(如红外探头、摄像头等)来检测各种意外情况,如非法进入、火警、水灾等。   房主可以在安装该系统时配置安全监控设备(如传感器、显示器、报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互。在安装过程中,系统给每个传感器赋予一个编号(即id)和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码。当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号 码,并报告关于位置和检测到的事件的性质等信息。 [数据流图1-3] 加工4的细化图 [问题1]   数据流图1-1(住宅安全系统顶层图)中的A和B分别是什么? [问题2]   数据流图1-2(住宅安全系统第0层DFD图)中的数据存储“配置信息”会影响图中的哪些加工?? [问题3]   将数据流图1—3(加工4的细化图)中的数据流补充完整,并指明加工名称、数据流的方向(输入/输出)和数据流名称. [问题4]   请说明逻辑数据流图(LogicalDataFlowDiagram)和物理数据流图(PhysicalData Flow Diagram)之间的主要差别。 试题二   阅读下列说明和算法,回答问题1和问题2,将解答填入答题纸的对应栏内。 [说明]   算法2-1是用来检查文本文件中的圆括号是否匹配。若文件中存在圆括号没有对应的左括号或者右括号,则给出相应的提示信息,如下所示: 文件 提示信息 (1+2) abc) 缺少对应左括号:第2行,第4列 ((def)gx)) 缺少对应左括号:第3行,第10列 (((h) ij)(k (1ml) 缺少对应右括号:第5行,第4列; 第4行,第1列 在算法2-1中,stack为一整数栈。算法中各函数的说明如下表所示: 函数名 函数功能 push(int i) 将整数i压入栈stack中。 pop() stack的栈顶元素出栈。 empty() 判断stack栈是否为空.若为空,函数返回1,否则函数返回0。 nextch() 读取文本文件中的下一个字符,并返回该字符的ASCII值,将字符所在的行号以及字 符在行中的位置分别存储到变量row和col中,若遇到文件结束符,则将变量EOF 置为true; kind(charch) 判断字符ch是左括号还是右括号,若是左括号,函数返回1,若是右括号,函数返回2, 若两者都不是,函数返回0。 [算法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())      pop();pop():     else      显示错误信息(缺少对应左括号或右括号);      显示行号row;显示列号col;     endif    endif    ch←nextch();   endwhile   if(not empty())    显示错误信息(缺少对应左括号或右括号);    while(not empty())     row←pop(); col←pop();     显示行号row;显示列号col;    endwhile   endif   为了识别更多种类的括号,对算法2-1加以改进后得到算法2-2。算法2-2能够识别圆括号,方括号和花括号(不同类型的括号不能互相匹配)。改进后,函数kind(charch)的参数及其对应的返回值如下表所示: ch ( ) { } [ ] 其它 返回值 1 2 3 4 5 6 0 [算法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( 判断条件2 and 判断条件3 )      pop(); pop(); pop();     else      显示错误信息(缺少对应左括号或右括号);      显示行号row;显示列号col;     en

文档评论(0)

iob207 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档