【计算机类职业资格】中级软件设计师下午试题-92及答案解析.doc
《【计算机类职业资格】中级软件设计师下午试题-92及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】中级软件设计师下午试题-92及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、中级软件设计师下午试题-92 及答案解析(总分:90.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1. (分数:15.00)_二、试题二(总题数:1,分数:15.00)2.【说明】供应商零件工程项目数据库由以下 4 个关系模式构成:S(SNO,SNAME,STATUS,CITY)P(PNO,PNAME,COLOR,WEIGHT,CITY)J(JNO,TNAME,CITY)SPJ(SNO,PNO,JNO,QTY)其中,供应商 S,零件 P 和工程项目 J 分别由供应商号(SNO),零件号(PNO)和工程项目号(JNO)唯一标识。供货 SPJ 是指由某个供应商向某个工程项
2、目供应某些数量的某种零件。1. 【问题 1】请用 SQL 语言完成如下的操作。找出给北京的工程项目提供不同的零件号:将没有供货的所有工程项目从 J 中删除;查询这样的工程项目号:供给该工程项目的零件 P1 的平均供应量大于供给工程项目 n 的任何一种零件的最大供应量。【问题 2】定义一个视图,它由所有这样的工程项目(工程项目号与所在城市名称)组成:它们由供应商 S1 供货且使用零件 P1。(分数:15.00)_三、试题三(总题数:1,分数:15.00)3.【说明】“进货库存信息管理系统”是 ERP 系统中一个重要的子系统,下面是该系统的一个简化了的主结构功能图。其中一些各系统功能描述如下:进货
3、信息管理系统进货单据建立文件维护管理工作。进货查询统计管理工作。进货过账工作。在进货管理系统中,要处理“成本计算和费用摊消” 的问题。处理方式如下所述。进口货物的成本计算:(1)先算出本次进货货物的原币总成本金额。(2)再依照当时原币(如:美金 US$,英镑、港币 HK$等)的汇率乘以本次进货原币总成本金额,算出本次进货台币总成本金额。(3)再计算出本次进货所产生的全部费用总金额(包含:关税、报关费、运费、其他费用等费用)。(4)将“本次进货台币总成本金额”加上“全部费用总金额”算出本次实际的“总成本金额”。(5)再利用下述公式算出各单项货物的“单项货物的成本金额”。(6)最后一个步骤,再将“
4、单项货物的成本金额”除以单项货物本次进货的数量,即可算出“单一货物本次进货实际的成本金额”。(分数:15.00)_四、试题四(总题数:1,分数:15.00)4.【说明】函数 DeleteNode (Bitree *r, int e)的功能是:在树根结点指针为 r 的二叉查找(排序)树上删除键值为e 的结点,若删除成功,则函数返回 0,否则函数返回-1。二叉查找树结点的类型定义为:typedef struct Tnodeint data; /*结点的键值*/struct Tnode *Lchild, *Rchild; /*指向左、右子树的指针*/*Bitree:在二叉查找树上删除一个结点时,要考
5、虑 3 种情况:若待删除的结点 p 是叶子结点,则直接删除该结点;若待删除的结点 p 只有一个子结点,则将这个子结点与待删除结点的父结点直接连接,然后删除结点p;若待删除的结点 p 有两个子结点,则在其左子树上,用中序遍历寻找关键值最大的结点 s,用结点 s 的值代替结点 p 的值,然后删除结点 s,结点 s 必属于上述、情况之一。【函数】int DeleteNode (Bitree *r,int e) Bitree p=*r,pp,s,c;while ( (1) ) /*从树根结点出发查找键值为 e 的结点*/pp=p;if(ep-data) p=p-Lchild;else p=p-Rchi
6、ld;if(!P) return-1; /*查找失败*/if(p-Lchild 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;(分数:15.00)_五、试题五(总题数:1,分数:15.00)5.【说明】C+语言本身不提供对数组下标越界的判断。为了解决这一问题,在程序 6 中定义了相应的类模板,使得对厂任意类型的二维数组,可以在访问数组元素的同时,对行下标和列
7、下标进行越界判断,并给出相应的提示信息。#includeiostream.htemplate 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:Trow_error=column_error=false;tryif (iCurrentRow
8、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 “/n“;return tpBodyiCurrentRow * iColumns +j;ArrayBody ( ) delete tpBo
9、dy; ;template class T class Array ArrayBodyT tBody;public:ArrayBodyT Array (int iRsz, int iCsz) : (5) ;void main()Arrayinta1(10,20);Arraydoublea2(3,5);int b1;double b2;b1=a1-510; /有越界提示:行下标越界-5b1=a11015; /有越界提示:行下标越界10b1=a114; /没有越界提示b2=a226; /有越界提示:列下标越界6b2=s21020; /有越界提示:行下标越界10列下标越界20b2=a214; /没有
10、越界提示(分数:15.00)_六、试题六(总题数:1,分数:15.00)6.【说明】下面的程序先构造 Point 类,再顺序构造 Ball 类。由于在类 Ball 中不能直接存取类 Point 中的 xCoordinate 及 yCoordinate 属性值,Ball 中的 toString 方法调用 Point 类中的 toString 方法输出中心点的值。在 MovingBall 类的 toString 方法中,super.toString 调用父类 Ball 的 toString 方法输出类 Ball 中声明的属性值。public class Pointprivate double xC
11、oordinate;private double yCoordinate;public Point 0 public Point(ouble x, double y)xCoordinate = x;yCoordinate = y;public String toString()return “( + Double.toString(Coordinate)+ “,“+ Double.toString(Coordinate) + “);/other methodspublic class Ball(1) ; /中心点private double radius; /半径private String
12、colour; /颜色public Ball() public Ball(double xValue, double yValue, double r)/ 具有中心点及半径的构造方法center= (2) ;/调用类 Point 中的构造方法radius = r;public Ball(double xValue, double yValue, double r, String c)/ 具有中心点、半径及颜色的构造方法(3) ;/调用 3 个参数的构造方法colour = c;public String toString()return “A ball with center“ + cente
13、r, toString() + “, radius“+ Double.toString(radius) + “, colour“ + colour;/other methodspublic class MovingBall. (4) private double speed;public MovingBall() public MovingBall(double xValue, double yValue, double r, String e, double s)(5) ;/ 调用父类 Ball 中具有 4 个参数的构造方法speed = s;public String toString(
14、)return super, toString( ) + “, speed “+ Double.toString(speed); /other methodspublic class Testerpublic static void main(String args)MovingBall mb = new MovingBall(10,20,40,“green“,25);System.out.println(mb);(分数:15.00)_中级软件设计师下午试题-92 答案解析(总分:90.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1. (分数:15.00)_正确答案:
15、(问题 1对端所在区、通信速率、初装费、月租费问题 2不能,因为处理 3 的输入文件及单据中缺少施工单中所需的主端名称、主端地址、对端地址、对端所在地区、通信速率、设备接口等数据项。问题 3在专线计费文件中加上付款方式数据项,取消用户文件中的付款方式数据项。)解析:解析 专线价目文件只在处理 2 为专线登记文件提供数据项,可能影响到处理 2 输出的初装单通知、施工单和专线处理文件。初装单通知在说明中没有提到,不予考虑。检查施工单和专线处理文件的数据项,可发现初装费、月租费没有出处,所以它们应由专线价目文件提供。同时,专线价目文件与专线申请登记文件配套时,应有一个共同的数据项用以关联,综合考虑,
16、这个数据项应该是帮助选择初装费、门租费,根据常识,应该是对端所在地区(决定初装费)、通信速率(决定月租费)。对于问题 2,首先看处理 3 的输入数据源,它们是专线处理文件和初装费收据,它们的数据项不能完全生成施工单。如果要满足问题 3 的要求,取消限制,允许租用多条专线的用户对具体的专线采用不同的付款方式,那么付款方式就不再是某个用户的属性,而是某条专线的属性。所以,应该在专线计费文件中加上付款方式数据项,取消用户文件中的付款力式数据项。二、试题二(总题数:1,分数:15.00)2.【说明】供应商零件工程项目数据库由以下 4 个关系模式构成:S(SNO,SNAME,STATUS,CITY)P(
17、PNO,PNAME,COLOR,WEIGHT,CITY)J(JNO,TNAME,CITY)SPJ(SNO,PNO,JNO,QTY)其中,供应商 S,零件 P 和工程项目 J 分别由供应商号(SNO),零件号(PNO)和工程项目号(JNO)唯一标识。供货 SPJ 是指由某个供应商向某个工程项目供应某些数量的某种零件。1. 【问题 1】请用 SQL 语言完成如下的操作。找出给北京的工程项目提供不同的零件号:将没有供货的所有工程项目从 J 中删除;查询这样的工程项目号:供给该工程项目的零件 P1 的平均供应量大于供给工程项目 n 的任何一种零件的最大供应量。【问题 2】定义一个视图,它由所有这样的工
18、程项目(工程项目号与所在城市名称)组成:它们由供应商 S1 供货且使用零件 P1。(分数:15.00)_正确答案:(问题 1SELECTDISTlNCT SPJPNOFROM SPJ,JWHERE SPJJNO=JJNO AND JCITY北京DELETEFROM JWHERE JNO NOT IN (SELECT JNOFROM SPJ);SELECT DISTINCT JNOFROM SPJWHERE PNO=P1GROUP BY JNOHAVING AVG (QTS)(SELECT MAX (QTY)FROM SPJWHERE JNOJ1);问题 2CREATE VIEW J_S1_P1
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 中级 软件 设计师 下午 试题 92 答案 解析 DOC
