2023年软件设计师模拟试题下午试卷

上传人:公**** 文档编号:475722011 上传时间:2024-02-12 格式:DOC 页数:9 大小:72KB
返回 下载 相关 举报
2023年软件设计师模拟试题下午试卷_第1页
第1页 / 共9页
2023年软件设计师模拟试题下午试卷_第2页
第2页 / 共9页
2023年软件设计师模拟试题下午试卷_第3页
第3页 / 共9页
2023年软件设计师模拟试题下午试卷_第4页
第4页 / 共9页
2023年软件设计师模拟试题下午试卷_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《2023年软件设计师模拟试题下午试卷》由会员分享,可在线阅读,更多相关《2023年软件设计师模拟试题下午试卷(9页珍藏版)》请在金锄头文库上搜索。

1、2007年11月软件设计师模拟试题(2)下午试卷试题一阅读下列说明和数据流图,回答问题1问题3。【说明】某考务处理系统主要功能是考生管理和成绩管理:1.对考生送来的报名表进行检查。2.对合格的报名表编好准考证号码后将准考证送给考生,将汇总后的考生名单送给阅卷站。3.对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者。4.填写考生通知单(内容包含该考生的准考证号、姓名、各课程成绩及最终合格/不合格标志),送给考生。5.根据考生信息及考试成绩,按地区、年龄、文化程度和职业进行成绩分类统计及试题难度分析,产生统计分析表。考务处理系统的顶层图如图1所示,第0层图如图2所示,加工2子图

2、如图3所示。【数据流图】图1顶层图图2 0层图图3加工2子图【问题1】指出哪张图的哪些文件可以不必画出。【问题2】数据流图1-3中缺少3条数据流,请直接在图中添加。【问题3】根据系统功能和数据流图填充下列数据字典条目中的 (1) 和 (2) :试题得分表=准考证号+课程名+成绩考生名册=报名号+准考证号+姓名+通信地址+出生年份+文化程度+职业考生通知单= (1)报名表= (2)试题二阅读以下说明,回答问题,将解答写在试卷的对应栏内。【说明】某公司要开发一个销售管理系统,该系统的主要功能是:处理客户和销售员送来的订单;工厂是根据订货安排生产的,交出货物同时开出发票,收到客户付款后,根据发票存根

3、进行应收款处理。每张订单由订单号,若干头信息和订单细节组成。一张订单可定购多种产品,工厂对大宗订货给予优惠。每种产品都规定了不同订货数量的折扣。根据上述要求公司的销售部王经理写下了以下数据表结构:客户:(客户号,客户名,地址,电话)订单:(订单号,客户号,产品号,订货数,订货日期,交货日期,金额)应收账款:(客户号,订单号,发票号,应收金额,支付日期,支付金额,当前余额)产品描述:(产品号,产品名,单价,重量)折扣规则:(产品号,订货量,折扣)【问题1】上表中带下划线的为主码。请为还没有确定主码或是主码不合理的数据表选定最合适的主码。【问题2】上面的关系模式中还有不是第二范式的,请将其转为第二

4、范式。并确定新数据表的主码。试题三阅读下列说明和E-R图,回答问题13。【说明】设有关于银行借贷管理系统的E-R图(如图4所示)。图中矩形表示实体,圆表示属性,双圆表示关键字属性,菱形表示实体间的联系。为了答题的方便,图中的实体和属性同时给出了中英文说明,回答问题时只需写出英文名即可。图4银行借贷管理系统E-R图【问题1】根据E-R图中给出的词汇,按照有关模式名(属性1,属性2,)的格式,将此E-R图转换为关系模式,并指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。要求其中的关系模式至少属于第三范式。【问题2】如下的SQL语言用于查询在该银行中一笔贷款贷给多个(至少2个)客

5、户的所有贷款号和发放贷款的支行名称的不完整语句,请在空缺处填入正确的内容。SELECT Borrow.Lno,BnameFROM Borrow,LoanWHERE (1)GROUP BY Borrow.LnoHAVING (2) ;【问题3】假设这个银行有若干个节点,每个节点运行一个数据库系统。假设这些节点之间惟一的交互式用电子方式相互传送款项,这样的系统是分布式数据库系统吗?为什么?试题四阅读下列程序说明,将在空缺处填入正确的内容。【程序说明】定义一个多边形结构:struct polygon实现以下内容: (1) 建立该结构的链表:create函数是创建链表,每输入一个结点的数据,就把该结点

