• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
04年上半年软件设计师(高级程序员)下午试题
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
04年上半年软件设计师(高级程序员)下午试题
软件发布 04年上半年软件设计师(高级程序员)下午试题
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 认证考试 >> 程序员 >> 04年上半年软件设计师(高级程序员)下午试题

04年上半年软件设计师(高级程序员)下午试题

添加时间: 2007-4-8 5:44:51  作者: 程序员认证参考  阅读次数:24   来源: http://www.d9soft.com

       

试题一
  阅读下列说明和数据流图,回答问题1至问题4,将解答填入答题纸的对应栏内。
[说明]
  某基于微处理器的住宅 安全 系统,使用传感器(如红外探头、摄像头等)来检测各种意外情况,如非法进入、火警、水灾等。
  房主可以在安装该系统时配置安全监控设备(如传感器、显示器、报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互。在安装过程中,系统给每个传感器赋予一个编号(即id)和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码。当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号
码,并报告关于位置和检测到的事件的性质等信息。

 

 

 

[问题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;
    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]中的“判断条件广至“判断条件3”。注意,若“判断条件2”的逻辑判断结果为假,就无需对“判断条件3”进行判断。

  (a)字符是括号 (b)字符是左括号 (c)字符是右括号 (d)栈空 (e)栈不空
  (f)栈顶元素表示的是与当前字符匹配的左括号
  (g)栈顶元素表示的是与当前字符匹配的右括号

试题三
  阅读下列说明以及图3-1和图3-2,回答问题1、问题2和问题3,将解答填入答题纸的对应栏内。
[说明]
  某电话公司决定开发一个 管理 所有客户信息的交互式 网络 系统。系统的功能如下:
  1.浏览客户信息:任何使用internet的网络用户都可以浏览电话公司所有的客户信息(包括姓名、住址、电话号码等)。
   2.登录:电话公司授予每个客户一个帐号。拥有授权帐号的客户,可以使用系统提供的页面设置个人密码,并使用该帐号和密码向系统注册。
  3.修改个.人信息:客户向系统注册后,可以发送电子邮件或者使用系统提供的页面,对个人信息进行修改。
  4.删除客户信息:只有公司的管理人员才能删除不再接受公司服务的客户的信息。
  系统采用面向对象方法进行开发,在开发过程中认定出的类如下表所示:

编号 类名 描述
1 internetclient 网络用户
2 customerlist 客户信息表,记录公司所有客户的信息
3 customer 客户信息,记录单个客户的信息
4 companycustomer 公司客户
5 internalclient 公司的管理人员

[问题1]
  在需求分析阶段,采用uml的用例图(use case diagram)描述系统功能需求,如图3-1所示。请指出图中的a、b、c和d分别是哪个用例?
[问题2]
  在 uml 中,重复度(multiplicity)定义了某个类的一个实例可以与另一个类的多少个实例相关联。通常把它写成一个表示取值范围的表达式或者一个具体的值。例如图 3-2 中的类 internetclient 和customerlist,internetclient 端的“0..*”表示:一个 custo~erlist 的实例可以与 0 个或多个 internetclient 的实例相关联;customerlist 端的“1”表示:一个internetclient的实例只能与一个customerlist的实例相关。
  请指出图3-2中(1)到(4)处的重复度分别为多少?
[问题3]
  类通常不会单独存在,因此当对系统建模时,不仅要识别出类,还必须对类之间的相互关系建模。在面向对象建模中,提供了四种关系:依赖(dependency)、概括(generalization)、关联(aassociation)和聚集(aggregation)。请分别说明这四种关系的含义,并说明关联和聚集之间的主要区别。

试题四
  在comet型计算机上可以使用试卷上所附的casl汇编语言,阅读程序说明和casl程序,把应填入__(n)__处的字句写在答卷的对应栏内。
[程序4说明]
  本程序将16位无符号二进制数转换为5位十进制数,转换结果用ascii码表示,并从高位至低位依次存放在首地址为btasc的连续5个内存单元中。待转换的16位无符号二进制数存放在data内存单元中。
[程序4]
     start
 progbc ld  gro,data
     lea  gr1,0
     lea  gr3,48
 loop1  cpl  gro,wdt,gr1
     jpz  loop2
     st  gr3,btasc,gr1
     lea  gr1,1,gr1
     lea  gr2,-4,gr1
     jnz  loop1
     __(1)__
 loop2  lea  gr2,48
 loop3  cpl  gro,wdt,gr1
     jmi  next
     __(2)__
     lea  gr2,1,gr2
     jmp loop3
 next  __(3)__
     lea  gr1,1,gr1
     lea  gr2,-4,gr1
     jnz  loop2
 last  __(4)__         ;处理个位数
     __(5)__
     exit
 c48   dc  48
 wdt   dc  10000
     dc  1000
     dc  100
     dc  10
 btasc  ds  5
 data  dc  #fa59h
     end


  从下列的2道试题(试题五至试题六)中任选1道解答。
如果解答的试题数超过1道,‘则题号小的1道解答有效。


试题五
  阅读下列函数说明和c函数,将应填入__(n)__处的字句写在答题纸的对应栏内。
[函数5说明]
  函数deletenode(bitree*r,inte)的功能是:在树根结点指针为r的二叉查找(排序)树上删除键值为e的结点,若删除成功,则函数返回0,否则函数返回-1。二叉查找树结点的类型定义为:
typedef struct tnode{
  int data:            /*结点的键值*/
  struct tnode *lchild,*rchiid; /*指向左、右子树的指针*/
}*bitree;
  在二叉查找树上删除一个结点时,要考虑三种情况:

  ①若待删除的结点p是叶子结点,则直接删除该结点;
  ②若待删除的结点p只有一个子结点,则将这个子结点与待删除结点的父结点直接连接,然后删除结点;
  ③若待删除的结点p有两个子结点,则在其左子树上,用中序遍历寻找关键值最大的结点s,用结点s的值代替结点p的值,然后删除结点s,结点s必属于上述①、②情况之一。
[函数5]
int deletenode(bitree *r,int e) {
 bitree p:*r, pp, s, c:
 while(__(1)__ ){       /*从树根结点出发查找键值为e的结点*/
  pp=p;
  if (e <p->data) p = p->lchild;
  else p = p->rchild;
 }
 if(!p) return -1;       /*查找失败*/
 if (p->lchiid && p->rchild){  /*处理情况③*/
 s = __(2)__ ;pp = p;
 while(__(3)__) { pp = s;s = s->rchild;)
  p->data = s->data; p = s;
 }
 /* 处理情况①、②* /
 if(__(4)__) c = p->lchild;
 else c=p->rchild;
 if (p == *r) *r = c;
 else if (__(5)__) pp->lchild = c;
  else pp->rchild:c;
 free(p);
 return 0;
}

试题六
  阅读下列说明和c++程序,将应填入__(n)__处的字句写在答题纸的对应栏内.
[程序6说明]
  c++语言本身不提供对数组下标越界的判断.为了解决这一问题,在程序6中定义了相应的类模板,使得对于任意类型的二维数组,可以在访问数组元素的同时,对行下标和列下标进行越界判断,并给出相应的提示信息.
[程序6]
#include <iostream.h>
template <class t> class array;
template <class t> class arraybody {
 friend__(1)__;
 t* tpbody;
 int irows,icolumns,icurrentrow;
 arraybody(int irsz,int icsz){
  tpbody = __(2)__;
  irows = irsz;icolumns = icsz;icurrentrow = -1:
}
public;
 t& operator[](int j){
  bool row_error,column_error;
  row_error = column_error =false;
  try {
   if(icurrentrow < 0 icurrentrow >= irows)
    row_error = true;
   if(j<0 j>= icolumns)
    column_error = true;
   if(row_error == true column_ error == true)
    __(3)__;
  }
  catch(char){
   if(row_error == true)
    cerr << "行下标越界[" << icurrentrow << "]";
   if(column_error = true)
    cerr << "列下标越界[" << j << "]";
   cout << " ";
  }
  return tpbody[icurrentrow * icolumns + j];
 }
 ~arraygody(){delete[]tpbody:}
};
template <class t> class array {
 arraybody<t> tbody;
 public;
  arraybody<t> & operator[](int i) {
   __(4)__;
   return tbody;
  }
 array(int irsz,int icsz):__(5)__ { }
 };

void main()
{
 array<int> a1(10,20);
 array<double> a2(3,5);
 int b1;
 double b2; ·
 b1 = a1[-5][10]; //有越界提示:行下标越界[-5]
 b1 = a1[10][15]; //有越界提示:行下标越界[10]
 b1 = a1[1][4];  //没有越界提示
 b2 = a2[2][6];  //有越界提示:列下标越界[6]
 b2 = a2[10][20]; //有越界提示;行下标越界[10]列下标越界[20]
 b2 = a2[1][4];  //没有越界提示

 

上下文章:

 

上一篇文章: 2005年上半年程序员下午试题 下一篇文章: 2005年下半年程序员下午试题

相关文章:

  • 卡巴斯基全功能安全软件2009白皮书
  • Linux之父:最烦安全人士大肆宣扬软件漏洞
  • 趋势科技:杀毒软件不可能永远免费
  • 金山软件7.28毒报:匿名下载器下载木马
  • 金山软件7.15毒报:脚本下载器下载远程病毒

相关软件:

  • 光华反手机病毒软件 S60智能手机(英文版) E60
  • 光华反手机病毒软件 S80/90智能手机 C80
  • 光华反手机病毒软件 S80智能手机(英文版) E80
  • LSC企业监控软件 3.0
  • 佳宜采购管理软件 2.08 SQL网络版
  • 佳宜采购管理软件 2.08 企业版

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

认证考试分类导航

  • 微软认证
  • 计算机等级考试
  • 软件水平考试
  • 思科认证
  • Oracle认证
  • Linux认证
  • JAVA认证
  • 网络工程师
  • 系统工程师
  • 程序员

本类经典文章推荐

  • 软考系统分析师考试须知
  • C++箴言:绝不在构造或析构期调用...
  • 数据结构:判别是否为二叉排序树的...
  • 一个程序员的成长的六个阶段
  • 程序员英语试题常见硬件名和设备名
  • 从一个程序出发详细研究DataReader
  • 如何判断程序处于运行环境还是调试...
  • 程序高手必读:写好C程序的10条秘...
  • 程序员介绍:程序员的“素质”是什...
  • C++箴言:让=返回一个*this的引用

程序员阅读排行

  • 数据结构:判别是否为二叉排序树的...
  • VC++动态链接库(DLL)编程深入浅出...
  • VC++动态链接库(DLL)编程深入浅出...
  • 程序员考试:证书样本
  • 补码加、减运算规则及溢出判断
  • 数据结构:栈和递归求两顶点所有简...
  • DirectX8.0简介(8)
  • 水滴石穿·C语言之代码检查工...
  • 数据结构:打印线索二叉树的中序遍...
  • DirectX8.0简介(3)

认证考试阅读总排行

  • 全国计算机等级考试一级模拟试题01
  • 全国计算机等级考试一级模拟试题10
  • 全国计算机等级考试一级模拟试题08
  • MCSD简介
  • 全国计算机等级考试一级考试最新模...
  • 全国计算机等级考试一级模拟试题07
  • 全国计算机等级考试一级模拟试题02
  • 全国计算机等级考试一级模拟试题06
  • 全国计算机等级考试一级模拟试题03
  • 一级(WINDOWS)试题解析-Word篇

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有