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

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

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

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

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

    1、中级软件设计师下午试题-41 及答案解析(总分:104.00,做题时间:90 分钟)一、试题一(总题数:3,分数:15.00)1. (分数:5.00)填空项 1:_2.问题 2 张三到图书馆借阅一本书,两个月后,他把这本逾期的书返还给图书馆。画出这个场景的时序图。(分数:5.00)填空项 1:_3.问题 3 画出上一问中使用的图书馆程序的层次结构图。(分数:5.00)填空项 1:_二、试题二(总题数:2,分数:14.00)4.问题 1 试画出 ER图,并在图上注明属性、联系类型、实体标识符;(分数:7.00)_5.问题 2 将 ER图转换成关系模型,并说明主键和外键。(分数:7.00)_三、试

    2、题三(总题数:1,分数:15.00)6.说明 编写一个函数根据用户输入的偶对(以输入。表示结束)建立其有向图的邻接表。一个图的邻接表存储结构定义如下:# include stdio. h # define MAXVEX 30struct edgenodeint adjvex;char info;struct edgenode * next;struct vexnodechar data;struct edgenode * link;typedef struct vexnode adjlist MAXVEX;实现要求的函数如下:void creatadjlist ( adjlist g)int

    3、i, j, k;street vexnode * s;for( k=1; k =n; k+ +)(1) g k. link = NULL;printf ( “输一个对:” );scanf (“%d, %d“, while (2) (3) s- adjvex =j;(4) g i.link =s;(5) (分数:15.00)填空项 1:_四、试题四(总题数:1,分数:15.00)7.说明 请完成流程图以描述在数据 A(1)至 A(10)中求最大数和次大数的程序的算法。并将此改成 PAD图。该算法的流程图如下图:(分数:15.00)_五、试题五(总题数:1,分数:15.00)8.说明 利用 c+的

    4、各种控制语句编写一个万年历程序,要求:显示任何年份的日历,日历以月份顺序排列,每月以星期顺序排列,类似于一般挂历上的格式。本程序包含如下两个函数:Leap ()用于判定指定的年份是闰年,Week ()用于计算 year年份的 1月 1日是星期几,其判定规则为:(1) 如果 year 年份为 1994年,则为星期六。(2) 如果 year 年份大于 1994年,则星期值 weekno 按下列公式计算:differ=(year-1994)*(365%6)+(year-1993)/4-(year-2001)/100+(year-2001)/400 date=6+differ%7weekno=(dat

    5、e6)? date-7:date(3) 如果 year 年份小于 1994年,则星期值 weekno 按下列公式计算:differ=(1994-year)*(365%7)+(1996-year)/4-(2001-year)/100+(2000-year)/400 weekno=6-dder%7# include “iostream. h“# include “iomanip. h“int leap(int n)if( (1) )return 0elsereturn 1;int week( int year )int a1, differ, date, weekno;if (year = = 1

    6、994)a1 =0;else if (year 1994)a1=1;else a1= -1;switch(a1)case 0: return 6; break;case 1:(2) date = 6 + differ% 7; weekno = ( date 6) ? date - 7 date;return weekno; break;case - 1:differ = ( 1994 - year) * (365%7) + (1996 - year)/4 - (2001 - year)/100 + (2000 - year)/400;weekno =6-differ%7; return wee

    7、kno; break;void main( )int i,year,m2,n,j;cout “Please input 某年数:”;cin year;if ( ! leap(year) )(3) ;elsem2 =28;int month 12: 31 ,m2,31,30,31,30,31,31,30,31,30,31 ;(4) for ( i=0; i12; i+ + )cout end1 setw(4*n) “;for(j=1 ;j =month i ;j+ +)cout setw(4) j;n+ +;if(n =7)(5) cout end1;(分数:15.00)填空项 1:_六、试题六

    8、(总题数:1,分数:15.00)9.说明 打印输出 10行杨晖三角形。形式如下:杨晖三角形:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 11 8 28 56 70 56 28 8 11 9 36 84 126 126 84 36 9 1class yanghuipublic static void main (String args )int i, j;(1) int yanghui ;System. out. println( “杨晖三角形:” );yanghui = new int yhle

    9、ve1 ;for(i =0;i yanghui, length; i + + )yanghuii = new int i + 1;(2) for( (3) )yanghui i 0 = 1;for(j = 1 ;j yanghuii, length - 1 ;j + + )yanghuii j = yanghuii - 1 j - 1 + yanghuii - 1 j;yanghuii yanghuii. length - 1 = 1;for ( i=0; i yanghui. length; i + + )for(j =0;j yanghuii. length; j + + )(4) Sys

    10、tem. out. println( );(分数:15.00)填空项 1:_七、试题七(总题数:1,分数:15.00)10.说明 编写一工资调整程序。若基本工资大于等于 800元,工资增加 20%,若小于 800元大于 600 元,则工资增加 15%,若小于 600元则工资增加 10%。要求在文本框 Text1 中增加某职工的基本工资,单击“计算”按钮,在标签框 Label1中输出增加后的工资。Private Sub Command1_ Click( )Dim x As Integer, y As Single(1) Select Case xCase Is = 800y=x*1.2Case

    11、Is = 600y=x, 1.5(2) y=x*1.1(3) Label1. Caption = y(4) Private Sub Command2_ Click()Unload MeEnd Sub(分数:15.00)填空项 1:_中级软件设计师下午试题-41 答案解析(总分:104.00,做题时间:90 分钟)一、试题一(总题数:3,分数:15.00)1. (分数:5.00)填空项 1:_ (正确答案:问题 1*)解析:试题一解答要点 本题中的图书馆有一个书和读者的聚合关系。即图书馆确实是由书和读者组成。书和副本之间的关系既不是集合关系也不是继承关系。对象“书”表示书的抽象,而副本为借出的实

    12、际书籍。读者和副本之间的关系称为“租借”。从副本的观点来看,任务是“借出被登记”,而从读者的角度来看,任务是“借出登记”。多重性指出一个副本可以不进行借出登记,也可以只借给一个读者(01)。另一多重性(0*)指出一个读者每次可以具有 0个、1 个或多个“借出登记”关系。存在依赖关系定义如下:如果该较低类(子女)只在较高(双亲)类存在时存在并且较低(子女)类只与较高(双亲)类的一个实例相联系的话,就说一个类(双亲)可以与一个较低类(子女)相连关系。该关系和继承关系可以用来表示任何问题的领域。如题中的关系模式所示,除“租借”外的所有关系以及图书馆-书都满足存在依赖的要求。但不满足“租借”关系,因为

    13、一个副本对象可以存在于登记借阅它的凑者对象之前。不过,可以建立一个确实满足 ED关系的租借对象。对象“书”不能是图书馆的子女,因为书可存在特定的图书馆之前或之后。可以将“人员”增加到图中,以显示在“图书馆”上不属于存在-依赖的那部分读者。时序图中,垂直的线代表类的实例。每条垂直线在顶部用类名、后跟一个冒号,最后为实例名来标记。水平箭头描述功能调用。箭头的尾部位于调用类的线上,箭头的头部位于被调用类的线上。功能名位于箭头上。垂直线上的宽方块给出被调用功能的执行时间。时序图比对象模型更接近设计阶段。这个图中使用的有些功能在对象模型中没有使用,而且图中调用的时序是由实际的设计所决定的。层次结构图给出

    14、系统的调用结构。图中的每个框代表一项功能。层次结构图通常在面向对象的开发中不使用,但它是用于理解系统的动态结构的一个非常有用的图。2.问题 2 张三到图书馆借阅一本书,两个月后,他把这本逾期的书返还给图书馆。画出这个场景的时序图。(分数:5.00)填空项 1:_ (正确答案:问题 2 *)解析:3.问题 3 画出上一问中使用的图书馆程序的层次结构图。(分数:5.00)填空项 1:_ (正确答案:问题 3 *)解析:二、试题二(总题数:2,分数:14.00)4.问题 1 试画出 ER图,并在图上注明属性、联系类型、实体标识符;(分数:7.00)_正确答案:(ER 图如下图所示:*)解析:5.问题

    15、 2 将 ER图转换成关系模型,并说明主键和外键。(分数:7.00)_正确答案:(根据转换规则,上面的 ER图可以转换成 6个关系模式:仓库( 仓库号 ,仓库名,地址)商品( 商品号 ,商品名,单价)商店( 商店号 ;商店名,地址)库存( 仓库号,商品号, 日期, 库存量)销售( 商店号,商品号, 月份, 月销售量)供应( 仓库号,商店号,商品号, 月份, 月供应量)解析:三、试题三(总题数:1,分数:15.00)6.说明 编写一个函数根据用户输入的偶对(以输入。表示结束)建立其有向图的邻接表。一个图的邻接表存储结构定义如下:# include stdio. h # define MAXVEX

    16、 30struct edgenodeint adjvex;char info;struct edgenode * next;struct vexnodechar data;struct edgenode * link;typedef struct vexnode adjlist MAXVEX;实现要求的函数如下:void creatadjlist ( adjlist g)int i, j, k;street vexnode * s;for( k=1; k =n; k+ +)(1) g k. link = NULL;printf ( “输一个对:” );scanf (“%d, %d“, whil

    17、e (2) (3) s- adjvex =j;(4) g i.link =s;(5) (分数:15.00)填空项 1:_ (正确答案:(1) gk.data=k;(2) i! =0 (4) s- next = gi.link;(5) printf (“输入一个偶对:”);scanf (“%d, %d“, )解析:解答要点 本题的算法思想是:先产生邻接表的 n个头结点(其结点数值域从 1到 n),然后接收用户输入的 (以其中之一为 0结束标志),对于每条这样的边,申请一个邻接结点,并插入到 vi的单链表中,如此反复,直到将图中所有边处理完毕,则建立了该有向图的邻接表。四、试题四(总题数:1,分数

    18、:15.00)7.说明 请完成流程图以描述在数据 A(1)至 A(10)中求最大数和次大数的程序的算法。并将此改成 PAD图。该算法的流程图如下图:(分数:15.00)_正确答案:(1)max2 =A(1) mex1 =A(2)(2)i =10(3)max1 =A(i)1max2 = max1(4)i=i+1PAD图描述如下:*)解析:解答要点 本题的算法思想是:先输入 A(1)到 A(10)的值,然后判断前两个数的大小。用变量max1存储最大数,用变量 max2存储次大数。然后逐个读入数据,分别和 max1,max2 比较,保证最大的存入 max1,次大的存入 max2。五、试题五(总题数:

    19、1,分数:15.00)8.说明 利用 c+的各种控制语句编写一个万年历程序,要求:显示任何年份的日历,日历以月份顺序排列,每月以星期顺序排列,类似于一般挂历上的格式。本程序包含如下两个函数:Leap ()用于判定指定的年份是闰年,Week ()用于计算 year年份的 1月 1日是星期几,其判定规则为:(1) 如果 year 年份为 1994年,则为星期六。(2) 如果 year 年份大于 1994年,则星期值 weekno 按下列公式计算:differ=(year-1994)*(365%6)+(year-1993)/4-(year-2001)/100+(year-2001)/400 date

    20、=6+differ%7weekno=(date6)? date-7:date(3) 如果 year 年份小于 1994年,则星期值 weekno 按下列公式计算:differ=(1994-year)*(365%7)+(1996-year)/4-(2001-year)/100+(2000-year)/400 weekno=6-dder%7# include “iostream. h“# include “iomanip. h“int leap(int n)if( (1) )return 0elsereturn 1;int week( int year )int a1, differ, date,

    21、 weekno;if (year = = 1994)a1 =0;else if (year 1994)a1=1;else a1= -1;switch(a1)case 0: return 6; break;case 1:(2) date = 6 + differ% 7; weekno = ( date 6) ? date - 7 date;return weekno; break;case - 1:differ = ( 1994 - year) * (365%7) + (1996 - year)/4 - (2001 - year)/100 + (2000 - year)/400;weekno =

    22、6-differ%7; return weekno; break;void main( )int i,year,m2,n,j;cout “Please input 某年数:”;cin year;if ( ! leap(year) )(3) ;elsem2 =28;int month 12: 31 ,m2,31,30,31,30,31,31,30,31,30,31 ;(4) for ( i=0; i12; i+ + )cout end1 setw(4*n) “;for(j=1 ;j =month i ;j+ +)cout setw(4) j;n+ +;if(n =7)(5) cout end1;

    23、(分数:15.00)填空项 1:_ (正确答案:(n%100 = =0) (n%400 = =0)differ= (year - 1994) * (365%6) + (year - 1993)/4 - (year-2001)/100 + (year-2001 )/400;m2 =29n = week( year );n=0;)解析:六、试题六(总题数:1,分数:15.00)9.说明 打印输出 10行杨晖三角形。形式如下:杨晖三角形:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 11 8 28 56

    24、 70 56 28 8 11 9 36 84 126 126 84 36 9 1class yanghuipublic static void main (String args )int i, j;(1) int yanghui ;System. out. println( “杨晖三角形:” );yanghui = new int yhleve1 ;for(i =0;i yanghui, length; i + + )yanghuii = new int i + 1;(2) for( (3) )yanghui i 0 = 1;for(j = 1 ;j yanghuii, length - 1

    25、 ;j + + )yanghuii j = yanghuii - 1 j - 1 + yanghuii - 1 j;yanghuii yanghuii. length - 1 = 1;for ( i=0; i yanghui. length; i + + )for(j =0;j yanghuii. length; j + + )(4) System. out. println( );(分数:15.00)填空项 1:_ (正确答案:int yhleve1 = 10;yanghui 0 0 = 1;i=1; i yanghui, length; i + +System. out. print (

    26、yanghui i j +“ “);)解析:七、试题七(总题数:1,分数:15.00)10.说明 编写一工资调整程序。若基本工资大于等于 800元,工资增加 20%,若小于 800元大于 600 元,则工资增加 15%,若小于 600元则工资增加 10%。要求在文本框 Text1 中增加某职工的基本工资,单击“计算”按钮,在标签框 Label1中输出增加后的工资。Private Sub Command1_ Click( )Dim x As Integer, y As Single(1) Select Case xCase Is = 800y=x*1.2Case Is = 600y=x, 1.5(2) y=x*1.1(3) Label1. Caption = y(4) Private Sub Command2_ Click()Unload MeEnd Sub(分数:15.00)填空项 1:_ (正确答案:x=Val (Text1, Text)Case ElseEnd SelectEnd Sub)解析:


    注意事项

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




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

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

    收起
    展开