软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷84
必答题
阅读下列说明和图,回答问题1至问题4。
【说明】
某现代农业种植基地为进一步提升农作物种植过程的智能化,欲开发智慧农业平台,集管理和销售于一体,该平台的主要功能有:
1.信息维护。农业专家对农作物、环境等监测数据的监控处理规则进行维护。
2.数据采集。获取传感器上传的农作物长势、土壤墒情、气候等连续监测数据,解析后将监测信息进行数据处理、可视化和存储等操作。
3.数据处理。对实时监测信息根据监控处理规则进行监测分析,将分析结果进行可视化并进行存储、远程控制;对历史监测信息进行综合统计分析和预测,将预测信息进行可视化和存储。
4.远程控制。根据监控处理规则对分析结果进行判定,依据判定结果自动对控制器进行远程控制。平台也可以根据农业人员提供的控制信息对控制器进行远程控制。
5.可视化。实时向农业人员展示监测信息;实时给农业专家展示统计分析结果和预测信息或根据农业专家请求进行展示。
现采用结构化方法对智慧农业平台进行分析与设计,获得如图1—1所示的上下文数据流图和图1—2所示的0层数据流图。
1.使用说明中的词语,给出图1—1中的实体E1~E4的名称。
E1:传感器 E2:农业专家 E3:农业人员 E4:控制器
解析:
2.使用说明中的词语,给出图1—2中的数据存储D1~D4的名称。
D1:规则 D2:监测信息 D3:分析结果 D4:预测信息
(注:名称后面可以带有“文件”或“表”)
解析:
3.根据说明和图中术语,补充图1—2中缺失的数据流及其起点和终点。
[*]
解析:
4.根据说明,“数据处理”可以分解为哪些子加工?进一步进行分解时,需要注意哪三种常见的错误?
监测分析、综合统计分析/预测。
有输入但是没有输出、输入不足以产生输出、有输出但没有输入(或黑洞、灰洞、奇迹)。
解析:
阅读下列说明和图,回答问题1至问题3。
【说明】
某游戏公司欲开发一款吃金币游戏。游戏的背景为一种回廊式迷宫(Maze),在迷宫的不同位置上设置有墙。迷宫中有两种类型的机器人:小精灵(Pac Man)和幽灵(Ghost)。游戏的目的就是控制小精灵在迷宫内游走,吞吃迷宫路径上的金币,且不能被幽灵抓到。幽灵在迷宫中游走,并会吃掉遇到的小精灵。机器人游走时,以单位距离的倍数计算游走路径的长度。当迷宫中至少存在一个小精灵和一个幽灵时,游戏开始。
机器人上有两种传感器,使机器人具有一定的感知能力。这两种传感器分别是:
(1)前向传感器(Front Sensor),探测在机器人当前位置的左边、右边和前方是否有墙(机器人遇到墙时,必须改变游走方向)。机器人根据前向传感器的探测结果,决定朝哪个方向运动。
(2)近距离传感器(Front Sensor),探测在机器人的视线范围内(正前方)是否存在隐藏的金币或幽灵。近距离传感器并不报告探测到的对象是否正在移动以及朝哪个方向移动。但是如果近距离传感器的连续两次探测结果表明被探测对象处于不同的位置,则可以推导出该对象在移动。
另外,每个机器人都设置有一个计时器,用于支持执行预先定义好的定时事件。
机器人的动作包括:原地向左或向右旋转90°;向前或向后移动。
建立迷宫:用户可以使用编辑器(Editor)编写迷宫文件,将迷宫文件导入游戏系统建立用户自定义的迷宫。
现采用面向对象分析与设计方法开发该游戏,得到如图3—1所示的用例图以及图3—2所示的初始类图。
5.根据说明中的描述,给出图3—1中U1~U3所对应的用例名。
U1~U3分别为:导入文件、旋转、移动。
(注:3个用例名称正确即可,用例名称和用例编号之间没有严格的对应关系)
解析:
6.图3—1中用例U1~U3分别与哪个(哪些)用例之间有关系,是何种关系?
用例“导入文件”与用例“建立迷宫”之间是包含关系;
用例“旋转”“移动”与用例“操作机器人”之间是泛化关系。
解析:
7.根据说明中的描述,给出图3—2中C1~C8所对应的类名。
C1:Robots;C2:Timer; C3:Pac Man; C4:Ghost;
C5:Sensor: C6:Front Sensor; C7:ProxiSensor; C8:Maze
其中C3、C4可以互换;C6、C7可以互换。
解析:
阅读下列说明和C代码,回答问题1至问题3。
【说明】
生物学上通常采用编辑距离来定义两个物种DNA序列的相似性,从而刻画物种之间的进化关系。具体来说,编辑距离是指将一个字符串变换为另一个字符串所需要的最小操作次数。操作有三种,分别为:插入一个字符、删除一个字符以及将一个字符修改为另一个字符。用字符数组str1和str2分别表示长度分别为len1和len2的字符串,定义二维数组d记录求解编辑距离的子问题最优解,则该二维数组可以递归定义为:
8.根据说明和C代码,填充C代码中的空(1)~(4)。
(1)d[0][j]=j
(2)str1[i—1]==str2[j—1]
(3)d[i—1][j—1]+1
(4)d[1enl][len2]
解析:
9.根据说明和C代码,算法采用了___(5)_____设计策略,时间复杂度为___(6)_____(用O符号表示,两个字符串的长度分别用m和n表示)。
(5)动态规划
(6)O(mn)
解析:
10.已知两个字符串A=\\
(7)4
解析:
11.阅读下列说明和C++代码,将应填入________处的字句写在答题纸的对应栏内。
【说明】
享元(flyweight)模式主要用于减少创建对象的数量,以降低内存占用,提高性能。现要开发一个网络围棋程序,允许多个玩家联机下棋。由于只有一台服务器,为节省内存空间,采用享元模式实现该程序,得到如图5—1所示的类图。
(1)virtual void Draw()=0
(2)Piece*
(3)Piece*
(4)piec
本文档预览:3600字符,共4077字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载