6、加入到链表当中,它返回创建的链表的头指针。 (2) 显示链表的各个结点数据:结点数据包括:多边形顶点数、各顶点的纵横坐标、当多边形顶点数为0时,链表创建结束。 (3) 编写一个函数disp,删除链表中的所有结点。需要注意的是:要先释放结点数据内存,再删除结点,如果在释放结点数据内存单元之前删除结点,则无法找到结点数据内存单元的地址,也就无法释放数据的内存单元。【程序】#includeiostream.h#includeiomanip.hstruct polygonint n;int *x;int *y;polygon *next;void Push(polygon*& head,int n)p

7、olygon*newNode=new polygon;newNode=new polygon;newNode-next= (1) ;newNode-x=new intn;newNode-y=new intn;newNode-n= (2) ;for(int i=0;i= (3) ;i+)coutnewNode-xinewNode-yi;(4) =head;/ 在head前不需要额外的*head=newNode;polygon *create()polygon*head=NULL;polygon*tail;int n;coutn;if(n=0)return (5) ;Push(head, (6)

8、;tail=head;coutn;while(n!=0)Push(tail-next, (7) ;/在tail-next增加结点tail=tail-next;/advance tail to point to last nodecoutn;return head;void disp(polygon*head)int i,No=1;cout?y?endl; (6) ?x? while(head!=NULL)cout第NO结点:ENDL; for(i=0;in-1;i+)coutxiyiENDL; (8) ;head= (9) ;/Match while statementvoid del(pol

9、ygon*head)polygon*p;while(head!=NULL)p= (10) ;head=head-next;delete p-x;delete P-y;deletep;/Match while statementvoid main()polygon*head;head=create();disp(head);del(head);试题五阅读下列程序说明,将应填入(n)处的字句写在答卷纸的对应栏内。【程序说明】对于一个公司的雇员来说,无非有3种:普通雇员、管理人员和主管。这些雇员有共同的数据:名字、每小时的工资,也有一些共同的操作:数据成员初始化、读雇员的数据成员及计算雇员的工资。但

10、是,他们也有不同。例如,管理人员除有这些共同的特征外,有可能付固定薪水,主管除有管理人员的共同特征外,还有其他物质奖励等。3种雇员中,管理人员可以看作普通雇员的一种,而主管又可以看作管理人员的一种。我们很容易想到使用类继承来实现这个问题:普通雇员作为基类,管理人员类从普通雇员类中派生,而主管人员类又从管理人员类中派生。下面的程序1完成上述各个类的定义,并建立了3个雇员(一个普通雇员、一个管理人员和一个主管)的档案,并打印出各自的工资表。将程序1中的成员函数定义为内联函数,pay成员函数定义为虚函数,重新完成上述要求。【程序1】/普通雇员类class Employeepublic:Employe

11、e(char*theName,float thePayRate);char*getName()const;float getPayRate()const;float pay(float hoursWorked)const;protected:char*name;/雇员名称float payRate;/薪水等级;Employee:Employee(char*theName,float thePayRate)name=theName;payRate=thePayRate;char*Employee:getName() constreturn name;float Employee:getPayRa

12、te()constreturn payRate;float Employee:pay(float hoursWorked)constreturn hoursWorked*payRate;/管理人员类class Managerpublic Employeepublic:/isSalaried付薪方式:true付薪固定工资,false按小时付薪Manager(char*theName,float thePayRate,bool isSalaried);bool getSalaried()const;float pay(float hoursWorked)const;protected:bool s

13、alaried;Manager:Manager(char*theName,float thePayRate,bool isSalaried)Employee(theName,thePayRate)salaried=isSalaried;bool Manager:getSalaried() constreturn salaried;float Manager:pay(float hoursWorked)constif(salaried)return payRate;/*else*/return Employee:pay(hoursWorked);/主管人员类class Supervisor:public Employeepublic:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 幼儿教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号