【计算机类职业资格】中级软件设计师下午试题-69及答案解析.doc
《【计算机类职业资格】中级软件设计师下午试题-69及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】中级软件设计师下午试题-69及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、中级软件设计师下午试题-69 及答案解析(总分:103.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)说明职工信息管理系统是用于对职工相关信息进行检索、统计、工资管理、内部调动管理等的系统。利用该系统,人事科可以对本单位职工信息进行管理,根据不同命令对信息进行增、删、改、内部调动,打印人事表格,进行统计、检索。人事科输入的系统命令需要合法性检查才能被接受、处理。系统命令包括档案维护、数据检索、统计报表、打印命令、代码维护。人事科的输入信息包括个人资料、 检索选项、 统计选项、代码资料、新增档案字段、档案修改资料等条目。完整的个人资料应包括职工的档案编号、姓名、工作单位、
2、性别、出生日期、技术职称以及学历。通过系统授权,用户可以进行对职工信息数据进行查询检索,检索的条件可以是姓名、工作单位、,性别、技术职称等组合。通过系统授权,超级用户还可以对职工档案进行维护。当超级用户需要对档案进行维护时,输入档案维护命令,得到合法性确认后,可以对系统数据库档案信息进行维护,否则将拒绝执行。档案维护操作可以是增加档案、修改档案、删除档案、增加档案字段中的任何一种操作。档案维护成功后要及时更新职工信息数据文件,保存维护结果。职工管理信息系统的顶层图如图 12-1 所示;职工管理信息系统的第 0 层 DFD 图如图 12-2 所示,其中,加工 3 的细化图如图 12-3 所示,加
3、工 3.2 的细化图如图 12-4 所示。数据流图 12-1数据流图 12-2数据流图 12-3数据流图 12-4(分数:15.00)_二、试题二(总题数:1,分数:14.00)说明图 12-5 中显示一张交通违章处罚通知书。每一个交通违章通知书有一个惟一的编号。交通违章通知书包含了收到处罚的违章者记录、涉及违章的机动车记录、违章记录、处罚记录以及经办警察记录等信息。所根据这张通知书所提供的信息回答下面问题。1.问题 1根据这张通知书所提供的信息,设计了一个 E-R 模型,如图 12-6 所示。请将 (n) 处补充完整。(分数:14.00)_三、试题三(总题数:1,分数:15.00)1.说明分
4、糖果问题是一个经典问题。问题描述如下:幼儿国有 n(20)个孩子围成一圈分糖果,老师先随机地发给每个孩子若干颗糖果,然后按以下规则调整:每个孩子同时将自己手中的糖果分一半给坐在他右边的小朋友;如共有 8 个孩子,则第 1 个将原来的一半分给第 2 个,第 2 个将原有的一半分给第 3 个第 8 个将原来的一半分给第 1 个,这样的平分动作同时进行;若平分前,某个孩子手中的糖果是奇数颗,则必须从老师那里要一颗,使他的糖果变成偶数。小孩人数和每个小孩的初始数由键盘输入。经过多少次调整,使每个孩子手中的糖果一样多,调整结束时每个孩子有糖果多少颗,在调整过程中老师又新增发了多少颗糖果。C 程序#inc
5、lude stdlib.h#include stdio.hbool allequall (int child, int n ) /判断各小孩子手中的糖果是否相等for ( int i=0; in-1; i+)if (childi!=childi+1 )return false; /不相等返回假return true; /相等返回真const int MaxNum=20; /定义最大人数/主函数void main ( )int Num=0;int *child;int *child1;/构造两个相应大小的数组 child 代表小朋友现有的粮果数 child1 代表小朋友原来有的糖果数int Tn
6、um=0;int i=0;do printf ( “Pelase input the number of the children: “).,scanf ( “%d“,if ( NumMaxNum )printf ( “Error Number!“ );while ( NumMaxNum );child=new int Nmn;child1=new int Num;for ( i=0; iNum; i+ ) /将数组赋值printf ( “Input NO. %d childs candy numbers: “,i+1);scanf ( “%d“, while ( (1) )for (i=0;
7、 iNum; i+ )if( (2) )(3) Tnum+;for ( i=0; iNum; i+ )child1i=childi; /将 child1 赋值用来记忆原来小朋友的粮果数for ( i=0; iNam; i+ )(4) for (i=0; iNum-1; i+)/用循环实现前一个小朋友粮果数加后一个小朋友粮果数的一半childi/=2;childi+=child 1 i+1;childNum-1/=2;(5) printf ( “每个同学最后分到糖果数目是%d/n“, child1);printf ( “老师分发出的糖果是%d/n“, Tnum );图 12-7 是一种解决问题的
8、流程图,请根据该流程图将对应 C 代码 (n) 处补充完整。(分数:15.00)_四、试题四(总题数:1,分数:14.00)说明冒泡排序算法的基本思想是:对于无序序列(假设扫描方向为从前向后,进行升序排列),两两比较相邻数据,若反序则交换,直到没有反序为止。一般情况下,整个冒泡排序需要进行众(1kn)趟冒泡操作,冒泡排序的结束条件是在某一趟排序过程中没有进行数据交换。若数据初态为正序时,只需 1 趟扫描,而数据初态为反序时,需进行 n-1 趟扫描。在冒泡排序中,一趟扫描有可能无数据交换,也有可能有一次或多次数据交换,在传统的冒泡排序算法及近年的一些改进的算法中2,3,只记录一趟扫描有无数据交换
9、的信息,对数据交换发生的位置信息则不予处理。为了充分利用这一信息,可以在一趟全局扫描中,对每一反序数据对进行局部冒泡排序处理,称之为局部冒泡排序。局部冒泡排序的基本思想是:对于 N 个待排序数据组成的序列,在一趟从前向后扫描待排数据序列时,两两比较相邻数据,若反序则对后一个数据作一趟前向的局部冒泡排序,即用冒泡的排序方法把反序对的后一个数据向前排到适合的位置。扫描第对数据对,若反序,对第 2 个数据向前冒泡,使前两个数据成为,有序序列;扫描第二对数据对,若反序,对第 3 个数据向前冒泡,使得前 3 个数据变成有序序列;扫描第 i 对数据对时,其前 i 个数据已成有序序列,若第 i 对数据对反序
10、,则对第 i+1 个数据向前冒泡,使前 i+1 个数据成有序序列;依次类推,直至处理完第 n-1 对数据对。当扫描完第 n-1 对数据对后,N 个待排序数据已成了有序序列,此时排序算法结束。该算法只对待排序列作局部的冒泡处理,局部冒泡算法的名称由此得来。以下为 C 语言设计的实现局部冒泡排序策略的算法,根据说明及算法代码回答问题 1 和问题 2。变量说明#define N=100 /排序的数据量typedef struct /排序结点int key;info datatype;node;node SortDataN; /待排序的数据组node 类型为待排序的记录(或称结点)。数组 SortDa
11、ta为待排序记录的全体称为一个文件。key 是作为排序依据的字段,称为排序码。datatype 是与具体问题有关的数据类型。下面是用 C 语言实现的排序函数,参数 R为待排序数组,n 是待排序数组的维数,Finish 为完成标志。算法代码void Part-BubbleSort (node R, int n)int=0 ; /定义向前局部冒泡排序的循环变量/暂时结点,存放交换数据node tempnode;for (int i=0;in-1;i+) ;if (Ri.keyRi+1.key)(1) while ( (2) )tempnode=Rj ;(3) Rj-1=tempnode ;Fini
12、sh=false ;(4) / end while/ end if/ end for/ end function1.问题 1阅读下列函数说明和 C 代码,将应填入 (n) 处的字句写在的对应栏内。(分数:14.00)_五、试题五(总题数:1,分数:15.00)2.说明以下代码实现了对象引用作为函数参数,仔细阅读以下代码,分析运行结果,填入 (n) 处。代码#includeiostream.hclass Sampleint x,y;public:Sample() x=y=0; Sample (int i, int j ) x=i; yj; void copy ( Sample yj; void
13、print ( cout“x=“xend1 ; cout “y=“yend1;void Sample: copy ( Sample y=s.y;void func ( Sample s1, Sample s2.setxy ( 30,40 );void main ( )Sample p ( 1,2 ) ,q;q.copy ( p );time ( p,q );p.print ( );q.print ( );运行结果(1) (2) (3) (4) (分数:15.00)_六、试题六(总题数:1,分数:15.00)3.说明以下程序为类类型的变量应用实例,通过异常处理检验了类 CCircle 的变量的合
14、法性,即参数半径应为非负值。仔细阅读代码和相关注释,将程序补充完整。JAVA 代码/定义自己的异常类class CCircleException extends Exception/ 定义类 CCircleclass CCircleprivate double radius;public void setRadius ( double r ) (1) if ( r0 ) (2) else(3) Public void show ( ) System. out. println ( “area=“+3.14*radius*radius );public class ciusamplepublic
15、 static void main ( String args )CCircle cir=new CCircle( );(4) cir. setRadius ( -2.0 )(5) System. out. println ( e+“ throwed“ ) ;cir. show( ) ;(分数:15.00)_七、试题七(总题数:1,分数:15.00)4.说明以下 Visual Basic 代码实现了对位图(BMP)进行旋转显示。以下程序共实现了对 BMP 位图图形进行 180旋转、90旋转(顺时针)、90旋转(逆时针)、水平翻转、垂直翻转共 5 项处理。显示界面如图 12-8 所示。仔细阅读代
16、码 7-1至代码 7-3,完成 (n) 代码,并写在对应栏内。(分数:15.00)_中级软件设计师下午试题-69 答案解析(总分:103.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)说明职工信息管理系统是用于对职工相关信息进行检索、统计、工资管理、内部调动管理等的系统。利用该系统,人事科可以对本单位职工信息进行管理,根据不同命令对信息进行增、删、改、内部调动,打印人事表格,进行统计、检索。人事科输入的系统命令需要合法性检查才能被接受、处理。系统命令包括档案维护、数据检索、统计报表、打印命令、代码维护。人事科的输入信息包括个人资料、 检索选项、 统计选项、代码资料、新增
17、档案字段、档案修改资料等条目。完整的个人资料应包括职工的档案编号、姓名、工作单位、性别、出生日期、技术职称以及学历。通过系统授权,用户可以进行对职工信息数据进行查询检索,检索的条件可以是姓名、工作单位、,性别、技术职称等组合。通过系统授权,超级用户还可以对职工档案进行维护。当超级用户需要对档案进行维护时,输入档案维护命令,得到合法性确认后,可以对系统数据库档案信息进行维护,否则将拒绝执行。档案维护操作可以是增加档案、修改档案、删除档案、增加档案字段中的任何一种操作。档案维护成功后要及时更新职工信息数据文件,保存维护结果。职工管理信息系统的顶层图如图 12-1 所示;职工管理信息系统的第 0 层
18、 DFD 图如图 12-2 所示,其中,加工 3 的细化图如图 12-3 所示,加工 3.2 的细化图如图 12-4 所示。数据流图 12-1数据流图 12-2数据流图 12-3数据流图 12-4(分数:15.00)_正确答案:(数据流名称:“系统命令”,指向加工“合理性检查 1”。数据流名称:“职工信息”,起点,“职工信息文件”,终点加工“检索 5”)解析:解析试题一做系统分析题之前必须仔细阅读文字说明,并根据图表说明,理解系统设计者设计系统的思路,从设计者的角度来思考问题。本题所设计的系统为某单位的职工信息管理系统。该系统用于对职工相关信息进行检索、统计、工资管理、内部调动管理等的系统。首
19、先看问题 1,图 12-2 为职工管理信息系统的第 0 层 DFD 图,问题是“12-2 缺少了两条数据流”。仔细对比图 12-1 和图 12-2,就发现图 12-2 中的“系统命令”是从加工 1“合理性检查 1”出发的,由系统顶层图 12-1 可知,“系统命令”来自外部“人事科”。因此,正确的逻辑是:“人事科”发出“系统命令”,经过“合理性检查 1”后,才被系统认可执行。显然“合理性检查 1”缺乏数据来源“系统命令”。再仔细分析图 12-2 的逻辑,就会发现加工 5“检索 5”缺乏检索数据源,根据文字说明,可知检索为职工信息进行管理的内容之一。那么加工 5“检索 5”依赖于“职工信息文件”。
20、再看问题 2。(1)数据流图 12-3 中缺少了与增加职工记录“3.2” 加工相关的数据流。根据说明,增加职工记录是在一定条件下执行的,即人事科发出了“增加档案”命令并被认可后,才可以增加职工记录。那么缺少的数据流名称为“增加档案命令”(或“增加档案”),起点为加工“档案维护命令分类 3.1”,终点为加工“增加职工记录 3.2”。(2)对于本题首先要明白图 1-4 数据流图是加工“增加职工记录 3.2”的细化。对比图 12-3 与加工“增加职工记录 3.2”部分和图 12-4,即可知道答案,即加工“记录合理性检查 3.2.2”和加工“写入新的职工信息 3.2.3”均依赖于“职工信息文件”。对于
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 中级 软件 设计师 下午 试题 69 答案 解析 DOC
