【计算机类职业资格】中级软件设计师下午试题-42及答案解析.doc
《【计算机类职业资格】中级软件设计师下午试题-42及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】中级软件设计师下午试题-42及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、中级软件设计师下午试题-42 及答案解析(总分:90.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)【说明】某汽车数字仪表板将完成下述功能:(1)通过模/数转换,实现传感器和微处理器的接口。(2)在发光二极管面板上显示数据。(3)指示速度(mph)、行驶里程、油耗(mpg)等。(4)指示加速或减速。以下是经分析得到的数据流图,有些地方有待填充,假定顶层数据流图是正确的。图 9-14 是顶层数据流图,图 9-15 是第 0 层数据流图,图 9-16 是第 1 层数据流图,其中 A 是加工 1 的细化图,B 是加工 2 的细化图。图中,sps 表示转速 sps 的瞬时变化值
2、,若sps0 则汽车加速,sps0 则减速,sps=0 则匀速。假定题中提供的顶层图是正确的,请回答下列问题。(分数:15.00)(1).【问题 1】第 0 层数据流图(如图 9-15 所示)中有一条缺失的数据流,请指出该数据流的起点和终点。加工 1 的细化图(如图 9-16 中的 A 所示)中有一条缺失的数据流,请指出该数据流的起点和终点。(分数:5.00)_(2).【问题 2】加工 2 的细化图(如图 9-16 中的 B 所示)中有一条错误的数据流,请指出该数据流的起点或终点(若可以,指出两者)。(分数:5.00)_(3).【问题 3】小说明是用来描述加工的。小说明的描述方法有哪些?请分别
3、用这些描述方法描述加工 1.2。(分数:5.00)_二、试题二(总题数:1,分数:15.00)【说明】图书管理系统详细记录图书库存情况、读者信息及读者借阅记录(包括借书日期和还书日期)。新书入库时要为该书编制图书卡片,包括分类目录号、图书流水号(要保证每本书都有唯一的流水号,即使同类图书也是如此)、书名、作者、内容摘要、价格和购书日期。同一个书名由于版次、作者等不同有可能存在多“种”图书,其间用“分类目录号”区分。系统为每一位合法读者编制一个唯一的借书证号,读者需要提供姓名、单位。一个读者最多可以同时借阅 5 本图书。借阅图书时,新添借阅记录,并将对应的“归还标记”字段置为“false”,表示
4、“尚未归还”;归还图书时,将相应的“归还标记”字段置为“true”,表示“已经归还”。一本书可能供多位读者借阅,同一本书读者可以重复借阅。如图 9-17 所示为该系统的 E-R 图。(分数:15.00)(1).【问题 1】实体间的联系有“一对一”、“一对多”和“多对多”,指出“借阅”联系属于哪一种?“借阅”关系模式的外键是什么?有主键吗?为什么?(分数:5.00)_(2).【问题 2】由于同一个分类目录号(同一种图书)有多个副本,若用表 Book(图书流水号,分类目录号,书名,作者,内容摘要,价格,购书日期)存储图书信息则有很多的冗余信息,该如何分解使之满足 BCNF,并指出分解后的关系模式的
5、主键。(分数:5.00)_(3).【问题 3】若用表 Reader 存储读者信息,Book 表存储图书信息,Borrow 表存储借阅情况。以下 SQL 语句是“查询证号为 12345 的读者当前所借阅的图书书名(即尚未归还的图书)”,请补充完整。SELECT 书名 FROM Book WHERE 流水号 (1) (SELECT 流水号 FROM (2) WHERE 证号=“12345“ AND (3) )以下 SQL 语句是“查询书名包含软件设计师的图书情况”,请补充完整。SELECT * FROM Book WHERE 书名 (4) “%软件设计师%/(分数:5.00)_三、试题三(总题数:
6、1,分数:15.00)【说明】C 市刚开通了地铁线,为方便乘客,计划开发自动售票系统。该公司在每一个地铁站放置了多台自动售票机,每一台售票机有一唯一编号,售票记录统一汇总主机。自动售票机只发售从该站起始的各种地铁票,因此乘客只需输入目的站,起始站默认为该站,售票机给出从该站到达目的站的单程票。打印地铁票时为其编一个唯一的流水号,并同时打印自动售票机的编号及票价。售票机的状态变化如下:“空闲”时,显示地铁线路图,等待乘客输入目的站;当乘客输入目的站后,转入“目的站确认/票数输入”状态,同时给出票价,此时若目的站有误,可返回到空闲状态重新输入,否则,输入票数;乘客输入票数后,转入“票数确认/付款”
7、状态,同样此时若票数有误,可返回到上一状态重新输入,否则,投入钱币付款;当付款金额足够时,“出票/找零”(有必要时进行找零);然后转入“空闲”等待输入目的站状态。该系统采用面向对象方法开发,系统中的类及类之间的关系用 UML 类图表示,如图 9-18 所示是该系统类图的一部分,图 9-19 描述了自动售票机的状态转换图。(分数:15.00)(1).【问题 1】根据题意,给出“自动售票机”类的主要属性。(分数:5.00)_(2).【问题 2】根据题意,给出“地铁票”类的主要属性。(分数:5.00)_(3).【问题 3】根据题中所述术语,指出图 9-19 中状态 1 到状态 4 分别是什么?(分数
8、:5.00)_四、试题四(总题数:1,分数:15.00)1.【说明】所谓货郎担问题,是指给定一个无向图,并已知各边的权,在这样的图中,要找一个闭合回路,使回路经过图中的每一个点,而且回路各边的权之和最小。应用贪婪法求解该问题。程序先计算由各点构成的所有边的长度(作为边的权值),按长度大小对各边进行排序后,按贪婪准则从排序后的各边中选择边组成回路的边,贪婪准则使得边的选择按各边长度从小到大选择。函数中使用的预定义符号如下:#define M 100typedef struct/*x 为两端点 p1、p2 之间的距离,p1、p2 所组成边的长度*/float x;int p1, p2;tdr;ty
9、pedef struct/*p1、p2 为和端点相联系的两个端点,n 为端点的度*/int n, P1, p2;tr;typedef struct/*给出两点坐标*/float x,y;tpd;typedef int tlM;int n=10;【函数】float distance(tpd a,tpd b);/*计算端点 a、b 之间的距离*/void sortArr(tdr aM, int m);/*将已经计算好的距离关系表按距离大小从小到大排序形成排序表,m 为边的条数*/int isCircuit(trM, int i, int j);/*判断边(i, j)选入端点关系表 rM后,是否形成
10、回路,若形成回路返回 0*/void selected(tr rM, int i, int j);/*边(i,j)选入端点关系表 r*/void course(tr rM, tl 1M);/*从端点关系表 r 中得出回路轨迹表*/void exchange(tdr aM, int m, int b);/*调整表排序表,b 表示是否可调,即是否有边长度相同的边存在*/void travling(tpd pdM, int n, float dist, t1 locusM)/*dist 记录总路程*/tdr drM;/*距离关系表*/tr rM;/*端点关系表*/int i, j, k, h, m;
11、/*h 表示选入端点关系表中的边数*/int b;/*标识是否有长度相等的边*/k=0;/*计算距离关系表中各边的长度*/for(i=1;in;i+)for(j=i+1;j=n;j+)k+;drk.x= (1) ;drk.p1=i;drk.p2=j;m=k;sortArr(dr,m);/*按距离大小从小到大排序形成排序表*/dob=1;dist=0;k=h=0;dok+;i=drk.p1;j=drk.p2;if(ri.n=1)h+;dist+=drk.x;else if( (4) )/*最后一边选入 r 成回路,则该边必须加入且得到解*/selected(r,i,j);h+;dist+=drk
12、.x;while(k!=n)if(h=n)/*最后一边选入构成回路,完成输出结果*/course(r,locus);else/*找不到解,调整 dr,交换表中边长相同的边在表中的顺序,并将 b 置 0*/(5) ;while(!b);(分数:15.00)_五、试题五(总题数:1,分数:15.00)2.【说明】以下程序实现数据的排序,将 n 个整数分别按照升序和降序进行排序,类 SortInt_1 实现升序排序,类SortInt_2 实现降序排序。【Java 代码】class SortInt_1int i,i,k,temp;void SortInt(int a1,int a2)/升序排序for(
13、i=0;ia1-1;i+)k=i;for(j=i+1;ja1;j+)if( (1) ) k=j;if(k !=i)temp=a2i;a2i=a2k;a2k=temp;class SortInt_2 (2) int i,j,k,temp;void SortInt(int a1, int a2)/降序排序for(i=0; ia1-1;i+)k=i;for(j=i+1;ja1;j+)if( (3) )k=j;if(k !=i)temp=a2i;a2i=a2k;a2k=temp;public class testpublic static void main(String args)int a=10,
14、55,100,35,87,90,100,16;SortInt_1 NewInt= (4) ;NewInt.SortInt(a.lenvh,a);/调用 SortInt_1 类的方法System.out.println(“升序排列的数据: “);for(int i=0;ia.length;i+)System.out.print(ai+“ “);System.out.println();NewInt=new SortInt_2();/创建类 SortInt_2 的对象(5) ;/调用相应方法进行降序排序System.out.println(“降序排列的数据: “);for(int i=0;ia.l
15、ength;i+)System.out.print(ai+“ “);(分数:15.00)_六、试题六(总题数:1,分数:15.00)3.【说明】本程序将两个从小到大的有序链表合成一个新的从小到大的有序链表。链表的每一项由类 Node 描述,而链表由 List 描述,类 List 的成员函数有以下几个:creatList(): 创建从小到大的有序链表。multiplyList(List L1, Llst L2): 将链表 L1 和链表 L2 合并。print(): 打印链表。【C+代码】#include iostreamusing namespace std;class List;class N
16、odefriend class List;public:Node(int data)(1) ;private:int data;Node *next;class Listpublic:List()list=NULL;void multiplyList(List L1, List L2);void creatList();void print();private:Node *list;void List:creatList()Node *p, *u, *pre;int dara;list=NULL;wbile(1)cout“输入链表的一项: (小于零,结束链表) “endl;cindata;if
17、(dara0)break;/小于零,结束输入p=list;while(p !=NULL p=p-next;u= (2) ;if(p=list)list=u;else pre-next=u;(3) ;void List:multiplyList(List L1, List L2)Node *pL1, *pL2, *pL, *u;list = NULL;pL1 = L1.list;pL2 = L2.11st;while(pL1 != NULL pL1 = pL1-next;elseu = new Node(pL2-data);pL2 = pL2-next;if(list = NULL)list =
18、 (4) ;elsepL-next=u;pL=u;pL1 = (pL1 != NULL)? pL1:pL2;while(pL1 != NULL)u= (5) ;pL1 = pL1-next;if(list = NULL)list=pL=u;elsepL-next=u;pL=u;void List:print()Node *p;p = list;while(p !=NULL)coutp-data“/t“;p=p-next;coutend1;void main()List L1, L2, L;cout“创建第一个链表/n“;L1.creatList();cout“创建第二个链表/n“;L2.cre
19、atList();L1.print();L2.print();L.multiplyList(L1,L2);L.print();(分数:15.00)_中级软件设计师下午试题-42 答案解析(总分:90.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)【说明】某汽车数字仪表板将完成下述功能:(1)通过模/数转换,实现传感器和微处理器的接口。(2)在发光二极管面板上显示数据。(3)指示速度(mph)、行驶里程、油耗(mpg)等。(4)指示加速或减速。以下是经分析得到的数据流图,有些地方有待填充,假定顶层数据流图是正确的。图 9-14 是顶层数据流图,图 9-15 是第 0 层数
20、据流图,图 9-16 是第 1 层数据流图,其中 A 是加工 1 的细化图,B 是加工 2 的细化图。图中,sps 表示转速 sps 的瞬时变化值,若sps0 则汽车加速,sps0 则减速,sps=0 则匀速。假定题中提供的顶层图是正确的,请回答下列问题。(分数:15.00)(1).【问题 1】第 0 层数据流图(如图 9-15 所示)中有一条缺失的数据流,请指出该数据流的起点和终点。加工 1 的细化图(如图 9-16 中的 A 所示)中有一条缺失的数据流,请指出该数据流的起点和终点。(分数:5.00)_正确答案:(图 9-15 中,缺失的数据流:速度 mph,起点:加工 1 速度处理,终点:
21、仪表板。图 9-16(A)中,缺失的数据流:加速/减速,起点:加工 1.2 确定加速/减速,终点:仪表板。)解析:分析 分层数据流图时刻牢记父图与子图平衡原则。对这种数据流缺失题目,认真对照父图与子图就可得出答案。另外,还要注意与文件的交互,包括错误数据流大多也是出在此。将第 0 层数据流图(见图 9-15)与顶层数据流图(见图 9-14)仔细对照,可以发现缺失了输出数据流“速度mph”,其起点为加工 1 速度处理,终点为仪表板。数据流“速度 mph”虽然从加工 1 输出到了加工 2,但这只是内部数据流。同理,加工 1 的细化图(见图 9-16(A)缺失了数据流“加速碱速”,其起点是加工 1.
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 中级 软件 设计师 下午 试题 42 答案 解析 DOC
