【说明】 使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由C语言书写,请按要求回答问题。 int isLeap (int year) { if (year % 4 == 0) { if (year % 100 == 0) { if ( year % 400 == 0) leap = 1; else leap = 0; } else leap = 1; } else leap = 0; return leap; } 【问题1】(3分) 请画出以上代码的控制流图。
第1题:
已知能被4整除而不能被100整除的或者能被400整除的年份是润年,则判断某一年是否是润年的程序如下: #inlcude <stdio.h> int main() { int year,leap; scanf("%d",&year); if(year%4==0&&year%100!=0||year%400==0) leap=1; else leap=0; if(________ ) printf(“是润年”); else printf(“不是润年”); return 0; }
第2题:
判断闰年的函数,把下列语句补充完整。 leap.year <- function (year) { ifelse (, TRUE, FALSE) }
A.(year %% 4 == 0 & year %% 100 != 0)
B.(year %% 4 == 0 & year %% 100 != 0) || year %% 400 == 0
C.(year %% 4 == 0 || year %% 100 != 0)
D.(year/4 == 0 & year/100 != 0) || year/400 == 0
第3题:
第4题:
● 针对下列程序段,需要(58)个测试用例可以满足分支覆盖的要求。
int IsLeap(int year)
{
if ( year % 4 == 0 )
{
if ( ( year % 100 == 0 )
{
if ( year % 400 == 0 )
leap = 1;
else
leap = 0;
}
else
leap = 1;
}
else
leap = 0;
return leap;
}
(58)
A.3
B.4
C.6
D.7
第5题:
以下代码用于判断闰年,由C 语言书写。其对应的控制流图如下图所示。 请按要求回答问题。 int isLeap(int year){ int leap; if (year % 4 = = 0){ if (year % 100 = = 0){ if ( year % 400 = = 0) leap = 1; else leap = 0; } else leap = 1; } else leap = 0; return leap; } (1)请画出控制流图,并计算圈复杂度V(G)。 (2)找出独立路径。
第6题:
阅读下列说明,回答问题1至问题3。
【说明】
使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由C语言书写,请按要求回答问题。
int IsLeap(int year)
{
if(year% 4==0)
{
if((year % 100==0)
{
if( year % 400==0'
leap=1;
eIse
leap=0;
}
else
leap=1;
else
leap=0;
return leap;
}
请画出以上代码的控制流图。
请计算上述控制流图的V(G)。
假设的取值范围是1000<year<2001,请使用基本路径测试法为变量year设计测试用例,使之满足基本路径覆盖的要求。
请帮忙给出每个问题的正确答案和分析,谢谢!
第7题:
针对下列程序段,需要(58)个测试用例可以满足分支覆盖的要求。 int IsLeap(int year) { if(year % 4==0) { if((year % 100==0) { if(year % 400==0) leap=1; else leap=0; } else leap=l; } else leap=0; return leap; }
A.3
B.4
C.6
D.7
第8题:
下面程序是判断某一个是否为闰年,请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。(闰年的条件是符合下面两者之一:①能被4整除,但不能被100整除;②能被4整除,又能被100整除)。
注意:不改动程序的结构,不得增行或删行。
import java.io.*;
public class LeapYear
{
public static void main(String args[])
{
int year=1979;
if((year %4= =0 || year % 100 !=0) || (year % 400= =0))
System.out.println(year+"是闰年.");
else
System.out.println(year+"不是闰年。");
year=2000;
boolean leap;
if(year % 4 !=0)
leap=false;
else if(year % 100 !=0)
leap=true;
else if(year % 400 !=0)
leap=false;
else
leap=true;
if(______)
System.out.println(year+"是闰年。");
else
System.out.println(year+"不是闰年。");
year=2010;
if(year % 4= =0)
{
if(year % 100= =0)
{
if(year % 400= =0)
leap=true;
else
______
}
else
leap=false;
}
if(1eap= =true);
System.out.println(year+"是闰年。");
else
System.out.println(year+"不是闰年。");
}
}
第9题:
阅读下列说明,回答问题1至问题3。
【说明】
以下代码由C语言书写,能根据指定的年、月计算当月所含天数。
int GetMaxDay( int year, int month )
{
int maxday = 0;
if ( month >= 1 && month <= 12 )
{
if ( month == 2 )
{
if ( year % 4 == 0 )
{
if ( year % 100 == 0 )
{
if ( year % 400 == 0 )
maxday = 29;
else
maxday = 28;
}
else
maxday = 29;
}
else
maxday = 28;
}
else
{
if ( month == 4 || month == 6 || month == 9 || month == || )
maxday = 30;
else
maxday = 31;
}
}
return maxday; }
请画出以上代码的控制流图。
请计算上述控制流图的环路复杂度V(G)。
假设year的取值范围是1000<year<2001,请使用基本路径测试法为变量year、 month设计测试用例(写出year取值、month取值、maxday预期结果),使之满足基本路径覆盖要求。
请帮忙给出每个问题的正确答案和分析,谢谢!