[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷71及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷71及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷71及答案与解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 71及答案与解析 一、必答题(共 4道大题,每道大题 15分) 0 阅读下列说明和图,回答问题 1至问题 4,将解答填入答题纸的对应栏内。 【说明】 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下。 (1)每门课程都由 3到 6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。 (2)学生的平时成绩和考试成绩均由每门课程的主讲教师上 传给成绩管理系统。 (3)在记录学生成绩之前,系统需要验证这些成绩是否有效。
2、首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。 (4)对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。 (5)若一门课程的 所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试
3、委员会审查。 (6)在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告返还系统。 (7)根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。 现采用 结构化方法对这个系统进行分析与设计,得到如题图 1 1所示的顶层数据流图和题图 1 2所示的 0层数据流图。1 使用说明中的词语,给出题图 1 1中的外部实体 E1 E4的名称。 2 使用说明中的词语,给出题图 1 2中的数据存储 D1 D5的名称
4、。3 数据流题图 1 2缺少了三条数据流,根据说明及数据流题图 1 1提供的信息,分别指出这三条数据流的起点和终点。4 数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。简要说明程序流 程图的适用场合与作用。 4 阅读下列说明,回答问题 1至问题 3,将解答填入答题纸的对应栏内。 【说明】 某医院的门诊管理系统实现了为患者提供挂号、处方药品收费的功能。具体的需求及设计如下。 (1)医院医师具有编号、姓名、科室、职称、出诊类型和出诊费用,其中出诊类型分为专家门诊和普通门诊,与医师职称无关;各个医师可以具有不同的出诊费用,与
5、职称和出诊类型无关。 (2)患者首先在门诊挂号处挂号,选择科室和医师,根据选择的医师缴纳挂号费 (医师出诊费 )。收银员为患者生成挂号单,如题表 2-1所示,其中,就诊类型为医师的 出诊类型。(3)患者在医师处就诊后,凭借挂号单和医师手写处方到门诊药房交费买药。收银员根据就诊号和医师处方中开列的药品信息,查询药品库 (如题表 2-2所示 ),并生成门诊处方单 (如题表 2-3所示 )。(4)由于药品价格会发生变化,因此,门诊管理系统必须记录处方单上药品的单价。根据需求阶段收集的信息,设计的实体联系图和关系模式 (不完整 )如题图 2-1所示。 实体联系图。 关系模式。 挂号单 (就诊号,病患姓
6、名,医师编号,时间, _(5) 收银员 (编号,姓名,级别 ) 医师 (编号,姓名,科室,职称,出 诊类型,出诊费用 ) 门诊处方(_(6),收银员,时间 ) 处方明细 (就诊号, _(7) 药品库 (药品编码,药品名称, _(8) 5 根据问题描述,填写题图 2-1实体联系图中 (1) (4)处联系的类型。 6 题图 2-1中还缺少几个联系 ?请指出每个联系两端的实体名,格式如下: 实体 1:实体 2 例如,收银员与门诊处方之间存在联系,表示为:收银员:门诊处方或门诊处方:收银员。 7 根据实体联系题图 2-1,填写挂号单、门诊处方、处方明细和药品库关系模式中的空 (5) (8)处 ,并指出
7、挂号单、门诊处方和处方明细关系模式的主键。 7 阅读下列说明和图,回答问题 1至问题 4,将解答填入答题纸的对应栏内。 【说明】 已知某唱片播放器不仅可以播放唱片,而且可以连接电脑并把电脑中的歌曲刻录到唱片上 (同步歌曲 )。连接电脑的过程中还可自动完成充电。 关于唱片,还有以下描述信息。 (1)每首歌曲的描述信息包括:歌曲的名字、谱写这首歌曲的艺术家以及演奏这首歌曲的艺术家。只有两首歌曲的这三部分信息完全相同时,才认为它们是同一首歌曲。艺术家可能是一名歌手或一支由 2名或 2名以上的歌手所组成的乐队。一名歌 手可以不属于任何乐队,也可以属于一个或多个乐队。 (2)每张唱片由多条音轨构成;一条
8、音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上;同一首歌曲在一张唱片中最多只能出现一次。 (3)每条音轨都有一个开始位置和持续时间。一张唱片上音轨的次序是非常重要的,因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么 (如果存在的话 )。 根据上述描述,采用面向对象方法对其进行分析与设计,得到了如题表 3-1所示的类列表、如题图 3-1所示的初始类图以及如题图 3-2所示的描述播放器行为的 UML状态图 。 8 根据说明中的描述,使用题表 3 1给出的类的名称,给出题图 3 1中的 A F所对应的类。 9 根据说明中的描述,给出题图 3 1中 (1) (6)处
9、的多重度。 10 题图 3 1中缺少了一条关联,请指出这条关联两端所对应的类以及每一端的多重度。 11 根据题图 3 2所示的播放器行为 UML状态图,给出从 “关闭 ”状态到 “播放 “状态所经过的最短事件序列 (假设电池一开始就是有电的 )。 12 阅读下列说明和 C语言函数,将应填入 (n)处的字句写在答题纸的对应栏内。 【说明】 在一个分布网络中,资源 (石 油、天然气、电力等 )可从生产地送往其他地方。在传输过程中,资源会有损耗。例如,天然气的气压会减少,电压会降低。我们将需要输送的资源信息称为信号。在信号从信源地送往消耗地的过程中,仅能容忍一定范围的信号衰减,称为容忍值。分布网络可
10、表示为一个树形结构,如题图4-1所示。信号源是树根,树中的每个节点 (除了根 )表示一个可以放置放大器的子节点,其中某些节点同时也是信号消耗点,信号从一个节点流向其子节点。每个节点有一个 d值,表示从其父节点到该节点的信号衰减量。例如,在题图 4-1中,节点 w、 p、 q的 d值分别为 2、 1、 3,树根节点表示信号源,其 d值为 0。 每个节点有一个 M值,表示从该节点出发到其所有叶子的信号衰减量的最大值。显然,叶子节点的 M值为 0。对于非叶子 j, M(j)=maxM(k)+d(k) k是 j的孩子节点 。在此公式中,要计算节点的 M值,必须先算出其所有子节点的 M值。 在计算 M值
11、的过程中,对于某个节点 i,其有一个子节点 k满足 d(k)+M(k)大于容忍值,则应在 k处放置放大器,否则,从节点 i到某叶子节点的信号衰减量会超过容忍值,使得到达该叶子节点时信号不可用,而在节点 i处放置放大器并不能解决到达叶子节点的信号衰 减问题。例如,在题图 4-1中,从节点 p到其所有叶子节点的最大衰减值为 4。若容忍值为3,则必须在 s处放置信号放大器,这样可使得节点 p的 M值为 2。同样,需要在节点 q、 v处放置信号放大器,如题图 4-2阴影节点所示。若在某节点放置了信号放大器,则从该节点输出的信号与信号源输出的信号等价。函数placeBoosters(TreeNode*r
12、oot)的功能是:对于给定树形分布网络中各个节点,计算其信号衰减量的最大值,并确定应在树中的哪些节点放置信号放大器。 全局变量Tolerance保存信号衰减容忍值。树的节点类型 定义如下: typedef struct TreeNode int id; *当前节点的识别号 * int ChildNum; *当前节点的子节点数目 * int d; *父节点到当前节点的信号衰减值 * struct TreeNode* childptr; *向量,存放当前节点到其所有子节点的指针 * int M; *当前节点到其所有子节点的信号衰减值中的最大值 * bool boost; *是否在当前节点放置信号放
13、大器的标志 * TreeNode; 【 C语言函数】 Void placeBoosters(TreeN0de *root) *计算 root所指节点处的衰减量,如果衰减量超出容忍值,则放置放大器 * TreeNode *p; int i,degradation; if(_(1) degradation=0; root- M=0; i=0; if(i =root- ChildNum) return; p=_(2); for(; i root- childNum 13 阅读下列说明和 C+代码,将应填入 (n)处的字句写在答题纸的对应栏内。 【说明】 已知某企业的采购审批是分级进行的,即根据采购金
14、额的不同由不同层次的主管人员来审批,主任可以审批 5万元以下 (不包括 5万元 )的采购单,副董事长可以审批 5万元至 10万元 (不包括 10万元 )的采购 单,董事长可以审批 10万元至 50万元 (不包括 50万元 )的采购单, 50万元及以上的采购单就需要开会讨论决定。 采用责任链设计模式 (Chain of Responsibility)对上述过程进行设计后得到的类图如题图 5 1所示。【 C+代码】 #include string #include iostream using namespace std; class PurchaseRequest public: double
15、Amount; 一个采购的金额 int Number; 采购单编号 string Purpose; 采购目的 ;class Approver 审批者类 public: Approver()successor=NULL; virtual void ProcessRequest(PurchaseRequest aRequest) if(successor!=NULL) successor-_(1); void SetSuccessor(Approver*aSuccessor)successor=aSuccessor; private: _(2)successor;; class Congress:
16、 public Approverpublic: void ProcessRequest(PurchaseRequest aRequest) if faRequest imount =500000) *决定是否审批的代码省略 * else _(3) ProcessRequest(aRequest); ;clasd mirector: public Approverpublic: void ProcessRequest(PurchaseRequest aRequest) *此处代码省略 * ;class President: public Approverpublic: void ProcessR
17、equest(PurchaseRequest aRequest) *此处代码省略 * ;class VicePresident: public Approverpublic: void ProcessRequest(PurchaseRequest aRequest) *此处代码省略 * ;void main() Congress Meeting; VicePresident Sam; Director Larry; President Tammy; 构造责任链 Meeting SetSuccessor(NULL); Sam SetSuccessor(_(4); Tammy SetSuccess
18、or(_(5); Larry SetSuccessor(_(6); PurchaseRequest aRequest; 构造一采购审批请求 cin aRequest Amount; 输入采购请求的金额 _(7) ProcessRequest(aRequest); 开始审批 return; 14 阅读下列说明和 Java代码,将应填入 (n)处的字句写在答题纸的对应栏内。 【说明】 已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批 5万元以下 (不包括 5万元 )的采购单,副董事长可以审批 5万元至 10万元 (不包括 10万元 )的采购单,董事长可
19、以审批 10万元至 50万元 (不包括 50万元 )的采购单, 50万元及以上的采购单就需要开会讨论决定。 采用责任链设计模式 (Chain of Responsibility)对上述过程进行设计后得到的类图如题图 6-1所示。【 Java代码】 class PurchaseRequest public double Amount; 一个采购的金额public int Number; 采购单编号 public String Purpose; 采购目的 ;class Approver 审批者类 public Approver() successor=null; public void Proce
20、ssRequest(PurchaseRequest aRequest) if(successor!=null)successor _(1); public void SetSucces sor(Approver aSuccesssor)successor=aSuccesssor; private _(2) successor;class CongresS extends Approver public void ProcessRequest(PurchaseRequest aRequest) if(aRequest Amount =500000) *决定是否审批的代码省略 * else _(3
21、) ProcessRequest(aRequest); ; class Director extends Approver public void ProcessRequest(PurchaseRequest aRequest) *此处代码省略 * ; class President extends Approver public void Proces sRequest(PurchaseRequest aRequest) *此处代码省略 * ; class VicePresident extends Approver public void ProcessRequest(PurchaseRe
22、quest aRequest) *此处代码省略 * ; public class rs public static void main(String args)throws IOException Congress Meeting=new Congress(); VicePresident Sam=new VicePresident(); Director Larry=new Director(); President Tammy=new President(); 构造责任链 Meeting SetSuccessor(null);Sam SetSucces sor(_(4) ); Tammy
23、SetSuccessor(_(5); Larry SetSuccessor(_(6); 构造一采购审批请求 PurchaseRequest aRequest =new PurchaseRequest(); BufferedReader br=new BufferedReader(new InputStreamReader(System in); aRequest Amount=Double parseDouble(br readLine(); _(7) ProcessRequest(aRequest); 开始审批 return; 软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 71
24、答案与解析 一、必答题(共 4道大题, 每道大题 15分) 1 【正确答案】 E1:考试委员会 E2:主讲教师 E3:学生或选课学生 E4:教务处 【试题解析】 外部实体是在系统边界之外的个人和组织,它提供数据,或者接受数据输出。根据主要功能描述,学生成绩 “均由每门课程的主讲教师上传给成绩管理系统 ”,所以主讲教师是一个外部实体,根据顶层数据流图,得知 E2为主讲教师。由 “对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处 ”、成绩 “已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全 ”可知, E4为教务处 。由 “根据主讲教师核对后的成绩
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 下午 应用技术 试题 模拟 71 答案 解析 DOC
