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

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

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

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

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

    1、中级软件设计师下午试题-112 及答案解析(总分:46.00,做题时间:90 分钟)一、试题一(总题数:1,分数:2.00)1.使用说明中的词语,给出下图中的数据存储 D1D5 的名称。(分数:2.00)_二、试题二(总题数:1,分数:15.00)说明一个描述学校的部分关系模式的结果描述如下:1一个系有若干学生,但一个学生只能在一个系;2一个系只有一名主任;3一个学生可以选修多门课程,每门课程有若干学生选修;4每个学生所学的每门课程都有一个成绩;5“学生”和“课程表”及“选课表”的关系示例分别如表 1、表 2、表 3 所示。Student(学生表)的字段按顺序为学号(Sno)、姓名(Sname

    2、)、性别(Ssex)、年龄(Sage)、所属院系(Sdept)、系主任(Smaster);Course(课程表)的字段按顺序为课程编号(Cno)、课程名(Cname)、先行课程(Cpno)、课程学分 (Ccredit);SC(选课表)的字段按顺序为学号(Sno)、课程号(Cno)、成绩(Grade)。各表的记录如下:表 1 StudentSno Sname Ssex Sage Sdept Smaster95001 李勇 男 20 CS 王平95002 刘晨 女 19 IS 周言95003 王明 女 18 MA 展评95004 张立 男 19 IS 周言表 2 Course Cno Cname

    3、Cpno Ceredit1 数据库 5 42 数学 23 信息系统 1 44 操作系统 6 35 数据结构 7 46 数据处理 27 PASCAL 6 4表 3 SC Sno Cno Grade95001 1 9295001 2 8595001 3 8895002 2 9095003 3 80(分数:15.00)(1).问题 1试分析该关系模式中的函数依赖,并指出关系模式的候地选码。(分数:5.00)_(2).问题 2如下的 SQL 语句是检索“信息系(IS)和计算机科学系(CS)的学生的姓名和性别”的不完整语句,请在空缺处填入正确的内容。SELECT (1) FROM (2) WHERE (

    4、3) (分数:5.00)_(3).问题 3如下的 SQL 语句是检索“每个学生及其选修的课程名和成绩”的不完整语句,请在空缺处填入正确的内容。SELEC (1) FROM (2) WHERE (3) (分数:5.00)_三、试题三(总题数:1,分数:15.00)说明背包问题就是有不同价值、不同重量的物品 n 件,求从这 n 件物品中选取一部分物品的选择方案,使选中物品的总重量不超过指定的限制重量,而且选中物品的价值之和为最大。背包问题是一个典型的 NP 完全难题。对该问题求解方法的研究无论是在理论上,还是在实践中都具有一定的意义。如管理中的资源分配、投资决策、装载问题等均可建模为背包问题。常用

    5、的背包问题求解方法很多,但本题中采用了一种新的算法来求解背包问题。该算法思想为:首先要对物品进行价重比排序,然后按价重比从大到小依次装进包裹。这种方法并不能找到最佳的方案,因为有某些特殊情况存在,但只要把包中重量最大的物品取出,继续装入,直到达到 limitweight,这时的物品就是 limit weight 的最大价值。这种算法不需要逐个进行试探,所以在数据非常大时,执行效率主要由排序的时间复杂度决定。该算法的流程图为下图。仔细阅读程序说明和 C 程序流程图及源码,回答问题 1 和问题 2。流程图(分数:15.00)(1).问题 1根据程序说明及流程图、部分 C 源码,充分理解算法思想,填

    6、入 (n) 处。(分数:7.50)_(2).问题 2求解“背包问题”常用的方法有哪几种?各有什么样的特点?(分数:7.50)_四、试题四(总题数:1,分数:15.00)2.【说明】设某城市有 n 个车站,并有 m 条公交线路连接这些车站,设这些公交车都是单向的,这 n 个车站被顺序编号为 0 至 n-1。本程序,输入该城市的公交线路数、车站个数,以及各公交线路上的各站编号,求得从站 0 出发乘公交车至站 n-1 的最少换车次数。程序利用输入信息构建一张有向图 G(用邻接矩阵 g 表示),有向图的顶点是车站,若有某条公交线路经 i站到达 j 站,就在顶点 i 到顶点 j 之间设置一条权为 1 的

    7、有向边i,j。如果这样,从站点 x 至站点 y的最少上车次数便对应图 G 中从点 x 到点 y 的最短路径长度。而程序要求的换车次数就是上车次数减 1。#include stdio.h#define M 20#define N 50int aN+1; /*用于存放一条线路上的各站编号*/int gNN; /*严存储对应的邻接矩阵*/int distN; /*严存储站 0 到各站的最短路径*/int m, n;void buildG()int i, j, k, sc, ddprintf(“输入公交线路数,公交站数/n”);scanf(“%d%d“,W=c;while( (1) )/找到字符串 a

    8、,b 当前字符中较小的字符if(*a*b)t=-*a,(2) else if(*a*b)t=*b;(3) else /字符串 a,b 当前字符相等t=-*a;a-H-;b-H-;if( (4) ) /开始,可直接赋值*w=t;else if(t!=*w)/如果 a,b 中较小的当前字符与 c 中当前字符不相等,才赋值(5) if(*a!=/O) /如果字符串 a 还没有结束,则将 a 的剩余部分赋给 cwhile(*a!=/0)if(*a!=*w)*(+w)=*a;a+;else(6) if(*b!=“,/0) /如果字符串 b 还没有结束,则将 b 的剩余部分赋给 cwhile(*b !=/

    9、0)if(*b!=*w)*(+w)=*b;b+;elseb+;(7) void strsort(char *s) /将字符串 s 中的字符排序int i,j,n;char t,*w;w=s;for(n=O;*w!=/O;n+) /得到字符串长度 nw+;for(i=O;in-1;i+) /对字符串 s 进行排序,按字母先后顺序forO=i+ 1 ;jn;j+)if( (8) t=si;si=sj;(9) void mainOchar s1 100,s2100,s3100;prinff(“/nlPlease input the first string:“);scanfC(“% s“,s1 );

    10、prinff(“/nPlease input the second string:“);scanf(“%s“,s2);strsort(s1); /将字符串 s1 排序strson(s2); /将字符串 s2 排序prinff(“%s/n,s1);printfC % sW,s2);s30=/O; /字符串 s3 的第一个字符先置/0结束标志(10) ; /将 s1 和 s2 合并,按照字母顺序排列,prinff(“%s“,s3);(分数:-1.00)_中级软件设计师下午试题-112 答案解析(总分:46.00,做题时间:90 分钟)一、试题一(总题数:1,分数:2.00)1.使用说明中的词语,给

    11、出下图中的数据存储 D1D5 的名称。(分数:2.00)_正确答案:(D1:学生信息文件;D2:课程单元信息文件:D3:课程信息文件;D4:课程成绩文件;D5:无效成绩文件。注:D2 和 D3 的答案可以互换。)解析:二、试题二(总题数:1,分数:15.00)说明一个描述学校的部分关系模式的结果描述如下:1一个系有若干学生,但一个学生只能在一个系;2一个系只有一名主任;3一个学生可以选修多门课程,每门课程有若干学生选修;4每个学生所学的每门课程都有一个成绩;5“学生”和“课程表”及“选课表”的关系示例分别如表 1、表 2、表 3 所示。Student(学生表)的字段按顺序为学号(Sno)、姓名

    12、(Sname)、性别(Ssex)、年龄(Sage)、所属院系(Sdept)、系主任(Smaster);Course(课程表)的字段按顺序为课程编号(Cno)、课程名(Cname)、先行课程(Cpno)、课程学分 (Ccredit);SC(选课表)的字段按顺序为学号(Sno)、课程号(Cno)、成绩(Grade)。各表的记录如下:表 1 StudentSno Sname Ssex Sage Sdept Smaster95001 李勇 男 20 CS 王平95002 刘晨 女 19 IS 周言95003 王明 女 18 MA 展评95004 张立 男 19 IS 周言表 2 Course Cno

    13、Cname Cpno Ceredit1 数据库 5 42 数学 23 信息系统 1 44 操作系统 6 35 数据结构 7 46 数据处理 27 PASCAL 6 4表 3 SC Sno Cno Grade95001 1 9295001 2 8595001 3 8895002 2 9095003 3 80(分数:15.00)(1).问题 1试分析该关系模式中的函数依赖,并指出关系模式的候地选码。(分数:5.00)_正确答案:(在该关系模式中,存在以下函数依赖:学号姓名 学号所在系 所在系系主任(学号,课程名)成绩系主任传递的依赖学号;该关系模式的候选码为(学号,课程名);姓名、所在系部分依赖候

    14、选码。)解析:解析 试题二本题考查的是基础知识,考生如果掌握对关系模式和 SQL 语言的相关知识可得出答案。(2).问题 2如下的 SQL 语句是检索“信息系(IS)和计算机科学系(CS)的学生的姓名和性别”的不完整语句,请在空缺处填入正确的内容。SELECT (1) FROM (2) WHERE (3) (分数:5.00)_正确答案:(1)Sname, Ssex(2)Student(3)Sdept IN(IS,CS)解析:(3).问题 3如下的 SQL 语句是检索“每个学生及其选修的课程名和成绩”的不完整语句,请在空缺处填入正确的内容。SELEC (1) FROM (2) WHERE (3)

    15、 (分数:5.00)_正确答案:(1)Student.Sno,Sname,Course.Cname,SC.Grade(2)Student,SC,Course(3)Student.Sno=SC.Sno and SC.Cno=Course.Cno;)解析:三、试题三(总题数:1,分数:15.00)说明背包问题就是有不同价值、不同重量的物品 n 件,求从这 n 件物品中选取一部分物品的选择方案,使选中物品的总重量不超过指定的限制重量,而且选中物品的价值之和为最大。背包问题是一个典型的 NP 完全难题。对该问题求解方法的研究无论是在理论上,还是在实践中都具有一定的意义。如管理中的资源分配、投资决策、装

    16、载问题等均可建模为背包问题。常用的背包问题求解方法很多,但本题中采用了一种新的算法来求解背包问题。该算法思想为:首先要对物品进行价重比排序,然后按价重比从大到小依次装进包裹。这种方法并不能找到最佳的方案,因为有某些特殊情况存在,但只要把包中重量最大的物品取出,继续装入,直到达到 limitweight,这时的物品就是 limit weight 的最大价值。这种算法不需要逐个进行试探,所以在数据非常大时,执行效率主要由排序的时间复杂度决定。该算法的流程图为下图。仔细阅读程序说明和 C 程序流程图及源码,回答问题 1 和问题 2。流程图(分数:15.00)(1).问题 1根据程序说明及流程图、部分

    17、 C 源码,充分理解算法思想,填入 (n) 处。(分数:7.50)_正确答案:(bag.weighttmp=bag.weighttmp+thingi.weight;(2)bag.sumvalue=bag.sumvalue+thingi.value;(3)bag.weighttmp=weightlimit(4)inbag ( );(5)best.sumvaluebag.sumvalue)解析:解析 本题考查的是考生对流程图的阅读能力。本题涉及的算法是背包问题。背包问题求解方法很多,考生首先要理解本题中的新方法,然后对照流程图阅读代码。(1)处应该为物品总重量;(2)处应该为物品总价值;(3)处应

    18、该为直到达到极限重量 limit weight;(4)处应该为继续装物品;(5)处应该为比较当前结果与备份结果。问题 2 同样是考查有关基本概念的问题。根据软件设计师考试的趋势,本套题设计上有意识地增加了概念考查部分,希望考生能够加强对基本概念的理解与训练。(2).问题 2求解“背包问题”常用的方法有哪几种?各有什么样的特点?(分数:7.50)_正确答案:(“背包问题”求解方法主要是一些启发式算法,如贪婪算法、递归算法等。应用递归算法的目的是穷举所有可能的解,从中选出最佳解。这种解法实际上是穷举了所有的可能,只是加了一些限制。如果所求的数据很大,这种算法的效率就不是很高,甚至是不可实现的。贪婪

    19、法不用穷举且速度快,但用贪婪法却不一定能找到最优解。由于贪婪法所得到的解与最优解存在很大的差距,当要求较高时,就会成为贪婪法致命的且无法挽救的缺陷。)解析:四、试题四(总题数:1,分数:15.00)2.【说明】设某城市有 n 个车站,并有 m 条公交线路连接这些车站,设这些公交车都是单向的,这 n 个车站被顺序编号为 0 至 n-1。本程序,输入该城市的公交线路数、车站个数,以及各公交线路上的各站编号,求得从站 0 出发乘公交车至站 n-1 的最少换车次数。程序利用输入信息构建一张有向图 G(用邻接矩阵 g 表示),有向图的顶点是车站,若有某条公交线路经 i站到达 j 站,就在顶点 i 到顶点

    20、 j 之间设置一条权为 1 的有向边i,j。如果这样,从站点 x 至站点 y的最少上车次数便对应图 G 中从点 x 到点 y 的最短路径长度。而程序要求的换车次数就是上车次数减 1。#include stdio.h#define M 20#define N 50int aN+1; /*用于存放一条线路上的各站编号*/int gNN; /*严存储对应的邻接矩阵*/int distN; /*严存储站 0 到各站的最短路径*/int m, n;void buildG()int i, j, k, sc, ddprintf(“输入公交线路数,公交站数/n”);scanf(“%d%d“,W=c;while

    21、( (1) )/找到字符串 a,b 当前字符中较小的字符if(*a*b)t=-*a,(2) else if(*a*b)t=*b;(3) else /字符串 a,b 当前字符相等t=-*a;a-H-;b-H-;if( (4) ) /开始,可直接赋值*w=t;else if(t!=*w)/如果 a,b 中较小的当前字符与 c 中当前字符不相等,才赋值(5) if(*a!=/O) /如果字符串 a 还没有结束,则将 a 的剩余部分赋给 cwhile(*a!=/0)if(*a!=*w)*(+w)=*a;a+;else(6) if(*b!=“,/0) /如果字符串 b 还没有结束,则将 b 的剩余部分赋

    22、给 cwhile(*b !=/0)if(*b!=*w)*(+w)=*b;b+;elseb+;(7) void strsort(char *s) /将字符串 s 中的字符排序int i,j,n;char t,*w;w=s;for(n=O;*w!=/O;n+) /得到字符串长度 nw+;for(i=O;in-1;i+) /对字符串 s 进行排序,按字母先后顺序forO=i+ 1 ;jn;j+)if( (8) t=si;si=sj;(9) void mainOchar s1 100,s2100,s3100;prinff(“/nlPlease input the first string:“);sca

    23、nfC(“% s“,s1 );prinff(“/nPlease input the second string:“);scanf(“%s“,s2);strsort(s1); /将字符串 s1 排序strson(s2); /将字符串 s2 排序prinff(“%s/n,s1);printfC % sW,s2);s30=/O; /字符串 s3 的第一个字符先置/0结束标志(10) ; /将 s1 和 s2 合并,按照字母顺序排列,prinff(“%s“,s3);(分数:-1.00)_正确答案:(1)(*a!=/0/)&(*b!=/0)(2)a+(3)b+(4)*w=/0(5)*(+w)=t(6)a

    24、+(7)*(+w)=/0(8)sisj(9)sj=t(10)strmerge(s1,s2,s3)解析:分析根据题意,对字符串的处理分为三步:第一步是从键盘上输入两个字符串:第二步是将两个字符串分别排序;第三步是将字符串合并;第四步是显示处理结果。第一步和第四步容易实现,关键是第二步和第三步的处理,下面分别加以说明。字符串排序是指将一个字符串中各个字符按照 ASCII 码值的大小排序。例如,字符串“Beijing”由小到大的排序结果应该是:”Bejiign“。排序算法很多,第二个例子,我们就要介绍快速排序算法。在这里使用简单的冒泡排序算法:即将字符串中的每一个字符一个个进行比较,找出最小的字符,

    25、然后再在剩下的字符中找最小的字符。例如,字符“Beijing”的排序过程如下:第一次将字符“Beijing”中的每一个字符:B、e、i、j、i、n、g进行比较,找到最小的字符B。第二次在剩下的字符e、i、j、n、g中,找到最小的字符e。第三次在剩下的字符i、j、i、n、g中,找到最小的字符j。第三步是合并字符串,合并后的字符串仍然由小到大排序。由于待合并的两个字符串已经排好序。假定两个排好序的字符串分别为 A 和 B,合并后的字符串为巴要使待合并后的字符串仍然由小到大排序,可采取下述步骤:1从前往后取 A 中的字符,并按从前往后的顺序与 B 中的字符比较,若 A 中的字符较小,则将该字符存入 C,并移到 A 的下一个字符,继续与 B 中的字符比较。2若 A 中的字符较大,则将 B 中的字符存入 C,并移到 B 的下一个字符,继续与 A 中的字符比较。3若 A 与 B 中的字符相等,则将 A 或 B 中的字符存入 C 并将 A 和 B 均移到下一个字符。4若 A 或 B 字符串到达末尾,则将 B 或 A 的剩余部分加到字符串 C 中。需要注意的是:A、B 和 C 三个字符串均可以用字符数组来表示,C 数组的长度不能小于 A、B 两数组的长度之和。另外,判别字符串是否结尾的方法是:从 A 或 B 中取出的字符是否为/0,所有字符串都是以/0结尾的。


    注意事项

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




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

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

    收起
    展开