频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

模拟试题(7)下午试题解析

作者: 谢树煜 出处:清华大学出版社  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2007-04-11 16:40
关 键 词:软件设计师考试全真模拟试题及解析
阅读提示:本书是按照全国计算机技术与软件专业技术资格(水平)考试《软件设计师考试大纲》的要求,参照《软件设计师教程》及近年来考试试题编写的,目的是为应试人员提供演练模拟考试试题及试题分析和解答。试题务求接近真实考试水平,解析力求扼要翔实,对应试人员复习和掌握有关内容很有益处。

试题1
【解析】专线价目文件只在处理2为专线登记文件提供数据项,可能影响到处理2输出的初装单通知、施工单和专线处理文件。初装单通知在说明中没有提到,不予考虑。检查施工单和专线处理文件的数据项,可发现初装费、月租费没有出处,所以它们应由专线价目文件提供。同时,专线价目文件与专线申请登记文件配套时,应有一个共同的数据项用以关联,综合考虑,这个数据项应该是帮助选择初装费、月租费,根据常识,应该是对端所在地区(决定初装费)、通信速率(决定月租费)。
对于问题2,首先看处理3的输入数据源,它们是专线处理文件和初装费收据,它们的数据项不能完全生成施工单。
如果要满足问题3的要求,取消限制,允许租用多条专线的用户对具体的专线采用不同的付款方式,那么付款方式就不再是某个用户的属性,而是某条专线的属性。所以,应该在专线计费文件中加上付款方式数据项,取消用户文件中的付款方式数据项。
【参考答案】
【问题1】
对端所在区、通信速率、初装费、月租费
【问题2】
不能,因为处理3的输入文件及单据中缺少施工单中所需的主端名称、主端地址、对端地址、对端所在地区、通信速率、设备接口等数据项。
【问题3】
在专线计费文件中加上付款方式数据项,取消用户文件中的付款方式数据项。

试题2
【解析】 “找出给北京的工程项目提供不同的零件号”需要两个表(工程项目J和供    货SPJ)的联合查找,要使用DISTINCT来消除重复项。
“将没有供货的所有工程项目从J中删除”,首先要在子查询内从供货(SPJ)表内将所有供货的工程项目号(JNO)查出,然后使用NOT IN 在工程项目表(J)内将不含有这些JNO的记录删除。
问题1中③这个查询需要使用 条件语句having,还需要使用数学函数AVG、MAX。
考生还要熟悉视图、索引的语句,请参考有关教材,这里不做说明。
【参考答案】
【问题1】
① SELECT DISTINCT SPJ.PNO
FROM SPJ, J
WHERE SPJ.JNO=J.JNO AND J.CITY='北京'
② DELETE
FROM J
WHERE JNO NOT IN (
SELECT JNO
FROM SPJ);
③ SELECT DISTINCT JNO
FROM SPJ
WHERE  PNO='P1'
GROUP BY JNO
HAVING AVG(QTS)>
(SELECT MAX(QTY)
FROM SPJ
WHERE JNO='J1');

【问题2】
CREATE VIEW J_S1_P1
AS SELECT J.JNO, J.CITY
FROM SPJ, J
WHERE SPJ.JNO=J.JNO AND SPJ.SNO='S1'  AND SPJ.PNO='P1'

试题3
【解析】题中描述的是进口货物成本计算的方式,要求使用抽象和继承来设计类,根据面向对象设计方法和题意可以得到:应建立一个抽象类“单一货物成本计算”,而“进口货物成本计算”类则继承并实现这个抽象类。
所以,根据图示中泛化的表示方向,类1是抽象类“单一货物成本计算”,类2是继承类“进口货物成本计算”。
类图根据系统中的类,以及各个类之间的关系描述系统的静态视图。
类图的结构,简单的分析一般包括下列的事物和组件:
• 类(CLASS)
• 接口(Interface)
• 合作(Collaboration)
• 依赖(Dependency)
• 泛化(Generalization)
• 关联(Association)
• 限制和批注
【参考答案】
【问题1】
类1是抽象类“单一货物成本计算”,类2是继承类“进口货物成本计算”。
【问题2】
类、接口、关系(合作、依赖、泛化、关联)、限制和批注
【问题3】
依赖(Dependency):依赖关系显示一个模型元素需要另一个模型元素来达到某种目的,即一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义。程序中的引用(Import)就是一种依赖关系。
泛化(Generalization):描述的是两组某些方面具有共性的事务之间存在的一种关系。父类到子类的继承就是一种泛化。

