问题
问答题
【算法说明】
下面是一段插入排序的程序,将R[k+1]插入到R[1...k]的适当位置。
R[0]=R[k+1];
j=k;
while(R[j]>R[0])
{
R[j+1]=R[j];
j- -;
}
R[j+1]=R[0];
【流程图】
【测试用例设计】
(while循环次数为0、1、2次)
表4-1 测试用例表
循 环 次 数 | 输入数据 | 预期结果 | 覆盖路径 | ||||||||||
j | R[i-2] | R[i-1] | R[i] | R[i+1] | R[0] | j | R[i-2] | R[i-1] | R[i] | R[i+1] | 约束 | 路径 | |
0 | i | - | - | 1 | 2 | 2 | i | - | - | 1 | 2 | < | (4) |
i | - | - | 1 | 1 | 1 | i | - | - | 1 | 1 | = | ①③ | |
1 | i | - | 1 | 3 | 2 | 2 | i-1 | - | 1 | 2 | 3 | (7) | ①②③ |
i | - | 2 | 3 | 2 | 2 | i-1 | - | (8) | 2 | (9) | >= | ①②③ | |
2 | i | 1 | 3 | 4 | 2 | 2 | i-2 | 1 | 2 | 3 | 4 | >>< | (5) |
i | 2 | 3 | 4 | 2 | 2 | i-2 | 2 | 2 | 3 | 4 | >>= | (6) |
【问题1】 指出算法的流程图中(1)~(3)处的内容。 |
答案
参考答案:
解析:F (2)R[j+1]=R[0] (3)T
[分析]: 本题考查用路径覆盖方法为算法设计足够的测试用例,属于基本概念的送分题。这类题拿分的关键是考生平时对于理论的理解和临场的细心。