试题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)
| 回书目 上一节 下一节 |
|
· SQL Server入门到精通.. · 交换技术配置手册技术.. · 超级网管员——网络应.. · 网络服务器配置与应用.. · Linux集群技术自测试题.. · JavaSript核心技术自测.. |
· ARP攻击与防范技术自测.. · 国庆挑战自己参加自测 .. · 《网管员必读—网络应.. · 历次技术自测 获奖网友.. · 51CTO国庆七天技术自测.. · 9.2.2 无线AP |
|
|||
| · 网管系统介绍 · 网络管理系统如何支撑I.. · CISSP认证成长之路 · 51CTO国庆充电专题之好.. · 网络技术经典基础教程 · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 · 充电计划之热门IT认证.. |
· 51CTO技术自测 挑战自.. · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 · 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · C#技术开发指南 · Solaris 10 配置管理 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·体验Windows Server 2008.. ·将超星图书转成PDF文档 |
·使用 Office Communicati.. ·VMware Workstation 6.01.. |
| ·强烈质疑“步行1公里就能.. ·国庆期间新闻回顾:微软.. |
·9月第3周回顾:微软和英.. ·9月第2周回顾:四核之战.. |
| · 华为、贝恩资本22亿美元.. · NGN:下一代网络 · 网络访问中断大排查 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· Google推出唯一硬件——.. · 硬盘之父获得诺贝尔物理.. · 理性面对四核服务器选购 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 硬盘之父获得诺贝尔物理.. · 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. |