一个程序的控制流图中有6个节点,1 0条边,在测试用例数最少的情况下,确保程序中每个可执行语句至
A.2 B.4 C.6 D.8
A.2 B.4 C.6 D.8
阅读下列说明,回答问题1至问题3。
【说明】
以下代码由C语言书写,在输入3个整数后,能够输出最大数和最小数。
int main(void)
{
int a, b, c, max, min;
printf("input three numbers: ");
scanf("%d%d%d", &a, &b, &c);
if(a>b) /*判断1*/
{
max=a;
min=b;
}
else
{
max=b;
min=a;
}
if(max<c) /*判断2*/
max=c;
else if(min>c) /*判断3*/
min=c;
printf("max=%d\nmin=%d", max, min);
return 0;
}
请画出该程序段的控制流图,并分析该控制流图中有多少条线性独立路径(V(G)的值)。
为了用分支(判定)覆盖方法测试该程序,需要设计测试用例,使其能对该程序中的每个判断语句的各种分支情况全部进行过测试。
对两组输入数据(1)a=3,b=5,c=7;(2)a=4,b=6,c=5,请分别写出程序中各个判断语句的执行结果(以T表示真,以F表示假),填入答题纸的相应栏中。
上述两组测试数据是否能实现该程序的分支(判定)覆盖?如果能,请说明理由。如果不能,请再增设一组输入数据,使其能实现分支(判定)覆盖。
请帮忙给出每个问题的正确答案和分析,谢谢!
阅读下列程序和控制流图,将应填入(n)的字句。
【程序】
下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。
int GetMax(int n,int datalist[]){
int k=0;
for(int j=1;j<n;j++)
if(datalist[j]>datalist[k])
k=j;
return k;
}
该程序的控制流图中A~E分别是什么?
阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。
【C程序】
【问题1】(6分)
请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。
【问题2】(9分)
请画出上述程序的控制流图,并计算其环路复杂度V(G)。
【问题3】(5分)
请给出问题2中控制流图的线性无关路径。
给出以下程序的控制流图。 (1)read(A,B) F=1 C=A*A D=B*B if C<D goto L1 E=A*A F=F+1 E=E+F Write(E) stop L1: E=B*B F=F+2 E=E+F Write (E) if E>i00 goto L2 STOP L2: F=F-1 goto L1 (2)read(C) A=0 B=1 L1: A=A+B if B≥C goto L2 B=B+1 goto L1 L2: write(A) STOP
阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。 【C程序】 int count(int x,int z){ inty=0; while(x>0){ //l if(x==1) //2 y=7; //3 else{ //4 y=x+z+4; if(y=7||y=21) //5,6 x=1; //7 } x--; //8 } return y; //9 }
【问题1】(3分) 请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。 【问题2】(7分) 请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。 【问题3】(5分) 请给出问题2中控制流图的线性无关路径。
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现
程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。
【问题1] (6分)
请给出满足100%DC(判定覆盖)所需的逻辑条件。
【问题2] (10分)
请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
【问题3](4分)
请给出问题2中控制流图的线性无关路径。
一个二阶IIR滤波器的系统函数为
现用b位字长的定点制运算实现它,尾数作舍入处理。
(1)试计算直接I型及直接II型结构的输出舍入噪声方差
(2)如果用一阶网络的级联结构来实现H(z).则共有六种网络流图.试画出有运算舍入噪声时的每种网络流图并计算每种流图的输出舍入噪声方差。
(3)用并联结构实现H(z),计算输出舍入噪声方差。几种结构相比较.运算精度哪种最高,哪种最低?
(4)考虑动态范围,因为系统中任一节点的输出值(包括整个系统的输出节点)等于从输入到此节点的单位冲激响应与系统输入的卷积和,可以表示成
其中yi(n)为第i个节点的输出,hi(n)为从输入到第i个节点的单位抽样响应。对于输出节点来说yi(n)=y(n),hi(n)=h(n)。由上式可得
也就是说,一个网络的最大输出电平不一定在输出端.可能在某一中间节点,利用这一关系以及xmax,试求以上各种网络中每一个的最大ymax.要求网络的所有节点上都不发生溢出,即要最大输出ymax<1.这样即可求得最大的输入xmax(不发生溢出时)。试求以上各个网络的xmax
(5)设输入信号是白噪声序列.它的幅度在-xmax到xmax之间均匀分布.按照已求出的每一滤波器结构的最大输入xmax求每种结构在输出端的噪声信号比值(输出噪声方差与输出信号均方值之比)。问哪种结构输出噪声信号比值最低。
阅读下列说明,回答问题1至问题3。
[说明]
基本路径法设计出的测试用例能够保证在测试中程序的每一条可执行语句至少执行一次。以下代码由C++语言书写,请按要求回答问题。
void ReadPara(CString temp)
{
if(temp==">=")
m_oper.SetCurSel(0);
else
{
if(temp==">")
m_oper.SetCurSel(1);
else
{
if(temp=="==")
m_oper.SetCurSel(2);
else
{
if(temp=="<=")
m_oper.SetCurSel(3);
else
{
if(temp=="<")
m_oper.SetCurSel(4);
else
m_oper.SetCurSel(5);
}
}
}
}
return;
}
请画出以上代码的控制流图。
请计算上述控制流图的环路复杂度V(G)。
请使用基本路径测试法为变量temp设计测试用例,使之满足基本路径覆盖要求。
请帮忙给出每个问题的正确答案和分析,谢谢!
设|V|=n(n>1),当且仅当______,G=<V,E>是强连通图。
A.G中至少有一条路
B.G中至少有一条回路
C.G中有通过每个节点至少一次的路
D.G中有通过每个节点至少一次的回路