试题4(15分)
【解析】
(1)p &&p->data != e; 或 p!=NULL&&p->data != e 或 p &&(*p).data!=e
(2)p->Lchild或(*p).Lchild
(3)p->Rchild或(*p).Rchild
(4)p->Lchild或(*p).Lchild
(5)pp->Lchild == p或p == (*pp).Lchild
本程序的功能是删除二叉查找树的一个结点。题目中对怎样删除结点有着比较详细的说明。
第1种情况就是删除叶子结点,叶子结点可以直接删除,这一点很好理解,因为叶子结点删除后并不会打乱查找树的顺序。
第2种情况是删除只有一个子结点的结点,只需把其子结点代替父结点即可。若子结点下有子树,子树结构不变。
第3种情况要复杂一点,要用到二叉查找树的一些性质,就是结点右子树的所有结点都大于根结点,左子树所有结点都小于根结点。所以,当删除了有左右子树的结点时,要在左子树找最大的结点,来替换被删结点。

试题5(15分)
【解析】
(1)class Array <T>
(2)new T[iRsz*iCsz]
(3)throw ′e′  (注: throw后可以填写任意的字符常数)
(4)tBody.iCurrentRow = i
(5)tBody(iRsz,iCsz)
分析:(1)的前面是友元关键词friend,但在程序中,没有独立的函数,所以只能是另一个模板类Array,所以(1)应填写class Array <T>。
在类模板ArrayBody的定义中,声明了成员变量T tpBody,且在析构函数中有delete []tpBody,由于在C++中,delete总是和new成对出现的,所以(2)应该使用new对tpBody进行初始化。通过程序中return tpBody[iCurrentRow * iColumns + j]行,可以发现该题中采用的是以一维数组来模拟二维数组的创建。在构造函数有两个参数,分别为行数和列数,所以(2)应填写new T[iRsz*iCsz]。
(3)的前后有try{…}和catch{…}语句序列,这是C++中典型的异常处理搭配语句。由于(3)前面已作处理,当有行下标越界时,置row_error = true;当有列下标越界时,置col_error = true。且(3)前面的判断是“row_error == true || column_error == true”,也就是说只要有行下标越界或是列下标越界就执行(3)。错误处理语句写好放在catch中,catch是当正常程序段发生异常时才执行的,并且这里指明了是catch(char),所以只要在(3)抛出一个char异常,即可进行错误处理。所以(3)应填:throw ′e′(这里可以是任何字符)。
再来看Array类中的两个空。首先看(5),这显然是做一些初始化工作,给其成员变量赋初值,而Array类只有一个成员变量tBody,且tBody是ArrayBody类型的,ArrayBody的构造函数需要传递两个参数,分别代表数组的行和列。因此,(5)应填写tBody(iRsz,iCsz)。
main中实例化Array,而在类Array的构造函数对tBody这个变量进行实例化,这         时就以一维数组的形式创建了二维数组。在类Array中[]运算符重载函数中返回了一个ArrayBody类,而在ArrayBody也存在着[]运算符重载函数,并且在ArrayBody的重载函数中对行下标和列下标同时进行了检查,且返回了一个T类型,对Array<int>来说就是返回了int,也就是数组的一个元素。那么通过对类ArrayBody的观察,发现在整个ArrayBody中并没有任何地方对iCurrentRow进行赋值,而在ArrayBody的[]运算符重载中却利用其对数组行下标进行判断,而数组的行下标只在Array的[]运算符重载中出现,那么(4)就应该是对类ArrayBody的成员变量iCurrentRow进行赋值,所以(4)应填入tBody.iCurrentRow = i。

试题6(15分)
【解析】
(1)private Point center
Ball类以Point类的center对象作为私有成员。
(2)new Point(xValue, yValue)
用类Point中的构造方法Point构造Point类的center对象。
(3)this(xValue, yValue, r)
利用this指针调用本类的3个参数的重载构造方法。
(4)extends Ball
MovingBall类由Ball类扩展而来。
(5)super(xValue, yValue, r, c)
调用父类Ball中具有4个参数的构造方法:
Ball(double xValue,double yValue,double r, String c)


回书目   上一节   下一节
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有