2013年上半年软考《软件设计师》下午模拟试卷二

0
收藏   分享
  • 卷面总分:75分
  • 试卷类型:模拟考试
  • 测试费用:免费
  • 答案解析:是
  • 练习次数:42次
  • 作答时间:150分钟
试卷简介
本套试卷由我们组织考试领域的权威专家执笔编写。专家在全面统计分析往年考试的分值分布及命题规律后,力争将考试命题的趋势融进这套试题中,帮助考生进行高质量的考前实战训练。
试卷预览
1

阅读下列算法说明和流程图,根据要求回答问题1~问题3。

 [说明]

 某机器上需要处理n个作业job1,job2,…,jobn,其中:

 (1)每个作业jobi(1≤i≤n)的编号为i,jobi有一个收益值P[i]和最后期限值d[i];

 (2)机器在一个时刻只能处理一个作业,而且每个作业需要一个单位时间进行处理,一旦作业开始就不可中断,每个作业的最后期限值为单位时间的正整数倍;

 (3)job1~jobn的收益值呈非递增顺序排列,即p[1]≥p[2]≥…≥p[n];

 (4)如果作业jobi在其期限之内完成,则获得收益p[i];如果在其期限之后完成,则没有收益。

 为获得较高的收益,采用贪心策略求解在期限之内完成的作业序列。图3-25是基于贪心策略求解该问题的流程图。

 (1)整型数组J[]有n个存储单元,变量k表示在期限之内完成的作业数,J[1..k]存储所有能够在期限内完成的作业编号,数组J[1..k)里的作业按其最后期限非递减排序,即d[J[1]]≤…≤d[J[k]]。

 (2)为了便于在数组J中加入作业,增加一个虚拟作业job0,并令d[0]=0,J[0]=0。

 (3)算法大致思想是:先将作业job1的编号1放入J[1],然后,依次对每个作业jobi(2≤i≤n)进行判定,看其能否插入到数组J中。若能,则将其编号插入到数组J的适当位置,并保证J中作业按其最后期限非递减排列;否则不插入。

 jobi能插入数组J的充要条件是:jobi和数组J中已有作业均能在其期限之内完成。

 (4)流程图中的主要变量说明如下。

 i:循环控制变量,表示作业的编号;

 k:表示在期限内完成的作业数;

 r:若jobi能插入数组J,则其在数组J中的位置为r+1;

 q:循环控制变量,用于移动数组J中的元素。

请将图3-25中的(1)~(3)空缺处的内容填写完整。

1

阅读以下技术说明,根据要求回答问题1~问题4。

 [说明]

 某汽车停车场欲建立一个信息系统,已经调查到的需求如下。

 1.在停车场的入口和出口分别安装一个自动栏杆、一台停车卡打印机、一台读卡器和一个车辆通过传感器等,其示意图见如图3-21所示。

 

 2.当汽车到达入口时,驾驶员按下停车卡打印机的按钮获取停车卡。当驾驶员拿走停车卡后,系统命令栏杆自动抬起;汽车通过入口后,入口处的传感器通知系统发出命令,栏杆自动放下。

 3.在停车场内分布着若干个付款机器。驾驶员将在入口处获取的停车卡插入付款机器,并缴纳停车费。付清停车费之后,将获得一张出场卡,用于离开停车场。

 4.当汽车到达出口时,驾驶员将出场卡插入出口处的读卡器。如果这张卡是有效的,系统命令栏杆自动抬起;汽车通过出口后,出口传感器通知系统发出命令,栏杆自动放下。若这张卡是无效的,系统不发出栏杆抬起命令而发出告警信号。

 5.系统自动记录停车场内空闲的停车位的数量。若停车场当前没有车位,系统将在入口处显示“车位已满”信息。这时,停车卡打印机将不再出卡,只允许场内汽车出场。

 根据上述描述,采用面向对象方法对其进行分析与设计,得到如表3-11所示的类/用例/状态列表,如图3-22所示的用例图,如图3-23所示的初始类图以及如图3-24所示的描述入口自动栏杆行为的UML状态图。

根据说明中的描述,使用表3-11给出的用例名称,给出图3-22中U1、U2和U3所对应的用例。