首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和流程图,从供选择的答案中选出应填入流程图(n)处的字句写在对应栏内。 【说明】 一个印刷电路板的布线区域可分成n×m个方格,如图4-1(a)所示,现在需要确定电路板中给定的两个方格的中心点之间的最短布线方案。电路只能沿水平或垂直方向布
阅读以下说明和流程图,从供选择的答案中选出应填入流程图(n)处的字句写在对应栏内。 【说明】 一个印刷电路板的布线区域可分成n×m个方格,如图4-1(a)所示,现在需要确定电路板中给定的两个方格的中心点之间的最短布线方案。电路只能沿水平或垂直方向布
admin
2013-05-11
48
问题
阅读以下说明和流程图,从供选择的答案中选出应填入流程图(n)处的字句写在对应栏内。
【说明】
一个印刷电路板的布线区域可分成n×m个方格,如图4-1(a)所示,现在需要确定电路板中给定的两个方格的中心点之间的最短布线方案。电路只能沿水平或垂直方向布线,如图4-1 (b)中虚线所示。为了避免线路相交,应将已布过线的方格做成封锁标记,其他线路不允许穿过被封锁的方格。
设给定印刷电路板的起始方格x与目的方格y尚未布线,求这两个方格间最短布线方案的基本思路是:从起始方格x开始,考查与起始方格距离为k的某一个可达方格是目标方格y时为止,或者由于不存在从x到y的布线方案而终止。布线区域中的每一个方格与其相邻的上、下、左、右4个方格之间的距离为1,依次沿下、右、上、左这4个方向考查,并用一个队列记录可达方格的位置。表4-1给出了沿这4个方向前进1步时相对于当前方格的相对偏移量。
例如,设印刷电路板的布线区域可划分为一个6×8的方格阵列,如图4-2(a)所示,其中阴影表示已封锁方格。从起始方格x(位置[3,2],标记为0)出发,按照下、右、上、左的方向依次考查,所标记的可达方格如图4-2(a)所示,目标方格为y)位置[4,7],标记为10),相应的最短布线路径如图4-2(b)虚线所示。
如图4-3和图4-4所示的流程图即利用上述思路,在电路板方格阵列中进行标记,图中使用的主要符号如表4-2所示。在图4-4中,设置电路板初始格局,即将可布线方格置为数值-1、已布线方格(即封锁方格)置为-9。设置方格阵列“围墙”的目的是省略方格位置的边界条件判定,方法是在四周附加格,并将其标记为-9(与封锁标记相同)。
供选择的答案:
[a]Found≠true
Found=true
[c]T=EndPos [d]Q.insert(T)
[e]T←Q.delete() [f]CurPos=EndPos
[g]i
4 [h]CurPos←Q.delete()
Grid[T.row,T.col]=-1 [j]Grid[T.row,T.col]≠-1
选项
答案
(1)[i]或i (2)[c]或c (3)[d]或d (4)[a]或a (5)[h]或h
解析
该流程实现的功能是为印刷电路板选择布线路径,路经中的每一小步都只能走垂直线或水平线,而且要求得到的路径是最短路径。
图4-3是该算法的整体流程,包含了变量的初始化及输入输出,以及调用了子过程findPath。findPath子过程才是关键的处理(如图4-4所示)。
findPath中,先设置offset数组的元素值,并创建空队列。然后将当前位置CurPos置为起始位置StartPos,并将标记Found置为false,表示当前还没找到路径,接着将当前方格置为0 (Grid数组中的对应元素),表示起始点。进入循环,将i赋初值为0,从接着的判定的条件i< 4及offset
.r可以断定,变量i就是表4-1中的“搜索顺序i”,所以紧接着的语句“T.row←CurPos.row+offset
.r”和“T.col←CurPos.col+offset
.c”就是求下一个要走的单元格(临时方格T)的行坐标和列坐标。然后是判定(1),若不成立,则直接将i加1,向另一个方向继续搜索,意味着临时方格T不能布线(值为-9)或已经判断过(值大于等于0);若成立,则将临时方格置为当前方格值加1,表示到起始方格的距离增加1,亦即可以布线且尚未判断过。根据题述,方格的初始值为-1表示可以布线,故判定(1)应为“Grid[T.row,T.col] =-1”,即选项i。
接着是判定(2),若成立则执行语句“Found←true”,意味着找到了解,即临时方格已经是目标方格。故判定(2)应为“T=EndPos”,即选项c。判定(2)不成立时,执行加工(3),这里应该是入队操作,将临时方格入队,故加工(3)应为“Q.insert(T)”,即选项d。接着将i值加1,继续搜索。
当判定“i<4且Found=false”不成立时,有两种情况:一种是i>=4,另一种是Found=true。判定(4)若不成立返回true,意味着找到了解,故判定(4)应为“Found≠true”,即选项a。这样,若判定(4)成立,意味着i>=4,即4个方向均已搜索,接着判断队列是否为空,若非空,则出队继续查找,进程(5)自然是出队操作了,但是出队给哪个变量呢?是临时方格T还是当前方格CurPos?其实很容易判断,从最近的语句“T.row←CurPos.row+offset
.r”和“T.col←CurPos.col+offset
.c”可得应为当前方格CurPos,故应为“CurPos←Q.delete()”,即选项h。
转载请注明原文地址:https://kaotiyun.com/show/kERZ777K
本试题收录于:
软件设计师上午基础知识考试题库软考中级分类
0
软件设计师上午基础知识考试
软考中级
相关试题推荐
下列文件中属于逻辑结构的文件是(8)。
IIS安装的硬盘分区最好选用NTFS格式,这是因为(1)和(2)。A.可以针对某个文件或文件夹给不同的用户分配不同的权限B.可以防止网页中的Applet程序访问硬盘中的文件C.可以使用系统自带的文件加密系统对文件或文件夹进行加
在Linux操作系统中提供了大量的网络配置命令,其中不带参数的route命令用来查看本机的路由信息,(70)命令也可以完成该项功能。
Themetricassignedtoeachnetworkdependsonthetypeofprotocol.Somesimpleprotocol,likeRIP,treatseachnetworkasequals.
关于明文和密文,叙述不正确的是(1)。对明文字母重新排列,并不隐藏它们的加密方法属于(2);在20世纪70年代之前使用的加密机制为(3):DES算法即采用了这种加密技术;公钥加密体制中,没有公开的是(4),下面描述正确的是(5)。(1)
在Windows环境下,DHCP客户端可以使用(1)命令重新获得IP地址,这时客户机向DHCP服务器发送一个(2)数据包来请求租用IP地址。(2008年上半年试题)(1)
SCSI是一种通用的系统级标准输入/输出接口,其中(65)标准的数据宽度16位,数据传送率达20MB/s。大容量的辅助存储器常采用RAID磁盘阵列。RAID的工业标准共有六级。其中,(66)是镜像磁盘阵列,具有最高的安全性;(67)是无独立校验盘的奇偶校验
(1)nv[i-1][j]≥nv[i-1][j-p[i]]+v[i](2)nv[i][j]=nv[i-1][j](3)j=j-p[i]问题1中伪代码的时间复杂度为(6)(用O符号表示)。
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】某医疗护理机构为老年人或有护理需求者提供专业护理,现欲开发一个基于Web的医疗管理系统,以改善医疗护理效率,该系统的主要功能如下:(1)通用信息查询,客户提交通
随机试题
Whenyousendaletterorapostcard,youhavetoputstampsontheenvelopeoronthecard.Whendidpeoplefirstbegintouse
A.升降浮沉B.五味C.四气D.归经E.有毒无毒相对于所治疾病的病势而言的中药性能是
目前我国引起产妇死亡占首位的原因是( )。
A.蛤蚧B.菟丝子C.肉苁蓉D.巴戟天E.杜仲既补肾阳,又益肝明目的药是
“十一五”时期我国能源建设所依据的原则是()。
怀孕女职工在劳动时间内需要进行产前检查的,应当算作()。
学生心理发展的基本特征是:连续性与______、定向性与______、不平衡性与差异性。
档案主要是从公文转化而来的,今天的档案是昨天的公文。()
已知如下代码:switch(m){case0:System.out.println("Condition0");case1:System.out.println("Condition1");case2:Sys
FromthebeginningoftheRepublic,Americanshaveenjoyedaccusingthefirstmagistrateofkinglyambition.Sometimesseriously
最新回复
(
0
)