【计算机类职业资格】中级软件设计师下午试题-21及答案解析.doc
《【计算机类职业资格】中级软件设计师下午试题-21及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】中级软件设计师下午试题-21及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、中级软件设计师下午试题-21 及答案解析(总分:80.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1.【说明】A 公司决定开发一套公共交通自动售票系统,系统要求如下所述。(1)乘客能按以下 3 步操作购票:选定目的地,投入钱币,获得一张票。(2)并且仅当乘客选定目的地后,系统才接收投钱;每次投入的钱只购买一张票。(3)只要投入的钱不少于所需的票价,且票库中有所要求的票,则应尽快出票。(4)如需找钱,则在出票的同时应退还多余的钱。(5)如果乘客投入的钱不够票价,或者票库中没有所需要的票时,系统将全额退钱,并允许乘客另选目的地,继续购票。(6)出票前乘客可以单击“取消”按
2、钮取消购票,系统将全额退出该乘客投入的钱,并允许乘客另选目的地,继续购票。(7)出票结束(包括退还多余的钱)后,系统应保存销售记录,并等待乘客购票。该系统还要求快速响应和操作同步,所以它应是一个实时系统。为此,A 公司在该系统的数据流程图中附加了过程控制部分,形成转换图。在该图中,控制流(事件流)用虚线表示,数据流用实线表示。图中的数据流并没有画全,需要考生填补。对售票全过程进行的控制可以用系统内部各个状态之间的迁移来描述,从而形成状态迁移图。在状态迁移图中,用双线框表示状态,用有向边表示状态的迁移。引起状态迁移的事件以及由该事件引起的动作,在有向边旁用“ ”形式注明。该公司还制定了一个过程启
3、动表,用以表明状态迁移图中的 4 个动作与转换图中的 4 个过程之间的“启动”关系,即说明哪个动作将启动哪个过程。用 1 表示启动,用 0 表示不启动。启动的过程将根据获得的输入数据产生输出数据,未唐动的过程则不会产生输出数据,该表中没有列出的过程,其执行与否与事件无关。(分数:15.00)_二、试题二(总题数:1,分数:5.00)2.【说明】学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授各带有若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。【问题 1】用 E-R 图画出此学校的概念模型,用文字写出各实体和联系的属性。【问题 2
4、】将 E-R 图转换成关系模型。【问题 3】指出各关系模型的候选键。(分数:5.00)_三、试题三(总题数:1,分数:15.00)3.【说明】(1)这是一个图书馆支持系统。(2)图书馆应用系统可以将图书和杂志借给借书者,这些借书者已经在系统中注册了,图书和杂志也已经注册过了。(3)图书馆负责新书的购买,一本流行图书会多买几本。当旧书和杂志已经过时或破旧不堪时,将它们从图书馆应用系统中删除。(4)图书馆馆员是图书馆的员工。他们与客户(借书者)打交道,并且是在图书馆软件系统提供的支持下开展工作的。(5)借书者可以预订图书馆中当前还没有的图书或杂志,这样,当某借书者所预订的图书或杂志归还回来或购进时
5、,应用系统就通知这个预订人。当该借书者借阅了他所预订的图书或杂志后,或者通过一个显式的取消过程取消他的预订后,他的本次预订就被取消了。(6)图书馆应用系统能够容易地建立、修改和删除系统中的信息,包括书名、借书者、借阅信息和预订信息。(7)图书馆应用系统能够在所有流行的 Web 浏览器平台(Internet Explorer 5.1 以上,Netscape 4.0 以上等等)上运行。(8)图书馆应用系统应该易于扩展新功能。【问题】分析这个图书馆系统中涉及的角色和用例,完成用例图。(分数:15.00)_四、试题四(总题数:1,分数:15.00)4.【说明】本程序在 33 方格中填入 1N(N10)
6、内的某 9 个互不相同的整数,使所有相邻两个方格内的两个整数之和为质数。试求出满足这个要求的所有填法。33 方格中的每个方格按行按列(先行后列)序号排列为:0,1,2,3,4,5,6,7,8。程序采用试探法,即从序号为 0 的方格开始,为当前方格寻找一个合理的可填整数,并在当前位置正确填入后,为下一方格寻找可填入的合理整数。如不能为当前方格找到一个合理的可填整数,就要回退到前一方格,调整前一方格的填入整数;直至序号为 8 的方格也填入合理的整数后,就找到了一个解,将该解输出。再调整序号为 8 的方格所填整数,继续去找下一个解。为了检查当前方格的填入整数的合理性,程序引入二维数组 check M
7、atrix,存放需要进行合理性检查的相邻方格的序号。# include stdio. h# define N 12int bN+1;int pos;int a9;/* 用于存储诸方格所填入的整数*/int AllNum=0;/* 统计有多少种填法*/int checkMatrix3= -1,0,-1,1,-1,0,-1,1,3,-1,2,4,-1,3,-1,4,6,-1,5,7,-1;void write(int a)int i, j;for(i=0; i3; i+)for(j=0; j3; j+)printf(“%3d“, a3*i+j);printf(“/n“);int isPrime(i
8、nt m)int i;if(m=2)return 1;if(m=1 m%2=0)return 0;for(i=3; i*im;)if(m%i=0)return 0;i+=2;return 1;int selectNum(int start)int j;for(j=start; j=N; j+)if(bj)return j;return 0;int check()/*检查填入 pos 位置的整数是否合理*/int i,j;for(i=0; (j= (1) )=0; i+)if(!isPrime(apos+aj)(2) ;(3) ;extend ()/* 为下一方格找一个尚未使用过的整数*/a (
9、4) =selectNum(1);bapos=0;void change ()/*为当前方格找下一个尚未使用过的整数(找不到回溯)*/int j;while(pos =0 if(pos0)return;bapos=1; apos=j; bj=0;int find ()int ok=1;pos=0; apos=1; bapos=0;doif(ok)if(pos=8)write(a);change();AllNum+;/* 统计有多少种填法*/else extend();else change();ok=check();while(pos=0);void main()int i;for(i=1;
10、i=N; i+) bi=1;find();prinrf(“共有%d 种不同填法!/n“, AllNum);(分数:15.00)_五、试题五(总题数:1,分数:15.00)5.【说明】以下 C+程序的功能是计算三角形、矩形和正方形的面积并输出。程序由 4 个类组成:类Triangle、Rectangle 和 Square 分别表示三角形、矩形和正方形;抽象类 Figure 提供了一个纯虚拟函数getArea(),作为计算上述 3 种图形面积的通用接口。#includeiostream.b#includemath.hclass Figurepublic:virtual double getArea
11、0=0; /纯虚拟函数;class Rectangle: (1) protected:double height;double width;public:Rectangle();Rectangle(double height, double width)This-height=height;This-width=width;double getarea()return (2) ;class Square: (3) public:Square(double width)(4) ;class Triangle: (5) double la;double lb;double lc;public:Tr
12、iangle(double la, double lb, double lc)this-la=la; this-lb; this-lc;double getArea()double s=(la+lb+lc)/2.0;return sqrt(s*(s-l a)*(s-l b)*(s-l c);viod main()Figure* figures3=new Triangle(2,3,3), new Rectangle(5,8), new Square(5);for(int i=0;i3;i+)cout“figures“i“area=“(figuresi)-getarea()endl;(分数:15.
13、00)_六、试题六(总题数:1,分数:15.00)6.【说明】StringEditor 类的功能是:已知一个字符串,返回将字符串中的非字母字符都删除后的字符串。public (1) public static String removeNonLetters( (2) )StringBuffer aBuffer= (3) ;char aCharacter;for(int i=0; ioriginal.length();i+)aCharacter= (4) ;if(Character.isLetter(aCharacter)aBuffer.append( (5) );return new Stri
14、ng(aBuffer);public class StringEditorTesterpublic static void main(String args)String original=“Hi!, My Name is Mark, 234I think you are my classmate?!“;System.out.println(StringEditor.removeNonLetters(original);(分数:15.00)_中级软件设计师下午试题-21 答案解析(总分:80.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1.【说明】A 公司决定开发一套
15、公共交通自动售票系统,系统要求如下所述。(1)乘客能按以下 3 步操作购票:选定目的地,投入钱币,获得一张票。(2)并且仅当乘客选定目的地后,系统才接收投钱;每次投入的钱只购买一张票。(3)只要投入的钱不少于所需的票价,且票库中有所要求的票,则应尽快出票。(4)如需找钱,则在出票的同时应退还多余的钱。(5)如果乘客投入的钱不够票价,或者票库中没有所需要的票时,系统将全额退钱,并允许乘客另选目的地,继续购票。(6)出票前乘客可以单击“取消”按钮取消购票,系统将全额退出该乘客投入的钱,并允许乘客另选目的地,继续购票。(7)出票结束(包括退还多余的钱)后,系统应保存销售记录,并等待乘客购票。该系统还
16、要求快速响应和操作同步,所以它应是一个实时系统。为此,A 公司在该系统的数据流程图中附加了过程控制部分,形成转换图。在该图中,控制流(事件流)用虚线表示,数据流用实线表示。图中的数据流并没有画全,需要考生填补。对售票全过程进行的控制可以用系统内部各个状态之间的迁移来描述,从而形成状态迁移图。在状态迁移图中,用双线框表示状态,用有向边表示状态的迁移。引起状态迁移的事件以及由该事件引起的动作,在有向边旁用“ ”形式注明。该公司还制定了一个过程启动表,用以表明状态迁移图中的 4 个动作与转换图中的 4 个过程之间的“启动”关系,即说明哪个动作将启动哪个过程。用 1 表示启动,用 0 表示不启动。启动
17、的过程将根据获得的输入数据产生输出数据,未唐动的过程则不会产生输出数据,该表中没有列出的过程,其执行与否与事件无关。(分数:15.00)_正确答案:(解析 这道考题的题型比较特殊,但仍可以参考常考的数据流程图的解题思路。应全面细致地阅读试题说明、转换图和状态迁移图,体会系统的实际运行场景,以帮助顺利地解题。问题 1 已经明确指出转换图中缺少 3 条数据流,而从直观上看,“核查”处于核心位置,它还非常显著地同全部 3 个文件有关。当然,有些考生不一定有这种直接看出关键点的技能,但是对于具有扎实软件工程理论基础和实际系统设计经验的人员,在经过一定的考试训练后,应该具有这种技能。下面具体分析。系统的
18、使用者乘客与系统之间的活动有选择目的地、投钱、出票。首先应该按照这 3 个活动去解答第1 个问题。乘客选择目的地应该经过核查,防止错误和异常,但这一点在转换图中没有画出。乘客投钱,系统接到钱后应核查,如果正确(不是假币,规定面值的纸币,面值不低于票价),系统将进入后面的出票流程。如果是规定的面值且面值大于票价,同时还要进入退还钱(找零)的流程。在中,如果系统对钱核查后发现不正确(假币,不是规定的面值,面值低于票价),系统将进入退还钱的流程。出票时也应该核查,这一点在转换图中已经画出。现在,已经找到了缺少的 3 条数据流。将上述 3 条数据流补充到转换图中,在以“核查”为中心的转换图中,每个输入
19、数据流/输出数据流都经过“核查”的检测。系统设计师们应该具有这样的设计思想:“核查”是系统中必须的、核心的、决定系统健壮性的功能。给出的状态图是一个完整的循环流程,正常过程中,状态“正在接受投钱”后,应该接下去是出票,但事件 a 导致“退钱”事件发生,在说明中已经很明确给出,是乘客按“取消”按钮。按照问题 1 中的分析,知道“接受投钱”后,系统经过“核查”,如果正确,就可以“出票”,所以 b 是“核查正确”。出票结束后,该乘客的事务已经完成,系统将进入下一个乘客事务的等待,所以 c 应该是“出票结束”。对于问题 3,应该按照已经补充完的转换图和状态迁移图,及过程启动表中的规则进行分析,可以很容
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 中级 软件 设计师 下午 试题 21 答案 解析 DOC
