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

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

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

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

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

    1、中级软件设计师下午试题-67 及答案解析(总分:105.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)说明公司 IT 部门决定开发一个计算机管理系统以记录期刊的传阅情况。期刊在公司内部传阅,员工可以要求加入传阅队列。图书室登记公司收到的期刊,交给名单中的第一名员工。员工应在三个工作日内完成阅读,员工阅读完毕后通知系统,系统提醒下一位阅读者取书,下一个员工必须确认已收到期刊。当传阅名单中“下一位”员工出差在外时将无法进行传阅,此时将期刊传给再下一位,而将该员工作标记,再次传递此书时优先考虑该员工。最后一位员工阅读完毕后,将期刊交还图书室以便共用。系统能在员工忘记传递期刊时

    2、发出提醒信息。系统详细记录期刊传阅情况,当员工阅读完后通知系统,系统记录该员工员工号及日期,并在备注栏注明是传出;同样,当员工收到期刊后给系统确认,系统记录该员工员工号及日期,并在备注栏注明是收到。公司的员工都有一个唯一的员工号。公司订阅了多种期刊,为每一本期刊(有唯一期刊流水号)产生一份传阅名单,并详细记录传阅情况。员工的出差情况存储在系统主机中。该系统采用面向对象方法开发,系统中的类以及类之间的关系用 UML 类图表示,图 1-1 是该系统的类图的一部分,图 1-2 描述了成功传递期刊的序列图。图 1-1图 1-2(分数:15.00)(1).根据题意,给出类“传阅记录”的主要属性。(分数:

    3、5.00)_(2).根据题意,将图 1-2 中的(1)(5)处补充完整。(分数:5.00)_(3).同一种期刊分不同的期,所以有多本同一种期刊。“传阅名单”只需每一种期刊一份,还是应该每本期刊一份,为什么?(分数:5.00)_二、试题二(总题数:1,分数:15.00)说明某学校的教学系统描述如下:学生信息包括:学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、入学年份(Syear)、主修专业(Smajor),其中学号是入学时唯一编定的。教师信息包括:教工号(Tno)、姓名(Tname)、性别(Tsex)、年龄(Tage)、职称(Title),其中教工号是唯一编定的。课程信

    4、息包括:课程号(Cno)、课程名称(Cname)、学时(Cpeiiod)、学分(Ccredit),其中课程号是唯一编定的。每个专业每个年级只有一个班级,这样班级就可用入学年份标识。每位教师只教授特定的一门的课程,每门课程可以有多个教师教授,各位老师的上课地点及上课时间有所不同。注意:一门课程至少有一位教师教授,否则这门课程就视为不存在。每位学生可以同时选修多门不同的课程,一门课程至少要有 10 位学生选修,否则就取消这门课程的开设。注意:选修课程时要指定任课教师,不能重复选修同一门课程。课程结束后,任课教师给选修该课程的学生一个成绩(Grade)。注意:教师不能给没有选修他所教授课程的学生成绩

    5、,即使选修了其他教师教授的同一门课也不行。图 2-1 是经分析得到的 E-R 图。图 2-1(分数:15.00)(1).根据题意,给出联系的属性。实体间的联系有“一对一”、“一对多”和“多对多”,指出各联系分别属于哪一种。(分数:5.00)_(2).按照“有关模式名(属性,属性,)”的格式,将此 E-R 图转换为 5 个关系模式,指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。(分数:5.00)_(3).若用 Student 表存储学生信息,Teacher 表存储教师信息,Course 表存储课程信息,Study 表存储学生选修课程情况。教务处想要“查询 2006 年入学的

    6、计算机专业(CS)的学生中平均成绩在 85 分以上的学生信息”。请将以下 SQL 语句补充完整。注:用对应英文表示。SELECT * FROM student WHERE Smajor = “CS“ AND Syear = “2006“AND (1) (SELECT Sno FROM Study GROUP BY SnoHAVING (2) )(分数:5.00)_三、试题三(总题数:1,分数:15.00)说明图 3-1 描述某超市销售数据的部分处理流程。超市中有若干台收款机和若干名收款员。这里,我们把一个收款员开始使用一台收款机到离开这台收款机称为该收款员的一次作业。作业开始时,收款员先在收款

    7、机上输入收款员号和作业前金额。作业前金额是为了销售时的找零而在作业前预先放入钱柜的金额数。作业结束时,收款员要打开钱柜,取走全部现金,并把这些现金的金额数(称为作业后金额)输入收款机。当作业前金额+本次作业售货总金额-本次作业退货总金额作业后金额时,表示这次作业存在金额差错。本流程图已作简化,并作以下假定;该超市只有现金交易(不用信用卡和礼券);一个收款员因某种原因(如吃饭)在一天中可以有多个作业;销售方式只有售货和退货两种。整个超市分成若干部门(如食品部、服装部),系统按部门统计一个月中各类货物的销售数量和金额,最后根据月销售计划文件分析各部门完成销售计划的情况。系统还统计每个收款员的差错情

    8、况和退货情况。图中处理 4 和处理 8 每月的最后一天执行一次(营业结束后),其他处理每天执行一次。图中部分数据、文件的记录格式如下:日销售数据:收款机号+收款员号+作业前金额+(售货标记|退货标记)+货号+数量+单价+金额+作业后金额日销售文件记录:(作业开始标记+收款机号+收款员号+作业前金额)|(售货标记|退货标记)+货号+数量+金额)|(作业结束标记+收款机号+收款员号+作业后金额)部门目销售文件记录:部门号+(售货标记|退货标记)+货号+数量+金额部门月销售计划文件记录:部门号+月计划金额收款员差错月报:月份+收款员号+差错作业数+差错总金额收款员退货月报:月份+收款员号+退货次数+

    9、退货总金额其中 w 表示 w 重复出现多次;a|b 表示 a 或 b;a+b 表示 a 与 b。图 3-1(分数:15.00)(1).分别写出收款员日销售文件、商品文件、部门日销售汇总文件至少应包含哪些数据项。(分数:5.00)_(2).“处理 1”能检查出日销售数据中的哪些错误。(分数:5.00)_(3).处理 4 对收款员月销售文件作何种操作。(分数:5.00)_四、试题四(总题数:1,分数:15.00)说明假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数 m 表示为:m=ak10k-2+ak-110k-3+a310+a2其中 a1保存该长整数的位数,a

    10、0保存该长整数的符号:0 表示正数、1 表示负数。运算时先决定符号,再进行绝对值运算。对于绝对值相减情况,总是绝对值较大的减去绝对值较小的,以避免出现不够减情况。注意,不考虑溢出情况,即数组足够大。函数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(L

    11、A = 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;(1) ;break;case 1: /*LA 与 LB 异号*/*比较两者的绝对值大小,结果符号与较大者相同*/flag = (2) ;if(flag 0) /*LA 较大*/LC0 = LA0;pA =

    12、 LA;pB = LB;else if(flag LB1 ? LA1 : LB1;for(i = 0; 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( (4) )/*需要借位,针对减法*/LCi+2 += 10;carry-;/*for*/if( (5) )/*最高进位,针对加法*/LCi+2 = carry;i+;if(LCi+1 = 0)

    13、 i-; /*若最高位为零,针对减法*/LC1 = i;return 1;/*ADD*/(分数:15.00)_五、试题五(总题数:1,分数:15.00)说明在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合,将小对象组合成复杂的大对象。以下实例展示了 Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。Builder 类规定组成文件的方法,Director 类利用这个方法产生一份具体的文件。图 5-1 显示了各个类间的关系。图 5-1(分数:15.00)_六、试题六(总题数:1,分数:15.00)说明在某些系统中,存在非

    14、常复杂的对象,可以采用循序渐进的方式进行组合将小对象组合,成复杂的对象。以下实例展示了 Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。Builder 类规定组成文件的方法,Director 类利用这个方法产生一份具体的文件。图 6-1 显示了各个类间的关系。(分数:15.00)_七、试题七(总题数:1,分数:15.00)说明在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式,进行组合将小对象组合成复杂的对象。以下实例展示了 Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目

    15、符号的项目。Builder 类规定组成文件的方法,Director 类利用这个方法产生一份具体的文件。图 7-1 显示了各个类间的关系。图 7-1(分数:15.00)_中级软件设计师下午试题-67 答案解析(总分:105.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)说明公司 IT 部门决定开发一个计算机管理系统以记录期刊的传阅情况。期刊在公司内部传阅,员工可以要求加入传阅队列。图书室登记公司收到的期刊,交给名单中的第一名员工。员工应在三个工作日内完成阅读,员工阅读完毕后通知系统,系统提醒下一位阅读者取书,下一个员工必须确认已收到期刊。当传阅名单中“下一位”员工出差在外

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

    17、-1 是该系统的类图的一部分,图 1-2 描述了成功传递期刊的序列图。图 1-1图 1-2(分数:15.00)(1).根据题意,给出类“传阅记录”的主要属性。(分数:5.00)_正确答案:(“传阅记录”属性:期刊流水号、员工号、日期、备注。)解析:根据期刊传阅描述,传阅时需记录员工号、日期以及传入/传出。故“传阅记录”应有属性:员工号、日期、备注。每一本“期刊”有一份“传阅记录”,因此“传阅记录”还应有属性:期刊流水号。(2).根据题意,将图 1-2 中的(1)(5)处补充完整。(分数:5.00)_正确答案:(读取下一位阅读者(3)读取员工状态(4)提醒取书(5)添加传阅记录)解析:根据期刊传

    18、阅过程的描述,员工阅读完毕“通知系统”,系统“添加传阅记录”,并从“传阅名单”中“读取下一位阅读者”,然后“读取员工状态”,若该员工可传,“提醒取书”,员工收到期刊后向系统确认,系统“添加传阅记录”。(3).同一种期刊分不同的期,所以有多本同一种期刊。“传阅名单”只需每一种期刊一份,还是应该每本期刊一份,为什么?(分数:5.00)_正确答案:(“传阅名单”应该每一本期刊一份,以便当员工出差时正确做标记,保证正确传递。)解析:当传阅名单中“下一位”员工出差在外时将无法进行传阅,此时将期刊传给再下一位,而将该员工作标记,再次传递此书时优先考虑该员工。仔细分析该句题设,不难发现,“传阅名单”应该每一

    19、本期刊一份,如果一种期刊一份,则没法做标记,当员工出差时将无法正确传递。二、试题二(总题数:1,分数:15.00)说明某学校的教学系统描述如下:学生信息包括:学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、入学年份(Syear)、主修专业(Smajor),其中学号是入学时唯一编定的。教师信息包括:教工号(Tno)、姓名(Tname)、性别(Tsex)、年龄(Tage)、职称(Title),其中教工号是唯一编定的。课程信息包括:课程号(Cno)、课程名称(Cname)、学时(Cpeiiod)、学分(Ccredit),其中课程号是唯一编定的。每个专业每个年级只有一个班级,这

    20、样班级就可用入学年份标识。每位教师只教授特定的一门的课程,每门课程可以有多个教师教授,各位老师的上课地点及上课时间有所不同。注意:一门课程至少有一位教师教授,否则这门课程就视为不存在。每位学生可以同时选修多门不同的课程,一门课程至少要有 10 位学生选修,否则就取消这门课程的开设。注意:选修课程时要指定任课教师,不能重复选修同一门课程。课程结束后,任课教师给选修该课程的学生一个成绩(Grade)。注意:教师不能给没有选修他所教授课程的学生成绩,即使选修了其他教师教授的同一门课也不行。图 2-1 是经分析得到的 E-R 图。图 2-1(分数:15.00)(1).根据题意,给出联系的属性。实体间的

    21、联系有“一对一”、“一对多”和“多对多”,指出各联系分别属于哪一种。(分数:5.00)_正确答案:(教授:上课地点、上课时间,一对多选修:任课教师、成绩,多对多)解析:“每位教师只教授特定的一门的课程,每门课程可以有多个教师教授,各位老师的上课地点及上课时间有所不同”,因此联系“教授”的属性应有:上课地点,上课时间,是一对多联系。“每位学生可以同时选修多门不同的课程,一门课程至少要有 10 位学生选修,选修课程时要指定任课教师,任课教师给选修该课程的学生一个成绩(Grade)”,因此联系“选修”的属性应有:任课教师、成绩,是多对多联系。(2).按照“有关模式名(属性,属性,)”的格式,将此 E

    22、-R 图转换为 5 个关系模式,指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。(分数:5.00)_正确答案:(教师(教工号,姓名,性别。年龄,职称),主码:教工号课程(课程号,课程名称,学时,学分),主码:课程号学生(学号,姓名,性别,年龄,主修专业,入学年份),主码:学号教授(教工号,课程号,上课地点,上课时间),主码:(教工号)选修(学号,课程号,任课教师,成绩),主码:(学号,课程号)或(学号,任课教师)解析:E-R 模型向关系模型的转换应遵循如下原则:每个实体类型转换成一个关系模式。一个 1:1 的联系(一对一联系)可转换为一个关系模式,或与任意一段的关系模式合并

    23、。一个 1:n 的联系(一对多联系)可转换为一个关系模式,或与 n 段的关系模式合并。若独立转换为一个关系模式,那么两端关系的码及其联系的属性为该关系的属性,而 n 端的码为关系的码。一个 n:m 的联系(多对多联系)可转换为一个关系模式,两端关系的码及其联系的属性为该关系的属性,而关系的码为两端实体的码的组合。三个或三个以上多对多的联系可转换为一个关系模式,诸关系的码及联系的属性为关系的属性,而关系的码为各实体的码的组合。具有相同码的关系可以合并。由于“每位教师只教授特定的一门的课程,学生不能重复选修同一门课程”,因此教授联系的主码是“教工号”,修选联系的主码可以是“(学号,课程号)”,也可

    24、以是“(学号,任课教师)”。(3).若用 Student 表存储学生信息,Teacher 表存储教师信息,Course 表存储课程信息,Study 表存储学生选修课程情况。教务处想要“查询 2006 年入学的计算机专业(CS)的学生中平均成绩在 85 分以上的学生信息”。请将以下 SQL 语句补充完整。注:用对应英文表示。SELECT * FROM student WHERE Smajor = “CS“ AND Syear = “2006“AND (1) (SELECT Sno FROM Study GROUP BY SnoHAVING (2) )(分数:5.00)_正确答案:(Sno IN(

    25、2)AVG(Grade)85)解析:SELECT ALL|DISTINCT,(目标列表达式FROM ,WHERE(条件表达式GROUI BY HAVINGORDER BY ASC|DESC子句顺序为 SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY,但 SELECT 和 FROM 是必须的,HAVING子句只能与 GROUP BY 搭配起来使用。子查询的语意应为“按学号分组、平均分大于 85 的学生的学号”,可得空(1)应填 Sno IN,空(2)应填AVG(Grade)85。三、试题三(总题数:1,分数:15.00)说明图 3-1 描述某超市销售数据的部分

    26、处理流程。超市中有若干台收款机和若干名收款员。这里,我们把一个收款员开始使用一台收款机到离开这台收款机称为该收款员的一次作业。作业开始时,收款员先在收款机上输入收款员号和作业前金额。作业前金额是为了销售时的找零而在作业前预先放入钱柜的金额数。作业结束时,收款员要打开钱柜,取走全部现金,并把这些现金的金额数(称为作业后金额)输入收款机。当作业前金额+本次作业售货总金额-本次作业退货总金额作业后金额时,表示这次作业存在金额差错。本流程图已作简化,并作以下假定;该超市只有现金交易(不用信用卡和礼券);一个收款员因某种原因(如吃饭)在一天中可以有多个作业;销售方式只有售货和退货两种。整个超市分成若干部

    27、门(如食品部、服装部),系统按部门统计一个月中各类货物的销售数量和金额,最后根据月销售计划文件分析各部门完成销售计划的情况。系统还统计每个收款员的差错情况和退货情况。图中处理 4 和处理 8 每月的最后一天执行一次(营业结束后),其他处理每天执行一次。图中部分数据、文件的记录格式如下:日销售数据:收款机号+收款员号+作业前金额+(售货标记|退货标记)+货号+数量+单价+金额+作业后金额日销售文件记录:(作业开始标记+收款机号+收款员号+作业前金额)|(售货标记|退货标记)+货号+数量+金额)|(作业结束标记+收款机号+收款员号+作业后金额)部门目销售文件记录:部门号+(售货标记|退货标记)+货

    28、号+数量+金额部门月销售计划文件记录:部门号+月计划金额收款员差错月报:月份+收款员号+差错作业数+差错总金额收款员退货月报:月份+收款员号+退货次数+退货总金额其中 w 表示 w 重复出现多次;a|b 表示 a 或 b;a+b 表示 a 与 b。图 3-1(分数:15.00)(1).分别写出收款员日销售文件、商品文件、部门日销售汇总文件至少应包含哪些数据项。(分数:5.00)_正确答案:(收款员日销售文件:收款员号+差错作业数+差错金额+退货次数+退货金额商品文件:货号+部门号+单价部门日销售汇总文件:部门号+货号+销售数量+销售总金额)解析:从流程图可以看出,商品文件和目销售数据通过处理

    29、1 生成错误清单、日销售文件和部门日销售文件,日销售文件和部门日销售文件是两个处理流程的输出数据,所以商品文件既要为生成日销售文件和部门日销售文件提供相应的数据,又要提供对日销售数据的错误检查处理的要求。商品文件应该是记录有关商品的一些信息,为了与曰销售数据进行文件关联,应该有一个关联数据项。在日销售数据中与商品有关的数据项是货号,且货号在系统中多处使用,因此货号可以作为商品文件记录的主键。处理 1 生成的部门日销售文件中除部门以外,其余的数据可以从日销售文件分析生成,所以商品文件中有部门数据项,即商品必须唯一从属于某个部门。另外,处理 1 还要对日销售数据进行差错检查,数量、单价与金额 3

    30、个数据间应满足:单价数量=金额,因此商品文件中应包含单价。综上,商品文件至少应包含以下数据项:货号、部门号、单价。处理 3 是将收款员日销售文件合并到收款员月销售文件中,这说明两者在格式上基本相同,题中并没有明确说明两者的记录格式,只能通过分析收款员月销售文件的流向来确定其包含的数据项。处理 4 对收款员月销售文件进行处理后生成收款员差错月报和收款员退货月报,在收款员月销售文件中体现差错和退货两个方面的信息才能统计生成所需的报表,根据试题给定的这两个报表的数据记录格式,合并其中的数据项可以确定收款员月销售文件应包含的数据项:收款员号、差错作业数、差错金额、退货次数、退货金额。注意名称作适当修改

    31、,报表是统计信息。至于月份信息,对收款员月销售文件来讲是一个冗余数据项,收款员月销售文件中的数据是一个月的销售数据。综上得,收款员日销售文件至少应包含以下数据项:收款员号、差错作业数、差错金额、退货次数、退货金额。部门日销售汇总文件是处理 6 按部门统计生成的,通过分析流程很难确定,需要通过试题说明综合考虑。“系统按部门统计一个月中各类货物的销售数量和金额,最后根据月销售计划文件分析各部门完成销售计划的情况。”综合分析可得,部门日销售汇总文件的数据项为:部门、货号、销售量、销售金额。(2).“处理 1”能检查出日销售数据中的哪些错误。(分数:5.00)_正确答案:(存在非法字符或非法数据(如金

    32、额小于 0)数量单价金额货号(或单价)与商品文件中的货号(或单价)不一致)解析:处理 1 的输入数据有商品文件和日销售数据,因此可以检查出的错误如下:存在非法字符或非法数据(如金额小于 0)、数量单价金额、货号(或单价)与商品文件中的货号(或单价)不一致。(3).处理 4 对收款员月销售文件作何种操作。(分数:5.00)_正确答案:(删除其中的所有记录或初始化)解析:处理 4 对收款员月销售文件进行处理后生成收款员差错月报和收款员退货月报,同时也生成了收款员月销售文件,所以对收款员月销售文件所作的操作应为:删除其中的所有记录或初始化。四、试题四(总题数:1,分数:15.00)说明假定用一个整型

    33、数组表示一个长整数,数组的每个元素存储长整数的一位数字,则实际的长整数 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, in

    34、t *LC)/*计算长整数 LA 与 LB 的和,结果存储于 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;(1) ;break;case 1:

    35、 /*LA 与 LB 异号*/*比较两者的绝对值大小,结果符号与较大者相同*/flag = (2) ;if(flag 0) /*LA 较大*/LC0 = LA0;pA = LA;pB = LB;else if(flag LB1 ? LA1 : LB1;for(i = 0; 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( (4) )/*需要借位

    36、,针对减法*/LCi+2 += 10;carry-;/*for*/if( (5) )/*最高进位,针对加法*/LCi+2 = carry;i+;if(LCi+1 = 0) i-; /*若最高位为零,针对减法*/LC1 = i;return 1;/*ADD*/(分数:15.00)_正确答案:(flag=1)解析:_正确答案:(cmp(LA,LB)解析:_正确答案:(carry=0)解析:_正确答案:(LCi+20)解析:_正确答案:(carry)解析:先来看空(2),依据注释此处是比较 LA 与 LB 绝对值的大小,参照 cmp 函数说明及声明,应填cmp(LA,LB)。空(3)以下进行绝对值相加减。carry+=pAi+2+flag*pBi+2;可见,carry 需要进行初始化,故空(3)应填 carry=0。仔细分析该计算式,可知 flag 是符号,flag 为 1 时,计算 pA+pB,flag 为-1 时,计算pA-


    注意事项

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




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

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

    收起
    展开