ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:56KB ,
资源ID:1323146      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1323146.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

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

【计算机类职业资格】中级软件设计师下午试题-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

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