【计算机类职业资格】中级软件设计师下午试题-17 (1)及答案解析.doc
《【计算机类职业资格】中级软件设计师下午试题-17 (1)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】中级软件设计师下午试题-17 (1)及答案解析.doc(10页珍藏版)》请在麦多课文档分享上搜索。
1、中级软件设计师下午试题-17 (1)及答案解析(总分:70.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:5.00)1.【说明】 某考务处理系统具有以下功能: (1)输入报名单; (2)自动编制准考证号; (3)输出准考证;(4)输入成绩清单; (5)输出成绩通知单; (6)输出成绩分布表; (7)输入合格标准、输出录取通知单; (8)试题难度分析,并输出试题难度分析表。 这里给出了实现上述要求的部分不完整的数据流图,其中部分数据流的组成如下所示。 报名单=报名号+姓名+通信地址 考生名册=报名号+准考证号+姓名+通信地址 成绩册=准考证号+(课程号+成绩)(其中W表示 W
2、重复多次) 准考证=报名号+姓名+准考证号 【问题 1】 指出 0 层图中可以删去的部分。 【问题 2】 在加工 1 子图中将遗漏的数据流添加在答题纸上。 【问题 3】 加工 2 子图分解成如图所示的 4 个子加工及相关的文件(即数据存储)。试在此基础上将相关的 DFD 成份添加在答题纸上,以完成该加工子图。 (分数:5.00)_二、B试题二/B(总题数:1,分数:5.00)2.【说明】 请设计一个图书馆数据库,此数据库中对每个借阅者保存的读者记录包括:读者号、姓名、地址、性别、年龄、单位。对每本书存有:书号、书名、作者、出版社。对每本书被借出的书存有读者号、借出日期和应还日期。 (分数:5.
3、00)_三、B试题三/B(总题数:1,分数:15.00)3.【说明】 某公司的用品采购流程如下所述。 (1)由营业部门提出需求用品清单。 (2)将需求用品清单交采购部门建立采购采买单据。 (3)采购部门建立采购采买单据后,交财务部门,向财务部申请款项,预支定金。 (4)财务部建立应付帐款单据后,核支款项。 (5)采购部门再收到款项后,进行采买。 (6)采买完成,执行: 发票核剩余款项交财务部,即由财务部门处理。 用品点交营业部门发放,即由营业部门处理。 (7)进行财务结算处理,执行: 采购部门:采购单据结案。 财务部门:帐款冲销结案。 【问题】 完成下面的 UML 活动图对象流分析,111 为
4、活动,设计此采购活动的流程。 (分数:15.00)_四、B试题四/B(总题数:1,分数:15.00)4.【说明】函数 int Toplogical(LinkedWDigraph G)的功能是对图 G 中的顶点进行拓扑排序,并返回关键路径的长度。其中图 G 表示一个具有 n 个顶点的 AOE 一网,图中顶点从 1n 依次编号,图 G 的存储结构采用邻接表表示,其数据类型定义如下: typedef struct Gnode /*邻接表的表结点类型*/ int adivex; /*邻接顶点编号*/ int weight; /*弧上的权值*/ bstmct Gonde*nextare; /*指示下一个
5、弧的结点*/ Gnode; typedef struct Adjlist /*邻接表的头结点类型*/ char vdata; /*顶点的数据信息*/ struct Gnode*Firstadj; /*指向邻接表的第 1 个表结点*/ Adjlist; typedef struct LinkedWDigraph /*图的类型*/ int n, e; /*图中顶点个数和边数*/ struct Adjlist head; /*指向图中第 1 个顶点的邻接表的头结点*/ LinkedWDigraph; 【函数】 int Toplogical(LinkedWDigraph G) Gnode *p; in
6、t j,w,top=0; int *Stack,*ve,*indegree; ve=(int *)mallloc(G.n+1)* sizeof(int); indegree=(int *)malloc(G.n+1)*sizeof(int);/*存储网中个顶点的入度*/ Stack=(int *)malloc(G.n+1)*sizeof(int); /*存储入度为 0 的顶点的编号*/ if(!ve!indegree!Stack) exit(0); for(j=1;j=G.n;j+) vej=0; indegreej=0; /*for*/ for(j=1;j=G.n;j+) /*求网中各顶点的入
7、度*/ p=G.headj.Firstadj; while(p) U(1) /U; p=p-nextarc; /*while*/ /*for*/ for(i=1;j=G.n;j+) /求网中入度为 0 的顶点并保存其编号*/ if(!indegreej) Stack+top=j; while(top0) w=U (2) /U; printf(“%c“, G.headw.vdata); p=G.headw.Firstadj; while(p) U (3) /U; if(!indegreep-adjvex) Stack+top=p-adjvex; if(U (4) /U) vep-adjvex=v
8、ew+p-weight; p=p-nextarc; /*while*/ returnU (5) /U; /*Toplogical*/(分数:15.00)_五、B试题五/B(总题数:1,分数:15.00)5.【说明】通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中,应用系统在启动时首先将配置文件加载到内存中,这些内存配置信息应该有且仅有一份。下面的代码应用了单身模式(Singleton)以保证 Configure 类只能有一个实例。这样,Configure 类的使用者无法定义该类的多个实例,否则会产生编译错误。# include iostream.hclass Configu
9、reU (1) /U;Configure(); /构造函数public:static Configure *Instance();public:int GetConfigureData()return data; /获取配置信息int SetConfigureDate(int m_data)data=m_data; return data; /设置配置信息private:static Configure* _instance;int data; /配置信息;U (2) /U=NULL;Configure * ConfigureInstance() if(_instance=NULL) _ins
10、tance=U (3) /U;/加载配置文件并设置内存配置信息,此处省略returnU (4) /U;void main() Configure *t=NULL;t=U (5) /U;int d=t-GetConfigureData();/获取配置信息后进行其它工作,此处省略(分数:15.00)_六、B试题六/B(总题数:1,分数:15.00)6.【说明】类 Queue 表示队列,类中的方法如下表所示。 isEmpty() 判断队列是否为空。如果队列不为空,返回 true;否则,返回 falseenqueue(Object newNode) 入队操作dequeue() 出队操作。如果队列为空,
11、则抛出异常类 Node 表示队列中的元素;类 EmptyQueueException 给出了队列操作中的异常处理操作。public class TestMain /主类public static viod main (String args)Queue q=new Queue();q.enqueue(“first!“);q.enqueue(“second!“);q.enqueue(“third!“);U (1) /Uwhile(true)System.out.println(q.dequeue();catch(U (2) /U) public class Queue /队列Node m_Fir
12、stNode;public Queue()m_FirstNode=null;public boolean isEmpty()if(m_FirstNode=null)return true;else return false;public viod enqueue(Object newNode) /入队操作Node next=m_FirstNode;if(next=null)m_FirstNode=new Node(newNode);elsewhile(next.getNext()!=null)next=next.getNext();next.setNext(new node(newNode);
13、public Object dequeue()U (3) /U /出队操作Object node;if (isEempty()U (4) /U; /队列为空, 抛出异常elsenode=m_FirstNode.getObject();m_FirstNode=m_FirstNode.getNext();return node;public class Node /队列中的元素Object m_Data;Node m_Next;public Node(Object data) m_Data=data; m_Next=null;public Node(Object data, Node next)
14、m_Data=data; m_Next=-next;public void setObject(Object data) m_Data=data;public Object getObject(Object data) return m_data;public void setNext(Node next) m_Next=next;public Node getNext() return m_Next;public class EmptyQueueException extendsU (5) /U /异常处理类public EmptyQueueException() System.out.pr
15、intln(“队列已空! “);(分数:15.00)_中级软件设计师下午试题-17 (1)答案解析(总分:70.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:5.00)1.【说明】 某考务处理系统具有以下功能: (1)输入报名单; (2)自动编制准考证号; (3)输出准考证;(4)输入成绩清单; (5)输出成绩通知单; (6)输出成绩分布表; (7)输入合格标准、输出录取通知单; (8)试题难度分析,并输出试题难度分析表。 这里给出了实现上述要求的部分不完整的数据流图,其中部分数据流的组成如下所示。 报名单=报名号+姓名+通信地址 考生名册=报名号+准考证号+姓名+通信地址
16、成绩册=准考证号+(课程号+成绩)(其中W表示 W 重复多次) 准考证=报名号+姓名+准考证号 【问题 1】 指出 0 层图中可以删去的部分。 【问题 2】 在加工 1 子图中将遗漏的数据流添加在答题纸上。 【问题 3】 加工 2 子图分解成如图所示的 4 个子加工及相关的文件(即数据存储)。试在此基础上将相关的 DFD 成份添加在答题纸上,以完成该加工子图。 (分数:5.00)_正确答案:()解析:【问题 1】 成绩册文件可删。 【问题 2】 补充后的加工 1 子图如下所示。 【问题 3】 完成后的加工 2 子图如下所示。 解析 0 层图中的成绩册文件只被加工成绩处理使用,是个局部文件,按照
17、数据隐蔽的规则,不应出现在 0 层图中。 加工 1 子图中,对比 0 层图,很明显缺少输入数据流“报名单”,输出数据流“准考证”。 问题 3 是要完善加工 2 子图,显得比较繁杂。这种题的出现频率应该非常低,但它是对考生实际处理问题能力的一个非常有效的检验,要比问题 1、2 复杂,容易发生遗漏和错误。所以,建议考生在做模拟试题时,在基本完成试题的情况下,还要多加思考,考虑如果遇到像问题 3这样,应该如何解决,这将对考生的应试能力和实际工作有相当大的帮助。 完善加工子图,其实就是要补充数据流图的基本成分。数据流图的基本成分是:加工、数据流、数据存储(数据文件)、外部实体。其中,在这个题目中,外部
18、实体不用考虑。 首先考虑加工。加工 2 子图中,目前有 4 个子加工,即:(1)成绩清单录入,(2)制作成绩通知单,(3)制作录取通知单,(4)试题难度分析。根据说明中关于功能的第 8项,很明显缺少一个实现“输出试题成绩分布表”的子加工。现在这 5 个加工已经全面实现了加工 2。 接着,看是否还缺少数据文件,经过对说明的分析,可以肯定没有其它的数据文件。 最后,就是要补充数据流。这一步最为复杂,容易遗漏和错画。必须把握一个原则:围绕数据文件,按加工顺序,依据说明逐步进行。 加工 1.1 需要输入考生名册的数据,经过加工,向成绩册输出数据。 加工 2.2 需要输入考生名册和成绩册的数据,经过加工
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 中级 软件 设计师 下午 试题 171 答案 解析 DOC
