[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷5及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷5及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷5及答案与解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 5及答案与解析 一、必答题(共 4道大题,每道大题 15分) 1 【说明】 某考务处理系统主要功能是考生管理和成绩管理: 1对考生送来的报名表进行检查。 2对合格的报名表编好准考证号码后将准考证送给考生,将汇总后的考生名单送给阅卷站。 3对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者。 4填写考生通知单 (内容包含该考生的准考证号、姓名、各课程成绩及最终合格 /不合格标志 ),送给考生。 5根据考生信息及考试成绩,按地区、年 龄、文化程度和职业进行成绩分类统计及试题难度分析,产生统计分析表。 考务处理系统的顶层图
2、如图 1-1所示,第 0层图如图 12所示,加工2子图如图 1-3所示。1 指出哪张图的哪些文件可以不必画出。 2 数据流图 13中缺少 3条数据流,请直接在图中添加。 3 根据系统功能和数据流图填充下列数据字典条目中的 (1)和 (2): 试题得分表二准考证号 +课程名 +成绩 考生名册 =报名号 +准考证号 +姓名 +通信地址 +出生年份 +文化程度 +职业 考生通知单 =(1) 报名表 =(2) 4 【 说明】 设有关于银行借贷管理系统的 E-R图。图中矩形表示实体,圆表示属性,双圆表示关键字属性,菱形表示实体间的联系。为了答题的方便,图中的实体和属性同时给出了中英文说明,回答问题时只需
3、写出英文名即可。4 根据 E-R图中给出的词汇,按照 “有关模式名 (属性 1,属性 2, )” 的格式,将此 E-R图转换为关系模式,并指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。要求其中的关系模式至少属于第三范式。 5 如下的 SQL语言用于查询 “在该银行中一笔贷款贷给多个 (至少 2个 )客户的所有贷款号和 发放贷款的支行名称 ”的不完整语句,请在空缺处填 A正确的内容。 SELECT Borrow. Lno, Bname FROM Borrow, Loan WHERE(1) GROUP BY Borrow. Lno HAVING(2) 6 假设这个银行有若干个
4、节点,每个节点运行一个数据库系统。假设这些节点之间惟一的交互式用电子方式相互传送款项,这样的系统是分布式数据库系统吗 ?为什么 ? 7 阅读下列说明、流程图和算法,将应填入 (n)处的字句写在答题纸的对应栏内。 【说明】 下面 的流程图 15用 N-S盒图形式描述了数组 A中的元素被划分的过程。其划分方法是:以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动。当划分结束时,基准数定位于Ai,并且数组中下标小于 i的元素的值均小于基准数,下标大于 i的元素的值均大于基准数。设数组 A的下界为 low,上界为 high,数组中的元素互不相同。例如,对
5、数组 (4, 2, 8, 3, 6),以 4为基准数的划分过程如下:【算法说明】 将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序 。设函数血 p(int A, int low, int high)实现了上述流程图的划分过程并返回基准数在数组 A中的下标。递归函数 void sort(int A, iht L; int H)的功能是实现数组 A中元素的递增排序。 【算法】 void sort(int A, int1, int H) if (L H) k=p(A, L, R): /p()返回基准数在数组 A中的下标 sort(4); /小于基准数的元素排序 sort
6、(5); /大于基准数的元素排序 8 【说明】 一个 图书馆信息管理系统的分析与建模。下面是某图书馆的有关介绍。 图书馆雇有若干管理员,各自具有编码、姓名等属性。管理员可上岗,也可下岗。 图书馆中备有若干图书,每本图书有书号、书名、出版社、价格等属性。图书馆不定期地购买并注册新图书供读者借阅,也可将报废的旧书注销以停止借阅。 图书馆可为众多读者提供服务。每个读者在借阅之前需注册姓名、性别、地址、 Email等内容。读者可在终端上查询。每个读者最多可同时借阅 5本书。每本图书借期为30天;若有一本书超期,则不可再借其他图书。一本书超期一天罚款 0.1元。若一本书超期 3个月不归还,则发布通告。若
7、读者的图书丢失,在罚款处理之前不能借书,每本报失的图书罚款该书价的 2倍。注册新读者不受限制;在注销读者之前,该读者必须归还所有借阅的图书,或者报失并接受罚款。8 在需求分析阶段,采用 UML的用例图描述系统功能需求,如图 1-6所示。指出图 1-6中 (1)(2)、 (3)、 (4)分别是哪个用例 ? 9 图 1-7采用协作图描述借书和还书两个动态过程的交互关系。在 UML中,重复度 (multiplicity)定义了某个实体的一个实例可以与另一个类的多个实例相关联。指出图 1-7中 (5)、 (6)处的重复度分别是多少 ? 10 指出 UML中全局、局部、参数、自我、投票、广播、创建、注销
8、和临时 9个约束对于链接角色、消息和对象的作用。 11 【程序说明】 定义一个多边形结构: struct polygon实现以下内容: (1)建立该结构的链表:create函数是创建链表,每输入一个结点的数据,就把该结点加入到链表当中,它返回创建的链表的头指针。 (2)显示链表的各个结点数据:结点数据包括:多边形顶点数、各顶点的纵横坐标、当多边形顶点数为 0时,链表创建结束。 (3)编写一个函数 disp,删除链 表中的所有结点。需要注意的是:要先释放结点数据内存,再删除结点,如果在释放结点数据内存单元之前删除结点,则无法找到结点数据内存单元的地址,也就无法释放数据的内存单元。 【程序】 #i
9、nclude “iostxeam. h“ #include “iomanip. h“ stmct polygon int n; int *x; int *y; polygon *next; ; void Push(polygon* newNode = new polygon; newNode- next=(1); newNode- x = new intn; newNode- y = new intn; newNode- n=(2); for(int i=0; i =(3); i+) cout “请输入多边形各顶点 x、 y坐标 , 坐标值之间用空格分隔 : “; cin newNode- x
10、i newNode- yi; (4)= head; /在 head前不需要额外的 * head = newNode; polygon *create() polygon* head = NULL; polygon* tail; int n; cout “请输入多边形顶点的个数 (顶点个数为 0时结束 ): “; cin n; if(n=O) return (5); Push(head,(6); tail = head; cout “请输入多边形顶点的个数 (顶点个数为 0时结束 ): “; cin n; while(n!=0) Push(tail- next,(7); / 在 tail- ne
11、xt增加结点 tail = tail- next; /advance tail to point to last node cout “请输入多边形顶点的个数 (顶点个数为 0时结束 ): “; cin n; remm head; void disp(polygon *head) inti, No=l; eout setw( 10) “x“ setw(6) “y“ endl; while(head !=NULL) cout “第 “ No “结点 : “ endl; for(i=0;i =head- n-1;i+) cout setw(10) head- x i setw(6) head- y
12、i endl; (8); he ad=(9); /Match while statement void del(polygon *head) polygon *p; while(head!=NIILL p=(10); head=head- next; delete p- x; delete p- y; delete p; /Match while statement void main() polygon *head; head=create(); disp(head); del(head); 二、选答题(共 3道大题,每道大题 15分) 从下列 3道试题中任选 1道解答,如果解答的试题数超过
13、 1道,则仅题号小的 1道题解答有效。 12 从下列的 3道式题 (试题五至试题七 )中任选 1道解答。 如果解答的试题数超过 1道,则题号小的 1道解答有效。 阅读以下说明和 C+码,将应填入 (n)处的字名写在的对应栏内。 说明 利用 c+的各种控制语句编写一个万年历程序,要求:显示任何年份的日历,日历以月份顺序排列,每月以星期顺序排列,类似于一般挂历上的格式。本程序包含如下两个函数: Leap ()用于判定指定的年份是闰年, Week ()用于计算 year年份的 1月 1日是星期几,其判定规则为: (1) 如果 year 年份为 1994年,则为星期六。 (2) 如果 year 年份大
14、于 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) 如果 year 年份小于 1994年,则星期值 weekno 按下列公式计算: differ=(1994-year)*(365%7)+(1996-year)/4-(2001-year)/100+(2000-year)/400 weekno=6-dder%7 # include “iostream
15、. h“ # include “iomanip. h“ int leap(int n) if( (1) ) 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: (2) date = 6 + differ% 7; weekno = ( date 6) ? date - 7 date;
16、return weekno; break; case - 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) ) (3); else m2 =28; int month 12: 31 ,m2,31,30
17、,31,30,31,31,30,31,30,31 ; (4) for ( i=0; i 12; i+ + ) cout end1 setw(4*n) “; for(j=1 ;j =month i ;j+ +) cout setw(4) j; n+ +; if(n =7) (5) cout end1; 13 阅读以下说明和 Java 码,将应填入 (n)处的字名写在的对应栏内。 说明 打印输出 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
18、 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; (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 y
19、anghuii, 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) System. out. println( ); 14 阅读以下说明和 Visual Basic 码,将应填入 (n)处的字名写在的对应栏内 说明 编写一工资调整程序。若基本工资大于等于 800元,工资增加 20%
20、,若小于 800元大于 600元,则工资增加 15%,若小于 600元则工资增加 10%。要求在文本框 Text1 中增加某职工的基本工资,单击 “计算 ”按钮,在标签框 Label1中输出增加后的工资。 Private Sub Command1_ Click( ) Dim x As Integer, y As Single (1) Select Case x Case Is = 800 y=x*1.2 Case Is = 600 y=x, 1.5 (2) y=x*1.1 (3) Label1. Caption = y (4) Private Sub Command2_ Click() Unl
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 下午 应用技术 试题 模拟 答案 解析 DOC
