欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】中级软件设计师下午试题-57及答案解析.doc

    • 资源ID:1323176       资源大小:81KB        全文页数:12页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】中级软件设计师下午试题-57及答案解析.doc

    1、中级软件设计师下午试题-57 及答案解析(总分:90.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)阅读下列说明和数据流图,回答问题 1 至问题 3。【说明】图书管理系统旨在用计算机对图书进行管理,包括图书的购入、借阅、归还及注销。管理人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,给出统计表格,以便掌握图书的流通情况。系统要实现以下 4 方面的功能:购入新书、读者借书、读者还书及图书注销。(1)购入新书:需要为该书编制图书卡片,包括分类目录号、图书流水号(要保证每本书都有唯一的流水号,即使同类图书也是如此)、书名、作者、内容摘要、

    2、价格和购书日期等信息,写入图书目录文件中。(2)读者借书:填写借书单,包括读者号、欲借图书分类目录号,系统首先检查该读者号是否有效,若无效,则拒绝借书,否则进一步检查该读者所借图书是否超过最大限制数,若已达到最大借阅数,则拒绝借书,否则读者可以借出该书,登记图书分类目录号、图书流水号、读者号和借阅日期等,写回到借书文件中去。(3)读者还书:根据图书流水号,从借书文件中读出和该图书相关的借阅记录,表明还书日期,再写回借书文件中;如果图书逾期未还,则处以相应罚款。(4)图书注销:将一些过时或无保留价值的图书注销,从图书文件中删除相关记录。(5)流通查询:管理员可以对图书流通情况进行查询,包括某位读

    3、者、某种图书和全部图书,给出流通情况统计表。以下是经分析得到的数据流图及部分数据字典,有些地方有待填充,假定顶层数据流图是正确的。如图9-1 所示是顶层数据流图,如图 9-2 所示是第 0 层数据流图,如图 9-3 所示是第 1 层数据流图。【数据字典】(1)数据流条目图书管理要求=入库单|借书单|还书单|注销单入库单=分类目录号+数量+书名+作者+内容摘要+价格+购书日期借书单=读者号+U (d) /U+借阅日期还书单=U (e) /U+还书日期(2)文件说明文件名:目录文件组成:分类目录号+书名+作者+内容摘要+价格+入库日期+总数+库存数+U (f) /U(分数:15.00)(1).【问

    4、题 1】根据题意,指出数据流图中缺失的数据流(a)的名称,并指出该数据流的起点。(分数:5.00)_(2).【问题 2】将下述文件正确填充在数据流图(b)、(c)处:读者文件、借书文件。(分数:5.00)_(3).【问题 3】根据题意,补充数据字典中(d)、(e)、(f)处的空缺。(分数:5.00)_二、B试题二/B(总题数:1,分数:15.00)阅读下列说明,回答问题 1 至问题 3。【说明】关于一位花商有以下一些事实。(1)销售在不同地区生长的花,这些地区一年的最低气温在一定范围内变化。(2)想用编号来表示发货类型。(3)要出售某些类型的花。假定已经通过 SQL 语句建立了基本表:CREA

    5、TE TABLE Zone(ID CHAR(2) PRIMARY KEY,LowerTemp NUMERIC(3),UpperTemp NUMERIC(3);CREATE TABLE Delivery(ID CHAR (2) PRIMARY KEY,Category CHAR(5),DelSize NUMERIC(5,3);CREATE TABLE FlowerInfo(ID CHAR (3),ComName CHAR(25),LatName CHAR(30),Czone NUMERIC(3),Hzone NUMERIC(3),Delivered NUMERIC(3),SunNeed CHAR

    6、(3),PRIMARY KEY(ID);地区(ID,最高温度,最低温度)发货(ID,发货类型,发货规格)花的信息(ID,普通名,拉丁名,花能够生长的最冷地区,花能够生长的最热地区,发货类型,日光需求)(分数:15.00)(1).【问题 1】写出 SQL 语句,将记录(ID,Category=pot,DelSize=1.5)插入 Delivery 表中。(分数:5.00)_(2).【问题 2】写出 SQL 语句实现如下功能:查询以花瓶(pot)形式发货的所有鲜花的 ID、普通名及花瓶的规格,得到结果表按照普通名的字母逆序打印。(分数:5.00)_(3).【问题 3】写出如下 SQL 实现语句。(

    7、1)把对表 Zone 的 INSERT 权限授予用户 Smith,并允许它再将此权限授予他人。(2)收回已经授予 Tom 的对表 FlowerInfo 中属性 ComName 的修改权限。(3)建立视图 viewpot,表现问题 2 的功能。(分数:5.00)_三、B试题三/B(总题数:1,分数:15.00)阅读下列说明和图,回答问题 1 至问题 3。【说明】公司 IT 部门决定开发一个计算机管理系统以记录期刊的传阅情况。期刊在公司内部传阅,员工可以要求加入传阅队列。图书室登记公司收到的期刊,交给名单中的第一名员工。员工应在 3 个工作日内完成阅读,员工阅读完毕后通知系统,系统提醒下一位阅读者

    8、取书,下一个员工必须确认已收到期刊。当传阅名单中“下一位”员工出差在外时将无法进行传阅,此时将期刊传给再下一位,而将该员工做标记,再次传递此书时优先考虑该员工。最后一位员工阅读完毕后,将期刊交还图书室以便共用。系统能在员工忘记传递期刊时发出提醒信息。系统详细记录期刊传阅情况,当员工阅读完后通知系统,系统记录该员工的员工号及日期,并在备注栏注明是传出;同样,当员工收到期刊后给系统收书确认,系统记录该员工的员工号及日期,并在备注栏注明是收到。公司的员工都有一个唯一的员工号。公司订阅了多种期刊,为每一本期刊(有唯一期刊流水号)产生一份传阅名单,并详细记录传阅情况。员工的出差情况存储在系统主机中。该系

    9、统采用面向对象方法开发,系统中的类及类之间的关系用 UML 类图表示,图 9-4 是该系统的类图的一部分,图 9-5 描述了成功传递期刊的序列图。(分数:15.00)(1).【问题 1】根据题意,给出类“传阅记录”的主要属性。(分数:5.00)_(2).【问题 2】根据题意,将图 9-5 中的(1)(5)处补充完整。(分数:5.00)_(3).【问题 3】同一种期刊分不同的期,所以有多本同一种期刊。“传阅名单”只需每一种期刊一份,还是应该每本期刊一份?为什么?(分数:5.00)_四、B试题四/B(总题数:1,分数:15.00)1.【说明】假定用一个整型数组表示一个长整数,数组的每个元素存储长整

    10、数的一位数字,则实际的长整数 m 表示为:m=ak10k-2+ak-110k-3+a310+a2其中 a1保存该长整数的位数,a0保存该长整数的符号:0 表示正数,1 表示负数。运算时先决定符号,再进行绝对值运算。对于绝对值相减情况,总是绝对值较大的减去绝对值较小的,以避免出现不够减的情况。注:不考虑溢出情况,即数组足够大。【函数】int cmp(int *LA, int *LB);/*比较长整数 LA 与 LB 的绝对值大小*/*若 LA 绝对值较大返回正值,LA 较小返回负值,相等则返回 0*/int ADD(int *LA, int*LB, int *LC)/*计算长整数 LA 与 LB

    11、 的和,结果存储于 LC 中*/*注意:正数与负数的和相当于正数与负数绝对值的差*/*数据有误返回 0,正常返回 1*/if(LA=NULL | LB=NULL | LC=NULL)return 0;int *pA, *pB,i,N,carry,flag;flag=LA0+LB0;switch(flag)/*根据参与运算的两个数的符号进行不同的操作*/case 0:case 2:LC0=LA0;/*LA 与 LB 同号,结果符号与 LA(LB)相同*/pA=LA;pB=LB;U (1) /U;break;case 1:/*LA 与 LB 异号*/*比较两者的绝对值大小,结果符号与较大者相同*/

    12、flag=U (2) /U;if(flag0)/*LA 较大*/LC0=LA0;pA=LA;pB=LB;else if(flag0)/*LB 较大*/LC0=LB0;pA=LB;pB=LA;else/*LA 与 LB 相等*/LC0=0;LC1=0;return 1;flag=-1;break;default:return 0;break;/*switch*/*绝对值相加减*/*注意对于减法 pA 指向较大数,pB 指向较小数,不可能出现不够减的情况*/U (3) /U;N=LA1LB1?LA1:LB1;for(i=0;iN;i+)if(i=pA1)/*LA 计算完毕*/carry+=flag

    13、 *pBi+2;else if(i=pB1)/*LB 计算完毕*/carry +=pAi+2;elsecarry +=pAi+2+flag *pBi+2;LCi+2=Carry%10;carry /=10;if(U (4) /U)/*需要借位,针对减法*/LCi+2+=10;carry-;/*for*/if(U (5) /U)/*最高进位,针对加法*/LCi+2=carry;i+;if(LCi+1=0)i-;严若最高位为零,针对减法*/LC1=i;return 1;/*ADD*/(分数:15.00)_五、B试题五/B(总题数:1,分数:15.00)2.【说明】 现要编写一个画矩形的程序,目前有

    14、两个画图程序:DP1 和 DP2,DP1 用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2 则用 drawline(x1,x2,y1,y2)画一条直线。当实例画矩形时,确定使用 DP1 还是 DP2。 为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为 Bridge(桥接)模式。图 9-6 显示了各个类间的关系。 (分数:15.00)_六、B试题六/B(总题数:1,分数:15.00)3.【说明】 现要编

    15、写一个画矩形的程序,目前有两个画图程序:DP1 和 DP2,DP1 用函数draw_a_line(x1, y1,x2,y2)画一条直线,DF2 则用 drawline(x1,x2,y1,y2)画一条直线。当实例画矩形时,确定使用 DP1 还是 DP2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现 部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为 Bridge(桥接)模式。图 9-7 显示了各个类间的关系。 (分数:15.00)_中级软件设计师下午试题-57 答案解析(

    16、总分:90.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)阅读下列说明和数据流图,回答问题 1 至问题 3。【说明】图书管理系统旨在用计算机对图书进行管理,包括图书的购入、借阅、归还及注销。管理人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,给出统计表格,以便掌握图书的流通情况。系统要实现以下 4 方面的功能:购入新书、读者借书、读者还书及图书注销。(1)购入新书:需要为该书编制图书卡片,包括分类目录号、图书流水号(要保证每本书都有唯一的流水号,即使同类图书也是如此)、书名、作者、内容摘要、价格和购书日期等信息,写入图书目录文件中。

    17、(2)读者借书:填写借书单,包括读者号、欲借图书分类目录号,系统首先检查该读者号是否有效,若无效,则拒绝借书,否则进一步检查该读者所借图书是否超过最大限制数,若已达到最大借阅数,则拒绝借书,否则读者可以借出该书,登记图书分类目录号、图书流水号、读者号和借阅日期等,写回到借书文件中去。(3)读者还书:根据图书流水号,从借书文件中读出和该图书相关的借阅记录,表明还书日期,再写回借书文件中;如果图书逾期未还,则处以相应罚款。(4)图书注销:将一些过时或无保留价值的图书注销,从图书文件中删除相关记录。(5)流通查询:管理员可以对图书流通情况进行查询,包括某位读者、某种图书和全部图书,给出流通情况统计表

    18、。以下是经分析得到的数据流图及部分数据字典,有些地方有待填充,假定顶层数据流图是正确的。如图9-1 所示是顶层数据流图,如图 9-2 所示是第 0 层数据流图,如图 9-3 所示是第 1 层数据流图。【数据字典】(1)数据流条目图书管理要求=入库单|借书单|还书单|注销单入库单=分类目录号+数量+书名+作者+内容摘要+价格+购书日期借书单=读者号+U (d) /U+借阅日期还书单=U (e) /U+还书日期(2)文件说明文件名:目录文件组成:分类目录号+书名+作者+内容摘要+价格+入库日期+总数+库存数+U (f) /U(分数:15.00)(1).【问题 1】根据题意,指出数据流图中缺失的数据

    19、流(a)的名称,并指出该数据流的起点。(分数:5.00)_正确答案:()解析:名称:当前日期,起点:系统时钟。 分析 加工 2 的输入数据流有“当前日期”和“有效的图书管理要求”。根据平衡原则,加工 2.1 的输入数据流(a)应为“当前日期”,其起点自然是“系统时钟”。(2).【问题 2】将下述文件正确填充在数据流图(b)、(c)处:读者文件、借书文件。(分数:5.00)_正确答案:()解析:(b)读者文件 (c)借书文件 分析 加工 3.2“读者查询”需要“借书文件”及“读者文件”,而加工 3.3“图书查询”与“读者文件”不相关,因此 b 处应填“读者文件”,c 处应填“借书文件”。(3).

    20、【问题 3】根据题意,补充数据字典中(d)、(e)、(f)处的空缺。(分数:5.00)_正确答案:()解析:(d)分类目录号 (e)图书流水号 (f)图书流水号 分析 根据说明“填写借书单,包括读者号、欲借图书分类目录号”可得,借书单应包括“读者号”和“图书分类号”。故 d 应填“分类目录号”。 还书时是根据“图书流水号”的,因此还书单应包括“图书流水号”。故 e 应填图书流水号。 “目录文件”存储图书的情况,包括分类目录号、图书流水号、书名、作者、内容摘要、价格,可见“目录文件”需要存储图书流水号,而且“一种”书有多个副本,因此 f 应填图书流水号。注意,大括号表示多个数据项。二、B试题二/

    21、B(总题数:1,分数:15.00)阅读下列说明,回答问题 1 至问题 3。【说明】关于一位花商有以下一些事实。(1)销售在不同地区生长的花,这些地区一年的最低气温在一定范围内变化。(2)想用编号来表示发货类型。(3)要出售某些类型的花。假定已经通过 SQL 语句建立了基本表:CREATE TABLE Zone(ID CHAR(2) PRIMARY KEY,LowerTemp NUMERIC(3),UpperTemp NUMERIC(3);CREATE TABLE Delivery(ID CHAR (2) PRIMARY KEY,Category CHAR(5),DelSize NUMERIC(

    22、5,3);CREATE TABLE FlowerInfo(ID CHAR (3),ComName CHAR(25),LatName CHAR(30),Czone NUMERIC(3),Hzone NUMERIC(3),Delivered NUMERIC(3),SunNeed CHAR(3),PRIMARY KEY(ID);地区(ID,最高温度,最低温度)发货(ID,发货类型,发货规格)花的信息(ID,普通名,拉丁名,花能够生长的最冷地区,花能够生长的最热地区,发货类型,日光需求)(分数:15.00)(1).【问题 1】写出 SQL 语句,将记录(ID,Category=pot,DelSize=

    23、1.5)插入 Delivery 表中。(分数:5.00)_正确答案:()解析:INSEllT INTO Delively(ID, Category, DelSize)VALLIES(1,pot,1.5) 分析 插入记录用INSERT 语句,其基本格式如下: INSERT INTO 基本表名(字段名,字段名) VALUES(常量,常量) 据此易得对应的 SQL 语句为: INSERT INTO Delivery(ID, Category, DelSize) VALUES(1,pot,1.5)(2).【问题 2】写出 SQL 语句实现如下功能:查询以花瓶(pot)形式发货的所有鲜花的 ID、普通名

    24、及花瓶的规格,得到结果表按照普通名的字母逆序打印。(分数:5.00)_正确答案:()解析:SELECT FlowerInfo.ID,FlowerInfo.ComName,Delivery.DelSize FROM FlowerInfo AS F,Delivery AS D WHERE F.Delivemd=D.id AND D.Category=pot ORDER BY F.ComName DESC 分析 本题是考查SQL 查询语句,在此需要用到两个表:delively 和 flowerinfo,需要将其正确连接起来。 查询 SELECT语句的基本格式如下: SELECT ALL|DISTIN

    25、CT目标列表达式,目标列表达式 FROM表名或视图名,表名或视图名 WHERE条件表达式 GROUP BY列名 1HAVING条件表达式 ORDER BY列名 2ASC|DESC 据此,根据题意可得相应的 SQL 查询语句为: SELECT FlowerInfo.ID, HowerInfo. ComName, DeliVery.DelSize FROM FlowerInfoAS F, Delivery AS D WHERE F.Delivered=D.id AND D.Category=pot ORDER BY F.ComName DESC(3).【问题 3】写出如下 SQL 实现语句。(1)

    26、把对表 Zone 的 INSERT 权限授予用户 Smith,并允许它再将此权限授予他人。(2)收回已经授予 Tom 的对表 FlowerInfo 中属性 ComName 的修改权限。(3)建立视图 viewpot,表现问题 2 的功能。(分数:5.00)_正确答案:()解析:(1) GREANT INSERT ON TABLE Zone TO Smith WITH GRANT OPTION (2) REVOKE UPDATE(ComName)ON TABLE FlowerInfo FROM Tom (3) CREATE VIEW Viewpot(ID,ComName, DeISize) AS

    27、 SELECT FlowerInfo.ID,FlowerInfo.ComName,Delivery.DelSize FROM FlowerInfo AS F, Delivery AS D WHERE F.Delivered=D.id AND D.Category=pot ORDER BY F.ComName DESC 分析 SQL 语言中的数据控制语句有授权(GRANT)和收获权限(REVOKE),其基本格式分别如下: GRANT权限,权限 ON对象类型对象名 TO用户,用户 WHERE GRANT OPTION REVOKE权限,权限 ON对象类型对象名 FROM用户,用户 据此可得问题(1

    28、)对应的 SQL 语句为 GREANT INSERT ON TABLE Zone TO Smith WITH GRANT OPTION;问题(2)对应的 SQL 语句为 REVOKE UPDATE(ComName)ON TABLE FlowerInfO FROM Tom。 问题(3)是创建视图,用 CREATE VIEW 语句实现,其基本格式为: CREATE VIEW 视图名(列表名) AS SELECT 查询子句 WITH CHECK OPTION 根据题意可得对应的 SQL 语句为: CREATE VIEW Viewpot(ID,ComName,DelSize) AS SELECT Fl

    29、owerInfo.ID,FlowerInfo.ComName,Delively.DelSize FROM FlowerInfo AS F,Delivery AS D WHERE F.Delivered=D.id AND D.Category=pot ORDER BY F.ComName DESC三、B试题三/B(总题数:1,分数:15.00)阅读下列说明和图,回答问题 1 至问题 3。【说明】公司 IT 部门决定开发一个计算机管理系统以记录期刊的传阅情况。期刊在公司内部传阅,员工可以要求加入传阅队列。图书室登记公司收到的期刊,交给名单中的第一名员工。员工应在 3 个工作日内完成阅读,员工阅读完

    30、毕后通知系统,系统提醒下一位阅读者取书,下一个员工必须确认已收到期刊。当传阅名单中“下一位”员工出差在外时将无法进行传阅,此时将期刊传给再下一位,而将该员工做标记,再次传递此书时优先考虑该员工。最后一位员工阅读完毕后,将期刊交还图书室以便共用。系统能在员工忘记传递期刊时发出提醒信息。系统详细记录期刊传阅情况,当员工阅读完后通知系统,系统记录该员工的员工号及日期,并在备注栏注明是传出;同样,当员工收到期刊后给系统收书确认,系统记录该员工的员工号及日期,并在备注栏注明是收到。公司的员工都有一个唯一的员工号。公司订阅了多种期刊,为每一本期刊(有唯一期刊流水号)产生一份传阅名单,并详细记录传阅情况。员

    31、工的出差情况存储在系统主机中。该系统采用面向对象方法开发,系统中的类及类之间的关系用 UML 类图表示,图 9-4 是该系统的类图的一部分,图 9-5 描述了成功传递期刊的序列图。(分数:15.00)(1).【问题 1】根据题意,给出类“传阅记录”的主要属性。(分数:5.00)_正确答案:()解析:“传阅记录”属性:期刊流水号、员工号、日期、备注。 分析 根据传阅描述,传阅时需记录员工号、日期及传入/传出。故“传阅记录”应有属性:员工号、日期、备注。 每一本“期刊”有一份“传阅记录”,因此“传阅记录”还应有属性:期刊流水号。(2).【问题 2】根据题意,将图 9-5 中的(1)(5)处补充完整

    32、。(分数:5.00)_正确答案:()解析:(1)通知系统 (2)读取下一位阅读者 (3)读取员工状态 (4)提醒取书 (5)添加传阅记录 分析 根据期刊传阅过程的描述,员工阅读完毕“通知系统”,系统“添加传阅记录”,并从“传阅名单”中“读取下一位阅读者”,然后“读取员工状态”,若该员工可传,“提醒取书”,员工收到期刊后向系统确认,系统“添加传阅记录”。(3).【问题 3】同一种期刊分不同的期,所以有多本同一种期刊。“传阅名单”只需每一种期刊一份,还是应该每本期刊一份?为什么?(分数:5.00)_正确答案:()解析:“传阅名单”应该每一本期刊一份,以便当员工出差时正确做标记,保证正确传递。 分析

    33、 “当传阅名单中下一位员工出差在外时将无法进行传阅,此时将期刊传给再下一位,而将该员工做标记,再次传递此书时优先考虑该员工。”仔细分析 该句题设,不难发现,“传阅名单”应该每一本期刊一份,如果一种期刊一份,则没法做标记,当员工出差时将无法正确传递。四、B试题四/B(总题数:1,分数:15.00)1.【说明】假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数 m 表示为:m=ak10k-2+ak-110k-3+a310+a2其中 a1保存该长整数的位数,a0保存该长整数的符号:0 表示正数,1 表示负数。运算时先决定符号,再进行绝对值运算。对于绝对值相减情况,总

    34、是绝对值较大的减去绝对值较小的,以避免出现不够减的情况。注:不考虑溢出情况,即数组足够大。【函数】int cmp(int *LA, int *LB);/*比较长整数 LA 与 LB 的绝对值大小*/*若 LA 绝对值较大返回正值,LA 较小返回负值,相等则返回 0*/int ADD(int *LA, int*LB, int *LC)/*计算长整数 LA 与 LB 的和,结果存储于 LC 中*/*注意:正数与负数的和相当于正数与负数绝对值的差*/*数据有误返回 0,正常返回 1*/if(LA=NULL | LB=NULL | LC=NULL)return 0;int *pA, *pB,i,N,c

    35、arry,flag;flag=LA0+LB0;switch(flag)/*根据参与运算的两个数的符号进行不同的操作*/case 0:case 2:LC0=LA0;/*LA 与 LB 同号,结果符号与 LA(LB)相同*/pA=LA;pB=LB;U (1) /U;break;case 1:/*LA 与 LB 异号*/*比较两者的绝对值大小,结果符号与较大者相同*/flag=U (2) /U;if(flag0)/*LA 较大*/LC0=LA0;pA=LA;pB=LB;else if(flag0)/*LB 较大*/LC0=LB0;pA=LB;pB=LA;else/*LA 与 LB 相等*/LC0=0

    36、;LC1=0;return 1;flag=-1;break;default:return 0;break;/*switch*/*绝对值相加减*/*注意对于减法 pA 指向较大数,pB 指向较小数,不可能出现不够减的情况*/U (3) /U;N=LA1LB1?LA1:LB1;for(i=0;iN;i+)if(i=pA1)/*LA 计算完毕*/carry+=flag *pBi+2;else if(i=pB1)/*LB 计算完毕*/carry +=pAi+2;elsecarry +=pAi+2+flag *pBi+2;LCi+2=Carry%10;carry /=10;if(U (4) /U)/*需

    37、要借位,针对减法*/LCi+2+=10;carry-;/*for*/if(U (5) /U)/*最高进位,针对加法*/LCi+2=carry;i+;if(LCi+1=0)i-;严若最高位为零,针对减法*/LC1=i;return 1;/*ADD*/(分数:15.00)_正确答案:()解析:(1) flag=1 (2) cmp(LA,LB) (3) carry=0 (4) LCi+20 (5) carry 分析 先来看空(2),依据注释此处是比较 LA 与 LB 绝对值的大小,参照 cmp 函数说明及声明,应填 cmp(LA,LB)。 空(3)以下进行绝对值相加减。carry+=pAi+2+fl

    38、ag*pBi+2;可见,carry 需要进行初始化,故空(3)应填carryy=0。仔细分析 该计算式,可知 flag 是符号,flag 为 1 时,计算 pA+pB,flag 为-1 时,计算pA-pB。由此也推断出空(1)应填 flag=1。case 1 中亦有对应语句 flag=-1 可得验证。 由注释可见空(4)要填需要借位的条件。当不够减时需要向高一位借位,也就是不借位时相减结果是负数。因此空(4)应填LCi+20。 同(4),空(5)要填需要有最高进位的条件。carry 变量表示的就是进位。因此空(5)应填carry(或 carry !=0)。注:此处 carry 不可能为负数。五

    39、、B试题五/B(总题数:1,分数:15.00)2.【说明】 现要编写一个画矩形的程序,目前有两个画图程序:DP1 和 DP2,DP1 用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2 则用 drawline(x1,x2,y1,y2)画一条直线。当实例画矩形时,确定使用 DP1 还是 DP2。 为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为 Bridge(桥接)模式。图 9-6 显示了各个类间的关系。

    40、 (分数:15.00)_正确答案:()解析:(1) abstract (2) DP2.drawline(x1,x2,y1,y2) (3) Drawing (4) _dp.drawLine(x1,y1,x2,y2) 分析 由类 Drawing 的 drawLine()方法是 abstract 的,因此 Drawing要么是接口,要么是抽象类,在此为抽象类,故空(1)应填 abstract。 空(2)是调用 DP2 系统的相应方法,可参照 DP1 的对应函数的函数体,但要注意参数不完全相同,应填 DP2.drawline(x1,x2,y1,y2)。 _dP 属性是用来存储 Drawing 对象的,

    41、参照 Shape 的构造函数可确认这一点,空(3)应填 Drawing。 Shape 类的 drawLine 方法是通过调用 Drawing 对应的方法来实现所需要的功能,因此空(4)应填_dp.drawLine(x1,y1,x2,y2)。 空(5)显然是基类构造函数,应填 super(dp)。 (5) super(dp)六、B试题六/B(总题数:1,分数:15.00)3.【说明】 现要编写一个画矩形的程序,目前有两个画图程序:DP1 和 DP2,DP1 用函数draw_a_line(x1, y1,x2,y2)画一条直线,DF2 则用 drawline(x1,x2,y1,y2)画一条直线。当实例画矩形时,确定使用 DP1 还是 DP2。为了适应变化,包括“不同类型的形状”和“不同


    注意事项

    本文(【计算机类职业资格】中级软件设计师下午试题-57及答案解析.doc)为本站会员(吴艺期)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开