[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷16及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷16及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷16及答案与解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 16及答案与解析 一、必答题(共 4道大题,每道大题 15分) 1 阅读下列说明和数据流图,回答问题 1问题 3。 【说明】 某考务处理系统主要功能是考生管理和成绩管理: 1对考生送来的报名表进行检查。 2对合格的报名表编好准考证号码后将准考证送给考生,将汇总后的考生名单送给阅卷站。 3对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者。 4填写考生通知单 (内容包含该考生的准考证号、姓名、各课程成绩及最终合格 /不合格标志 ),送 给考生。 5根据考生信息及考试成绩,按地区、年龄、文化程度和职业进行成绩分类统计及试
2、题难度分析,产生统计分析表。 考务处理系统的顶层图如图 1所示,第 0层图如图 2所示,加工 2子图如图 3所示。 【数据流图】1 指出哪张图的哪些文件可以不必画出。 2 数据流图 1口 3中缺少 3条数据流,请直接在图中添加。 3 根据系统功能和数据流图填充下列数据字典条目中的 (1)和 (2): 试题得分表准考证号 +课程名 +成绩 考生名册报名号 +准考证号 +姓名 +通信地址 +出生年份 +文化程度 +职业 考生通知单 =(1) 报名表 =(2) 4 阅读以下说明,回答问题。 【说明】 某公司要开发一个销售管理系统,该系统的主要功能是:处理客户和销售员送来的订单;工厂是根据订货安排生产
3、的,交出货物同时开出发票,收到客户付款后,根据发票存根进行应收款处理。每张订单由订单号,若干头信息和订单细节组成。一张订单可定购多种产品,工厂对大宗订货给予优惠。每种产品都规定了不同订货数量的折扣。 根据上述要求公司的销售部王经理写下了以下数据表结构: 客户: (客户号,客户名,地址,电话 ) 订单: (订单号,客户号,产品号,订货数,订货日期,交货日期,金额 ) 应收账款: (客户号,订单号,发票号,应收金额,支付日期,支付金额,当前余额 ) 产品描述: (产品号,产品名,单价,重量 ) 折扣规则: (产品号,订货量,折扣 ) 4 上表中带下划线的为主码。请为还没有确定主码或是主码不合理的数
4、据表选定最合适的主码。 5 上面的关系模式中还有不是第二范式的,请将其转为第二范式。并确定新数据表的主码。 6 阅读下列说明和 E-R图,回答问题 1 3。 【说明】 设有关于银行借贷管理系统的 E-R图 (如 图 4所示 )。图中矩形表示实体,圆表示属性,双圆表示关键字属性,菱形表示实体间的联系。为了答题的方便,图中的实体和属性同时给出了中英文说明,回答问题时只需写出英文名即可。6 根据 E-R图中给出的词汇,按照 “有关模式名 (属性 1,属性 2, )” 的格式,将此 E-R图转换为关系模式,并指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。要求其中的关系模式至少属于
5、第三范式。 7 如下的 SQL语言用于查询 “在该银行中一笔贷款贷给多个 (至少 2个 )客户的所有贷款号和发放贷款的支行名称 ”的不完整语句 ,请在空缺处填入正确的内容。 SELECT Borrow.Lno, Bname FROM Borrow, Loan WHERE(1) HAVING(2); 8 假设这个银行有若干个节点,每个节点运行一个数据库系统。假设这些节点之间惟一的交互式用电子方式相互传送款项,这样的系统是分布式数据库系统吗 ?为什么 ? 9 阅读下列程序说明,将在空缺处填入正确的内容。 【程序说明】 定义一个多边形结构: struct polygon实现以下内容: (1)建立该结
6、构的链表:create函 数是创建链表,每输入一个结点的数据,就把该结点加入到链表当中,它返回创建的链表的头指针。 (2)显示链表的各个结点数据:结点数据包括:多边形顶点数、各顶点的纵横坐标、当多边形顶点数为 0时,链表创建结束。 (3)编写一个函数 disp,删除链表中的所有结点。需要注意的是:要先释放结点数据内存,再删除结点,如果在释放结点数据内存单元之前删除结点,则无法找到结点数据内存单元的地址,也就无法释放数据的内存单元。 【程序】 #include “iomanip.h“ struct polygon int n; int* x; int *y; polygon * next; ;
7、void Push(polygon * & head, int n) polygon * newNOde=newpolygon; newNOde=newpo, Ygon; newNOde- next=(1); newNOde- x=new int n; newNOde- y=new intn; newNOde- n=(2); for(int i=0; i =(3); i+) cout “请输入多边形各顶点 x、 y坐标,坐标值之间用空格分隔: ”; cin newNOde- xi newNOde- yi; (4) head; /在 head前不需要额外的。 head newNOde; poly
8、gon * create() polygon * head=NULL; polygon * tail; int n; cout “请输入多边形顶点的个数 (顶点个数为 0时结束 ): ”; cin n; if(n=0)return (5); Push(head, (6); tail=head; cout “请输入多边形顶点的个数 (顶点个数为 0时结束 ): ”; cin n; while(n!=0) Push(tail- next, (7); /在 tail- next增加结点 tail tail- next; /advance tail to point to last node cout
9、 “请输入多边形顶点的个数 (顶点个数为 0时结束 ): ”; cin n; return head; void disp(polygon * head) int i, No=1; cout setw(10) “x“ setw(6) “y“ end1; while(head!=NULL) cout “第 ” No “结点 :” end1; for(i=0; i =head- n-1; i+) cout setw(10) head- xi setw(6) head- yi endl; (8); head=(9); /Match while statement void del(polygon *
10、 head) polygon * p; while(head!=NULL) p=(10); head=head- next; delete p- x; delete P- y; deletep; /Match while statement void main() polygon * head; head=create(); disp(head); del(head); 二、选答题(共 3道大题,每道大题 15分) 从下列 3道试题中任选 1道解答,如果解答的试题数超过 1道,则仅题号小的 1道题解答有效。 10 阅读下列程序说明和 C+代码,将应填入 (n)处。 【说明】 在类体中添加函数
11、move(double ax, double ay)的定义,使得点的坐标 x和 y分别移动 ax 和 ay个单位。 在类定义外完成重载的两个构造函数 CPosition()和 CPosition(double dx, double dy),其中前者为不带参数的构造函数,使 CPosition对象的默认值为 x=0, y=0,后者为带参数的构造函数,把数据成员 x和 y分别初始化为参数 dx和 dy的值。 完成函数 double distance(double bx, double by)的定义,该函数返回 *this和点(bx, by)的距离。 注意:除在指定的位置添加语句外,请不要改动程序中
12、的其他语句。 源程序文件 test5.cpp清单如下: #include iostream.h #include math.h class CPosition public: CPosition(); CPosition(double dx, double dy); double getx(); double gety(); (1) double distance(double bx, double by); private: double x; double y; ; (2) x=0; y=0; CPosition: CPosition(doub, e dx, doub, e dy) x=d
13、x; y=dy; double CPosition: getx() return x; double CPosition: gety() return y; double CPosition: distance(double bx, double by) (3) vold main() double a, b; cout “|nput x, y position of a point: “; cin a b; CPosition psA(a, b); cout “Input x, y position of another point: “; cin a b; cout “The distan
14、ce is“ psA.distance(a, b) end1; 11 【说明】 下面是一个 Applet程序,其功能是建立一个图形用户界面的窗口,包括一个文本显示区和一个按钮,点击按钮,可以在文本区已有的文本基础上追加显示 10条 “Welcome to China“信息,并且文本区由滚动条控制文本的上下滚动。 程序运行结果如图 4所示。 import javax.swing.*; import java.awt.*; import java.awt.event.*; /* appletcode=“ex5_6.class“ width=800 height=400 /applet */ pub
15、lic class ex5_6 extends JApplet JButton jb=new JButton(“Add Text“); JTextPane jtp=new JTextPane(); public void init() jb.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) for(int i =1; i 10; i+) (1)+“ Welcome to China!n“; ; Container cp=(2); cp.add(new JScrollPane(jtp
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 下午 应用技术 试题 模拟 16 答案 解析 DOC
