[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷10及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷10及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷10及答案与解析.doc(10页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 10及答案与解析 一、必答题(共 4道大题,每道大题 15分) 1 阅读下列说明和有关的图表,回答问题 1至问题 3。 说明 A公司决定为该市车站开发自动售票系统,系统的要求如下: 1乘客能按以下三步操作购票:选定目的地;投入钱币;获得一张票。 2当且仅当乘客选定目的地后,系统才接收投钱,每次投入的钱只购买一张票。 3只要投入的钱不少于所需的票价,且票库中有所要求的票,则应尽快出票。 4如需找钱,则在出票的同时应退还多余的钱。 5如果乘客投 入的钱不够票价,或者票库中没有所要求的票时,系统将全额退钱,并允许乘客另选目的地,继续购票。
2、6出票前乘客可以按 “取消 ”按钮取消购票,系统将全额退出该乘客投入的钱,并允许乘客另选目的地,继续购票。 7出票结束 (包括退还多余的钱 )后,系统应保存销售记录,并等待乘客购票。 该系统还要求快速响应和操作同步,所以它应是一个实时系统。为此, A公司在该系统的数据流程图中附加了过程控制部分,形成转换图。在该图中,控制流 (事件流 )用虚线表示,数据流用实线表示。图中的数据流并没有画全,需要考生填补。转换图如图1所示。对 售票全过程进行的控制可以用系统内部各个状态之间的迁移来描述,从而形成状态迁移图。在状态迁移图中,用双线框表示状态,用有向边表示状态的迁移。引起状态迁移的事件以及由该事件引起
3、的动作,在有向边旁用 “”形式注明。状态迁移图如图 2所示。 该公司还制作了一个过程启动表,用以表明状态迁移图中的 4个动作与转换图中的 4个过程之间的 “启动 ”关系,即说明哪个动作将启动哪个过程。用1表示启动,用。表示不启动。启动的过程将根据获得的输人数据产生输出数据,未启动的过程则不会产生输出数据。该表中没有列出的过程,其执行与否与事件无关。过 程启动表见表 1:1 转换图中缺少哪三条数据流 ?请指明每条数据流的名称、起点和终点。 2 在状态迁移图中, a, b, c分别表示什么事件 ?请用转换图中给出的事件名解答。 3 在过程启动表中, d, e处应填什么 ?请分别用 4位二进制码表示
4、。 4 阅读下列说明、流程图和算法,将应填 (n)处的字句写在对应栏内。 说明 下面的流程图 (如图 3所示 )用 N - S盒图形式描述了数组 A中的元素被划分的过程。其划分方法是:以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标 端移动。当划分结束时,基准数定位于 Ai,并且数组中下标小于 i的元素的值均小于基准数,下标大于 i的元素的值均大于基准数。设数组 A的下界为 low,上界为 high,数组中的元素互不相同。例如,对数组 (4, 2, 8, 3, 6),以 4为基准数的划分过程如下: 流程图 算法说明 将上述划分的思想进一步用于被划分出
5、的数组的两部分,就可以对整个数组实现递增排序。设函数 int p(int A, int low, int hieh)实现了上述流程图的划分过程并返回基准数在数组 A中的下标。递归函数 void sort(int A, int L, int H)的功能是实现数组 A中元素的递增排序。 算法 void sort(int A, int L, int H) if (L H) k=p(A, L, R); /p()返回基准数在数组 A中的下标 sort(4); /小于基准敷的元素排序 sort(5); /大于基准数的元素排序 5 阅读下列说明,回答问题 1至问题 4。 说明 甲公司的经营销售业务目前是手工
6、处理的,随着业务量的增长,准备采用关系数据库对销售信息进行管理。经销业务的手工处理主要涉 及三种表:订单表、客户表和产品表 (见表 2,表 3和表 4)。为了用计算机管理销售信息,甲公司提出应达到以下要求:产品的单价发生变化时,应及时修改产品表中的单价数据。客户购货计价采用订货时的单价 ?订货后,即使单价发生变化,计算用的单价也不变。 在设计数据库时,经销部的王先生建立了如图 4所示的数据模型。其中,方框表示实体,单向箭头表示 1对多的联系,双向箭头表示多对多的联系。 由于上述模型对建立关系数据库是不合适的,因此王先生又修改了数据模型,并设计了如下几个关系 (带下划线的数据项是关键项,最后一个
7、关系中没有指 出关键项 ): Customer (CustomerNo, CustomerName, Address, Phone) Product (productNo, ProductName, UnitPdce) Order (Orderno, CustomerNo, Date) OrderDetail (OrderNo, ProductNo, Quantity) 5 请按 说明 中的要求画出修改后的数据模型。 6 (1)说明 中的几个关系仍无法实现甲公司的要求,为什么 ? (2)需要在哪个关系中增加什么数据 项才能实现这个要求 ? 7 写出 OrderDetail中的关键项。 8 以下
8、 SQL语句用于查询没有订购产品代码为 “1K10”的产品的所有客户名。请填补其中的空缺。 SELECT CustomerName FROM Customer(1) WHERE(2) (SELECT*FROM OrderDetail B, Order C WHERE B. ProductNo=C.ProductNo AND B. ProductNo=1K10 AND C. CustomerNo=A. CustomerNo) 9 阅读下列算法说明和算法,将应填入 (n)的字句写在对应的栏内。 说明 下列最短路径算法的具体流程如下:首先构造一个只含 n个顶点的森林,然后依权值从小到大从连通网中选择
9、不使森林中产生回路的边加入到森林中去,直至该森林变成一棵树为止,这棵树便是连通网的最小生成树。该算法的基本思想是:为使生成树上总的权值之和达到最小,则应使每一条边上的权值尽可能地小,自然应从权值最小的边选起,直至选出 n-1条互不构成回路的权值最小边为止。 算法 /*对图定义一种新的表示方法,以一维数组存 放图中所有边,并在构建图的存储结构时将它构造为一个 “有序表 ”。以顺序表 MSTree返回生成树上各条边。 */ typedef struct VertexType vex1;VertexType vex2; VRType weight; EdgeType; typedef ElemTyp
10、e EdgeType; typedef struct /有向网的定义 VertexType vexs MAX_VERTEX_N U M ; /顶点信息 EdgeType edge MAX_EDGE_NUM; /边的信息 int vexnum, arcnum; /图中顶点的数目和边的数目 I ELGraph; void MiniSpanTree_Kruskal( ELGraph G,SqList InitSet( F, G. vexnum ); /将森林 F初始化为 N棵树的集合 InitList (MSTree, G. vexnum); /初始化生成树为空树 i=0;k=1; while(k
11、(1) e = G. edgei; /取第 i条权值最小的边 /*函数fix_mfset返回边的顶点所在树的树的根代号,如果边的两个顶点所在树的树根相同,则说明它们已落在同一棵树上。 */ ri = fix_mfset(F, LocateVex(e. vex1) ); r2=(2); /返回两个顶点所在树的树根 if(r1 (3) r2) /选定生成树上第 k条边 if(Listlnsert(MSTree,k,e)(4); /插入生成树 mix_mfset( E, r1,r2); /将两棵树归并为一棵树 (5); /继续考察下一条权值最小边 DestroySet (F); 软件水平考试(中级)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 下午 应用技术 试题 模拟 10 答案 解析 DOC
