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

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

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

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

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

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

    2、ER 图转换成关系模型,并说明主键和外键。(分数:7.00)_三、B试题三/B(总题数:1,分数:15.00)6.说明 编写一个函数根据用户输入的偶对(以输入。表示结束)建立其有向图的邻接表。一个图的邻接表存储结构定义如下: # include stdio. h # define MAXVEX 30 struct edgenode int adjvex; char info; struct edgenode * next; struct vexnode char data; struct edgenode * link; typedef struct vexnode adjlist MAXVE

    3、X; 实现要求的函数如下: void creatadjlist ( adjlist g) int i, j, k; street vexnode * s; for( k=1; k =n; k+ +) U(1) /U g k.link = NULL; printf ( “输一个对:” ); scanf (“%d, %d“, whileU (2) /U U (3) /U s- adjvex =j; U (4) /U g i.link =s; U (5) /U (分数:15.00)填空项 1:_四、B试题四/B(总题数:1,分数:15.00)7.说明 请完成流程图以描述在数据 A(1)至 A(10)

    4、中求最大数和次大数的程序的算法。并将此改成 PAD图。该算法的流程图如下图: (分数:15.00)_五、B试题五/B(总题数:1,分数:15.00)8.说明 利用 c+的各种控制语句编写一个万年历程序,要求:显示任何年份的日历,日历以月份顺序排列,每月以星期顺序排列,类似于一般挂历上的格式。本程序包含如下两个函数:Leap ()用于判定指定的年份是闰年,Week ()用于计算 year 年份的 1 月 1 日是星期几,其判定规则为: (1) 如果 year 年份为 1994 年,则为星期六。 (2) 如果 year 年份大于 1994 年,则星期值 weekno 按下列公式计算: differ

    5、=(year-1994)*(365%6)+(year-1993)/4-(year-2001)/100+(year-2001)/400 date=6+differ%7 weekno=(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

    6、(int n) if(U (1) /U) return 0 else return 1; int week( int year ) int a1, differ, date, weekno; if (year = = 1994) a1 =0; else if (year 1994) a1=1; else a1= -1; switch(a1) case 0: return 6; break; case 1: U (2) /U date = 6 + differ% 7; weekno = ( date 6) ? date - 7 date; return weekno; break; case -

    7、 1: differ = ( 1994 - year) * (365%7) + (1996 - year)/4 - (2001 - year)/100 + (2000 - year)/400; weekno =6-differ%7; return weekno; break; void main( ) int i,year,m2,n,j; cout “Please input 某年数:”; cin year; if ( ! leap(year) ) U (3) /U; else m2 =28; int month 12: 31 ,m2,31,30,31,30,31,31,30,31,30,31

    8、 ; U (4) /U 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) U (5) /U cout end1; (分数:15.00)填空项 1:_六、B试题六/B(总题数:1,分数:15.00)9.说明 打印输出 10 行杨晖三角形。形式如下: 杨晖三角形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56

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

    10、;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 + + ) U (4) /U System. out. println( ); (分数:15.00)填空项 1:_七、B试题七/B(总题数:1,分数:15.00)10.说明 编写一工资调整程序。若基本工资大于等于 800 元,

    11、工资增加 20%,若小于 800 元大于 600 元,则工资增加 15%,若小于 600 元则工资增加 10%。要求在文本框 Text1 中增加某职工的基本工资,单击“计算”按钮,在标签框 Label1 中输出增加后的工资。 Private Sub Command1_ Click( ) Dim x As Integer, y As Single U (1) /U Select Case x Case Is = 800 y=x*1.2 Case Is = 600 y=x, 1.5 U(2) /U y=x*1.1 U(3) /U Label1. Caption = y U (4) /U Priva

    12、te Sub Command2_ Click() Unload Me End Sub(分数:15.00)填空项 1:_中级软件设计师下午试题-2 答案解析(总分:104.00,做题时间:90 分钟)一、B试题一/B(总题数:3,分数:15.00)1. 问题 1利用存在的依赖关系构造一个图书馆的对象模型。 (分数:5.00)填空项 1:_ (正确答案:问题 1)解析: 试题一 解答要点 本题中的图书馆有一个书和读者的聚合关系。即图书馆确实是由书和读者组成。书和副本之间的关系既不是集合关系也不是继承关系。对象“书”表示书的抽象,而副本为借出的实际书籍。读者和副本之间的关系称为“租借”。从副本的观点

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

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

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

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

    17、ne MAXVEX 30 struct edgenode int adjvex; char info; struct edgenode * next; struct vexnode char 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+ +) U(1) /U g k.link = NULL; printf ( “输一个

    18、对:” ); scanf (“%d, %d“, whileU (2) /U U (3) /U s- adjvex =j; U (4) /U g i.link =s; U (5) /U (分数:15.00)填空项 1:_ (正确答案:(1) gk.data=k;)解析:(2) i! =0 (4) s- next = gi.link;(5) printf (“输入一个偶对:”);scanf (“%d, %d“, 解答要点 本题的算法思想是:先产生邻接表的 n 个头结点(其结点数值域从 1 到 n),然后接收用户输入的 (以其中之一为 0 结束标志),对于每条这样的边,申请一个邻接结点,并插入到 v

    19、i 的单链表中,如此反复,直到将图中所有边处理完毕,则建立了该有向图的邻接表。四、B试题四/B(总题数:1,分数:15.00)7.说明 请完成流程图以描述在数据 A(1)至 A(10)中求最大数和次大数的程序的算法。并将此改成 PAD图。该算法的流程图如下图: (分数:15.00)_正确答案:()解析:(1)max2 =A(1) mex1 =A(2) (2)i =10 (3)max1 =A(i)1 max2 = max1 (4)i=i+1 PAD 图描述如下:五、B试题五/B(总题数:1,分数:15.00)8.说明 利用 c+的各种控制语句编写一个万年历程序,要求:显示任何年份的日历,日历以月

    20、份顺序排列,每月以星期顺序排列,类似于一般挂历上的格式。本程序包含如下两个函数: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%7 weekno=(date6)? date-7:date (3) 如果

    21、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(U (1) /U) return 0 else return 1; int week( int year ) int a1, differ, date, weekno; if (year = = 1994) a1

    22、=0; else if (year 1994) a1=1; else a1= -1; switch(a1) case 0: return 6; break; case 1: U (2) /U 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; r

    23、eturn weekno; break; void main( ) int i,year,m2,n,j; cout “Please input 某年数:”; cin year; if ( ! leap(year) ) U (3) /U; else m2 =28; int month 12: 31 ,m2,31,30,31,30,31,31,30,31,30,31 ; U (4) /U 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) U

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

    25、5 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 class yanghui public static void main (String args ) int i, j; U (1) /U int yanghui ; System. out. println( “杨晖三角形:” ); yanghui = new int yhleve1 ; for(i =0;i yanghui, length; i + + ) yanghuii = new int i + 1; U(2) /U for(U

    26、(3) /U) 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 + + ) U (4) /U System. out. println( ); (分数:15.00)填空项 1:_ (正确答案:int yhleve1 =

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


    注意事项

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




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

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

    收起
    展开