- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.51996年度软件设计试题解析
6.5 1996年度软件设计试题解析
共3道软件设计试题。试题1是一道流程图填空修改题,考查的是蛇形矩陈的生成,很明显,这里没有固定的算法,只能依照试题说明提供的两个示例从流程图中寻找算法的实现,对考生的能力要求较高。试题2比较平实,涉及了错误查找、文件数据项和提高处理速度的途径3个方面,比较容易。试题3是一道关于SQL语言的度题,很明显是注重考查考生对流程图总体的把握。
试题1 (1996年试题1)
阅读下列说明和流程图6-22,回答问题1至问题2,把解答写在答卷的对应栏内。
[说明]
本流程图将数字1,2……,N(N≥2)接逆时针方向依次写在N×N矩阵中。下图给出了N=4和N=5的情况:
1 12 11 10 1 16 15 14 13 2 13 16 9 2 17 24 23 12 3 14 15 8 3 18 25 22 11 4 5 6 7 4 19 20 21 10 (N=4时) 5 6 7 8 9 (N=5时) [问题1]填充流程图中的①~⑥,使之成为完整的流程图。
[问题2]
若将数字1,2……,N2按顺时针方向依次写在N×N矩阵中,则只需将上述流程图中的⑦改成⑧即可。
【解析】
粗读流程图可知,程序开始先初始化M和K为1,然后就进入一个大循环。在这个大循环中,包括4个循环①、②、③、④。在循环①中J值不变,I 值每循环一次加1,即列号不变,行号递增,是从上往下将值写入矩阵中;在循环③中J值不变,J值每循环一次减1,即列号不变,行号递减,是从下往上将值写入矩阵中;在循环④中J值不变,I值每循环一次减1,即行号不变,列号递减,是从右往左写入矩阵中;4个小循环结束以后,K值加1。
由于本题的功能是将自然数按逆时针方向依次写在N×N矩阵的一圈,而外层循环的功能则是控制里面循环的次数,即总共写几次,也即N×N矩阵总共有几圈,所以K的功能的功能则是控制我层循环的次数,同时也控制写入第几圈及开始写入的位置。
而M的功能则相对简单,M在每个小循环中都是递增,且其值被赋给矩阵的元素,可知 M为填入矩阵的值,它对循环没有什么影响。
在任一圈上依次按4条边写入矩阵时,每一边的起点都在对角线上,终点都不在对角线上,每一边要写入的元素的个数都相同,当前的圈数为K,则每一边所应写入矩阵的元素的个数均为N-24K+1,即写入每一边的小循环次数应为N-2K+1。
再仔细阅续每个小循环的流程图。循环①的功能是从上往下写数,那么其结束的标志应该是已经把这一列写完了,该边行的起始位置为K,所以结束条件就为I:N-K,这样总的循环次数为N-2K+1。
循环②的功能是从左右写数,那么其结束的标志应该是已经把这一行写完了,该边列的起始位置为K,所结束条件就为J:N-K,这样总的循环次数为N-2K+1。
循环③的功能是从下往上写数,那么其结束的标志应该是已经把一行写完了,该边行的起始位置为N-K+1,所以结束条件就为I:K+1,这样总的循环次数为N-2K+1。
循环④的功能是从右往左写数,那么其结束的标志应该是已经把这一行写完了,该边行的起始位置为N-K+1,所以结束条件就为J:K+1,这样总的循环次数为N-2K+1。
外循环每循环一次,K值加1,若K大于N/2,此时已达到矩阵中心,则外层循环结束;否则尚未达到矩阵中心,则从A[K,K]开始重复上述操作。若已达到矩阵中心,又有两种情况:若N为偶数,则所有的元素均填写完毕,程序结束;若N为奇数,则矩阵中心元素所以⑤的答案为MOD(J,2):0或其他任何能判断出N的奇偶性的表达式。
观察矩阵可知,只要将按逆时针方向写入得的到的矩阵置,即将矩阵的行列互换,就得到将字1,2……, N2按顺量针方向写入得到的矩阵。在流程图中,I中代表行,J代表列,将J与I互换即可达到行到互换的目的,所以只要将A[I,J]改成A[I,J]即可得到按顺时针方向写成的N×N矩阵。
【答案】
[问题1]
①I:N-K 或 I:N-J 或 M:4(K-1)(N-K+1)+N-2K+1
②J:N-K 或 J:I-1 或 M:4(K-1)(N-K+1)+2(N-2K+1)
③I:K+1 或 I:N+2-J 或 4(K-1)(N-K+1)+3(N-2K+1):M
④J:K+1 或 J:I+1 或 4K(N-K):M
⑤MOD(N,2):0 或 [N/2]*2:N 或 [N/2]:[N+1/2] 或 N/2: [N/2] 或 [N/2]:[N/2] 或 N:2(K-1) 或 I+N=N 或 M-1:N2
⑥→A[K,K]
[问题2]
⑦A[I,J] 或 M→A[I,J]
⑧A[J,I] 或 M→A[J,I]
试题2(1996年试题2)
阅读下列说明和流程图6-23,回答问题1至问题3,把解答写在答卷的对应栏内。
[说明]
本流程
文档评论(0)