1992年高级程序员下午试题2(数字排列)
2011-07-05 18:21
253 查看
阅读下列说明和流程图,回答问题 1 和 2 ,把解答写在答卷的对应栏内。
[说明]
流程图用来按递增顺序产生由数字1,2,3组成的非空序列。规定其产生的每个序列均不存在两个相同的相邻子序列。例如,该流程图产生的前五个序列为:
1
1 2
l 2 1
1 2 l 3
l 2 1 3 l
序列 1211,1212 等均因含有两个相同的相邻子序列,故未被流程图产生。
产生一个序列的方法是,在前一个合理的序列尾部之后添加数字 1,构成一个新序列,然后进行合理性检验。当新的序列不合理时,若新序列尾部为 1,则改为 2;若为 2,则改为 3,然后继续进行检验以寻求下一个合理的序列。当尾部已为 3 时,则删去该数字后,继续进行上述的更改和检验。
本流程图寻找长度小于等于N( 4≤N≤60 )的合理序列。二维数组 A 的每一行用于存放找到的一个序列,其中数组元素 A[I,61] 存放第 I 个序列的长度。
[问题1]
填充流程图中的 ①~⑤,使之成为完整的流程图。
[问题2]
现对流程图中虚线所围的部分给出了下·图所示的简化形式,试填充其中的 ③~⑧,使之成为正确的简化。
答案:
[问题1]
① A(3,61)→J ② I+1→I ③ A(I,J-T-S+1):A(I,J-S+1) ④ A(I,J)+1→A(I,J) ⑤ J→A(I,61)
[问题2]
⑥ A(I,J-T-S+1):A(I,J-S+1) ⑦ S:T ⑧ S+1→S
[说明]
流程图用来按递增顺序产生由数字1,2,3组成的非空序列。规定其产生的每个序列均不存在两个相同的相邻子序列。例如,该流程图产生的前五个序列为:
1
1 2
l 2 1
1 2 l 3
l 2 1 3 l
序列 1211,1212 等均因含有两个相同的相邻子序列,故未被流程图产生。
产生一个序列的方法是,在前一个合理的序列尾部之后添加数字 1,构成一个新序列,然后进行合理性检验。当新的序列不合理时,若新序列尾部为 1,则改为 2;若为 2,则改为 3,然后继续进行检验以寻求下一个合理的序列。当尾部已为 3 时,则删去该数字后,继续进行上述的更改和检验。
本流程图寻找长度小于等于N( 4≤N≤60 )的合理序列。二维数组 A 的每一行用于存放找到的一个序列,其中数组元素 A[I,61] 存放第 I 个序列的长度。
[问题1]
填充流程图中的 ①~⑤,使之成为完整的流程图。
[问题2]
现对流程图中虚线所围的部分给出了下·图所示的简化形式,试填充其中的 ③~⑧,使之成为正确的简化。
答案:
[问题1]
① A(3,61)→J ② I+1→I ③ A(I,J-T-S+1):A(I,J-S+1) ④ A(I,J)+1→A(I,J) ⑤ J→A(I,61)
[问题2]
⑥ A(I,J-T-S+1):A(I,J-S+1) ⑦ S:T ⑧ S+1→S
相关文章推荐
- 1992年高级程序员下午试题1(统计单词的平均空格数和剩余空格数)
- 1992年高级程序员下午试题3(数组操作,流程图)
- 1992年高级程序员下午试题6
- 1993年高级程序员下午试题1(自然数排列)
- 1998年高级程序员级下午试题
- 1998年高级程序员级下午试题
- 1993年高级程序员下午试题2
- 1998年高级程序员级上午试题
- 2005年下半年程序员下午试题
- 软考助手新增加了程序员下午试题
- 高级程序员考试试题分析
- 2004年上半年程序员下午试题
- 2006年上半年程序员下午试题
- 九九八年度程序员级下午试题
- 高级程序员考试英语试题详解(2000~2002)
- 高级程序员考试英语试题详解(2000~2002)
- 2011年上半年软考程序员下午试题-试题一答题解析
- 近三年高级程序员试题知识点比较
- 高级程序员考试英语试题详解(2000~2002)
- 2005年上半年程序员上 下午试题及答案