[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷21及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷21及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷21及答案与解析.doc(17页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 21及答案与解析 一、必答题(共 4道大题,每道大题 15分) 1 阅读以下说明和数据流图,回答问题 1 3问题。 说明 研究生招生系统旨在用计算机对学校的研究生招生事务进行管理。研究生招生可分为报名阶段、考试阶段和录取阶段。招生报考前,招生处要进行考前准备工作,如统计招生导师、考试科目以及制定报考专业标准代码等。招生导师信息包括导师的姓名、性别、年龄、出生年月、所从事专业和研究方向以及所在系别。考试科目包含科目代码、科目的名称以及报考本科目的考试 人数。在报名阶段,考生向招生处提交报名数据表,研究生系统根据考生的报考数据确定考生准考
2、生号,并通知考生考试日期。在考试阶段,考试结束后,考生成绩录入研究生招生系统,考生可以从研究生招生系统中获取自己的考试成绩。在录取阶段,研究生招生系统根据考生的报考数据、考试成绩、外校调剂考生信息以及往年保留资格记录文件,确定录取数据,并形成录取文件。系统统计并记录相关招生信息,以供查询。对被录取的考生发放录取通知书,对需要保留资格的考生记录其信息,以供下年度招生使用。招生处可以从研究生招生系统中获得录取数据和招生情况的统 计信息,以供咨询。 数据流图 11-1为研究生招生系统顶层图,数据流图 11-2为研究生招生系统第 0层 DFD图,数据流图11-3为加工 3的细化图。 数据流图 11-1
3、1 数据流图 11-2中有 3条数据流 ,请根据说明中的术语给出这三条数据流名称,并指出起点和终点。 2 数据流图 11-3中还依赖于哪个文件 ?请指出文件名称,并指出与其有关的数据流的起点和终点。 3 请补齐下列数据字典条目: 导师 =_ 考试科目 =_ 4 阅读以下说明和表,回答问题 1 3问题。 说明 在学校中,存在以下关系: (a)一个系有若干学生,但一个学生只能在一个系; (b)一个学生可以选修多门课程,每门课程有若干学生选修; (c)每个学生所学的每门课程都有一个成绩。 该校在学生信息管理数据库设计了三个基本表,分别为表一、表二、表三。 (a)表一:学生信息表 STUDENT(ST
4、ID, NAME, AGE, DEPTNO), 其中, STID表示学号, NAME表示学生姓名, AGE表示年龄, DEPTNO表示系号。 (b)表二:课程表 COURSE(COID, NAME),其中, COID表示课程号, NAME表示课程名。 (c)表三:成绩表 SCORE(SCID, COID, GRADE),其中, SCID表示学号,COID表示课程号, GRADE表示成绩,成绩为空时表示这学期正在上的课程。 4 根据要求将 SQL语句补充完整。 (1)查询各系的学生数 SELECT(1), COUNT(*)(2) GROUP BY DEPTNO; (2)更改课程号为 C601的课
5、程名为 “大学物理 ” UPDATE(3)SET(4) (3)基于学生信息表,建立一个计算机系 (系编号为 D01)的学生视图。写出命令。 CREATE OR REPLACE VIEW V_STUDENT AS(5) 5 数据库设计的需求分析阶段和概念结构设计阶段的主要任务分别是什么 ?这两个阶段标志性的成果有哪些 ? 6 阅读下列函数说明和 C代码,填入 (n)处字句,并回答相应问题。 说明 背包问题就是有不同价值、不同重量的物品 n件,求从这 n件物品中选取 一部分物品的选择方案,使选中物品的总重量不超过指定的限制重量,而且选中物品的价值之和为最大。 背包问题是一个典型的 NP完全难题。对
6、该问题求解方法的研究无论是在理论上,还是在实践中都具有一定的意义。如管理中的资源分配、投资决策、装载问题等均可建模为背包问题。 常用的背包问题求解方法很多,但本题中采用了一种新的算法来求解背包问题。该算法思想为:首先要对物品进行价重比排序,然后按价重比从大到小依次装进包裹。这种方法并不能找到最佳的方案,因为有某些特殊情况存在,但只要把包中重量最大的物品取出,继续装入,直到达到 limitweight,这时的物品就是 limit weight的最大价值。这种算法不需要逐个进行试探,所以在数据非常大时,执行效率主要由排序的时间复杂度决定。该算法的流程图为图 11-4。 仔细阅读程序说明和 C程序流
7、程图及源码,回答问题 1和问题 2。 流程图 11-4 程序说明 struct Thing:物品结构 typedef struct Bag:背包结构类型 input ( ):将物品按序号依次存入数组函数 inbag ( ):物品按物价比入包函数 init ( ):初始化函数 sort ( ):对物品 按价格重量比排序函数 outbag ( ):取出包中 weiht最大的物品函数 print ( ):最佳方案输出函数 C程序 #define N 255 struct Thing double weight; double value; double dens; thingN; typedef s
8、tmct Bag Thing thing N; double weighttmp; double sumvalue; bag,best; inbag ( ) do bag.thingi=thingi (1) (2) i+; while ( (3) ) init ( ) for (inti=0; i N; i+) input (thingi.weight, thing i.value) thing i.dens=thingi.value/thing i.weight; ; main ( ) init ( ); sort ( ); inbag ( ); do best=bag; /把包中物品放入暂
9、存数组 outbag ( ); /取出包中 weight最大的物品 (4) while ( (5) print (best); /输出 temp因为是最佳方案 6 根据程序说明及流程图、部分 C源码,充分理解算法思想,填入 (n)处。 7 求解 “背包问题 ”常用的方法有哪几种 ?各有什么样的特点 ? 8 阅读下列函数说明和 C代码,填入 (n)处。 说明 以下 C语言程序实现了生成从里到外是连续的自然数排列的回旋矩阵,矩阵形式如下: 7 6 5 16 8 1 4 15 9 2 3 14 10 11 12 13 程序的变量说明如下: x1:矩阵上边界; x2:矩阵下边界; y1:矩阵左边界;
10、y2:矩阵右边界; s:数组元素升降标记, s等于 1为升, s等于 -1为降; a:存放矩阵元素的数组。 仔细阅读 C语言程序源码,将 (n)处的语句补充完整。 (注:每处仅一个语句 ) C程序 #include stdio.h void main ( ) const int N=20; int i=0,j=0,aNN,n; int m,x1,x2,y1,y2,s; while (1) Printf (“ninput matrix row N( N =2): “); scanf (“%d“, printf (“n“); if (n =2) break; m=n*n; x1=0; y1=0;
11、x2=n; y2=n; if(n%2=0) j=n-1; y2=n-1; s=1; else i=n-1; y1=1; s=-1; while (1) if (s=1) for (i; i x2; i+) aij=m-; i-; j-; (1) for (j;j =y1;j-) aij=m-; j+; i-; y1+; (2) else for (i;i =x1;i-) aij=m-; i+; j+; (3) for (j;j y2;j+) (4) (5) i+; (6) S=i; if (m 1) break; for (i=O;i n; i+) for (j=O;j n;j+) print
12、f (“%6d“,aij); printf (“n“); printf (“n“); 二、选答题(共 3道大题,每道大题 15分) 从下列 3道试题中任选 1道解答,如果解答的试题数超过 1道,则仅题号小的 1道题解答有效。 9 阅读以下说明和 C+码,填入 (n)处。 说明 下面代码实现类 A、 B、 C、 D的继承定义和应用。仔细阅读 代码 5-1,在 (n)处写出正确的运行结果。 代码 5-1 #include iostream.h class A public: int a; A (int v1): a(v1) /构造函数 void disp ( ) cout “a in class
13、A=“ a endl; ; class B: virtual public A public: int b; B (int v1,int v2): A(v1),b v2) /构造函数 void disp ( ) cout “a in class B=“ a endl cout “b in class B=“ b endl; ; class C: virtual public A public: int c; C (int v1,int v2): A(v1) ,c(v2) /构造函数 void disp ( ) cout “a in class C=“ a endl; cout “c in cl
14、ass C=“ c endl; ; class D: public B, public C public: int d; D (int v1,int v2,int v3,int v4 ): A(v1) ,B(v1,v2) ,C(v1,v3),d(v4) /构造函数 void disp ( ) cout “a=“ a endl; cout “b=“ b endl; cout “c=“ c endl; cout “d=“ d endl; ; void main( ) D demo (10,20,30,40); demo.disp ( ); 运行结果 a=(1) b=(2) c=(3) d=(4)
15、10 阅读以下说明和 JAVA 2代码,填入 (n)处。 说明 以下 JAVA程序设计了类 CSet,使用同一个名称 (set)的 method来传入数据。仔细阅读 代码 6-1)、 代码 6-2和 代码 6-3和相关注释,将程序补充完整。 代码 6-1 import java.io.*; class CSet private int width; private int height; (1) public void set(String color) col=color; /(a)可输入长方形的颜色 public void set (iht w, int h) width=w; /(b)可
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 下午 应用技术 试题 模拟 21 答案 解析 DOC
