[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷29及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷29及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷29及答案与解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 29及答案与解析 一、必答题(共 4道大题,每道大题 15分) 1 阅读以下说明和流程图,回答问题 1和问题 2,将答案写在答卷的对应栏内。【说明】 本流程图实现从比赛成绩文件生成赛车成绩一览表。 某国际高等级赛车比赛使用如图所示的成绩处理流程,比赛成绩记录在成绩文件 F0中,其记录格式如下:由该成绩文件生成如下所示的车手成绩一览表。生成的车手成绩一览表按总名次 (系统会根据总成绩和分段成绩按规定方式计算得出总名次,不会有相同名次存在 )降序排列。表中第 n赛段的名次是该车手相应赛段在全部车手中的名次,成绩是根据规定方式计算而得的成绩
2、,总名次是总成绩在所有车手中排名的名次。流程图中的顺序文件 F0是车手成绩文件, F0文件经处理 l处理后产生顺序文件 F,然后经处理 2至处理 4对文件 F进行处理和更新,在处理 5中,仅仅对文件 F的记录进行车手成绩一览表的编排输出,不进行排序和增加名次等处理。 1 流程图中的文件 F的记录格式设置为如下形式: 其中的 、 应定义为何种数据 ? 2 简述处理 2、处理 3和处理 4做何种处理,若有排序处理则需指明排序的键及序(升序或降序 )。 3 阅读以下说明,回答问题 1至问题 3,将答案写在答卷的对应栏内。 【说明】 下面是某 ERP系统中零件供应模块的 3个关系模式。 供应商: S(
3、SNO, SNAME, CITY, STATUS) 零件: P(PNO, PNAME, WEIGHT, COLOR, CITY) 供应单: SP(SNO, PNO, PTY, SP Date) 属性说明: SNO供应商编号, SNAME供应商名称, CITY地址, STATUS供应商状态 PNO零件编号, PNAME零件名称, WEIGHT零件重量 , COLOR零件颜色, CITY地址, PTY数量, SP Date订单日期 问题: 用 SQL语句完成以下操作。 3 求供应红色零件北京供应商的编号、名称和状态。 4 将所有北京供应商的状态为 2的修改为 1。 5 求零件颜色不是白色和黑色的供
4、应商状态为 1的订单的数量。 6 阅读以下说明和图,回答问题 1和问题 2,将答案写在答卷的对应栏内。 【说明】 银行客户需要从 ATM取 100元,他向 ATM的读卡机插卡,读卡机读取卡号,然后 ATM屏幕初始化, ATM提示输入 PIN(密码 ),客 户输入 PIN(123456), ATM打开他的账户,密码有效,因此 ATM提示选择事务,客户选择取钱, ATM提示输入金额,客户输入 100元, ATM验证账户上有足够的钱,就从账上减去 100元, ATM吐出 100元,并退出客户的卡。 6 根据上面的描述,完成下述的时序图。7 比较时序图和协作图,说明区别和联系。 8 阅读下列 C程序和
5、程序说明,将应填入 (n)处的字句写在答题纸的对应栏内。 【说明】用克鲁斯卡尔算法求解给定图的最小生成树。 #include stdio. h #include stdlib. h #define MAXN 30 typedef struct int v1,v2; /*一条边依附的两个顶点 */ int weight; /*边上的权值 */ EDGE; typedef struct int Vnum; /*图中的顶点数目 */ EDGE eMAXN*(MAXN-1)/2; /*图中的边 */ Graph; typedef struct node /*用链表存储同一个连通分量的顶点 */ int
6、 v; struct node *next; Alist; void heapadjust(EDGE data, int s, int m) /*将元素序列 datasm调整为小顶堆 , 堆顶元素 (最小元素 )为 datas*/ int j; EDGE t; t=datas; /*备份元素 datas, 为其找到适当位置后再插入 */ for(j=2*s+1; j =m; j=j*2+1)/*沿值较小的子结点向下筛选 */ if(j m if(!(t. weight dataj. weight) break; datas=dataj;s=j; /*用 s记录待插入元素的位置 (下标 )*/
7、/*for*/ datas=t; /*将备份元素插入由 s所指出的插入位置 */ /*heapadjust*/ int creat_graph(Graph *p) /*输入图中的顶点及边 , 返回图中边的数目 */ int k=0; /*记录图中边的数目 */ int n; int v1,v2; int w; printf(“vertex number of the graph:“); scanf(“%d“, /*输入图中的顶点数目 */ if(n 1) return 0; p- Vnum=n; do printf(“edge(vertex1,vertex2,weight):“); scanf
8、(“%d %d %d“, if(v1 =0 p- ek. v2=v2; p- ek. weight=w; k+; /*if*/ while(!( (2) ); return k; /*返回图中边的数目 */ /*creat_graph*/ int kruskal(Graph G, int enumber, int tree3) /*用 kruskal算法求无向连通图 G的最小生成树 , 图中边所得数目为 enumber, */ /*数组 tree3中存放生成树中边的顶点和边上的权值 , 函数返回生成树的代价*/ int i, k, m, c=0; int v1, v2; Alist *p, *
9、q, *aMAXN; for(i=0; i G Vnum; +i) /*将每个连通分量中的顶点存放在一个单链表中*/ ai=(Alist*)malloc(sizeof(Alist); if(!ai) printf(“n mernory allocation error!“); exit(0); /*if*/ ai- v=i; ai- next=NULL; /*for*/ for(i=enumber-1; i =0; -i)/*按照边上的权值建立小顶堆 */ heapadjust( (3) ); k=G. Vnum; /*k用于计算图中的连通分量数目 */ m=enumber-1; i=0; d
10、o v1=G. e0. v1; v2=G. e0. v2; p=av1; while(p p=p- next; if(!p) /*当前边的顶点不在一个连 通分量中 */ p=q; p- next=aG. e0. v2; p=aG. e0. v1); /*加入边 (v1,v2), 将两个连通分量合并为一个 */ while(p)ap- v=(4); p=p- next; k-; /*连通分量数目减少一个 */ treei0=v1; /*记 录加入最小生成树的边 */ treei1=v2; treei2=G. e0. weight; c+=G. e0. weight; +i; /*if*/ G.
11、e0=G. em; m-; heapadjust (5); while(k 1); /*当所有顶点不在同一个连通时 , 继续 */ return c; /*返回最小生成树的代价 */ /*kruskal*/ void main(void) int i, enumber; int treeMAXN3; int cost=0; Graph G; enumber=creat_graph( cost=-kruskal(G,enumber,tree); printf(“Minimum-Cost spanning tree(kruskal): n“); printf(“edget weighttn“);
12、for(i=0; i G. Vnum-1; +i) printf(“v %d v %d t %dn“, treei0, treei1, treei2); printf(“Cost: %dn“, cost); 二、选答题(共 3道大题,每道大题 15分) 从下列 3道试题中任选 1道解答,如果解答的试题数超过 1道,则仅题号小的 1道题解答有效。 9 阅读下列 C+程序和程序说明,将应填入 (n)处的字句写在对应栏内。 【说明】 程序 6说明 单源最短路径的分支限界算法。 const int MAXNUM=29999; #include iostream #include vector #inc
13、lude algorithm #include functional using namespace std; template class VertexType,class EdgeType class MinNode /程序中使用的最小化堆的结点说明 friend class Graph VertexType,EdgeType public: MinNode (int nl, EdgeType length1) VexNum=nl; length=length1; bool operator (const MinNode VertexType,EdgeType /记录源点序号,序号数组 p
14、及 distance下标相一致。源点为初始扩展顶点 EdgeType length; /记录源点到本顶点的当前最短路径的长度,源点到自身的长度为 0 template class VertexType,classEdgeType void Graph VertexType,EdgeType : shortestpath(VertexType start) int j,k,source;/source 记录源点的序号。 EdgeType*distance=(2); int*p=new intMaxNumVertex; vector MinNode VertexType,EdgeType H; f
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 下午 应用技术 试题 模拟 29 答案 解析 DOC
