1. 程式人生 > >【課後習題篇】

【課後習題篇】

add wid top borde 包括 == int 控制流圖 設計

1. 以下代碼是判斷輸入的年份是否為閏年,設計判定覆蓋和條件覆蓋的測試用例.(P206)

if(year<0){
return -1;
}
if((year%4==0&&year%100!=0)||(year%400==0))
{
return 1;
}
else
{
return 0;
}
}

判定覆蓋

測試數據
操作步驟 數據 期望結果 實際結果 測試狀態
1 year=-12 數據不滿足要求 非法數據 YF
2 year=1968 滿足判定閏年條件(能整除4且不能被整除100) 是閏年 YT,AT,BF
3 year=2000 滿足判定閏年條件(能整除400) 是閏年 YT,AF,BT

條件覆蓋

測試數據
操作步驟 數據 期望結果 實際結果 測試狀態
1 year=-12 數據不滿足要求 非法數據 DF
2 year=1968 滿足判定閏年條件(能整除4且不能被整除100) 是閏年 DT,AT,BT,CF
3 year=2000 滿足判定閏年條件(能整除400) 是閏年 DT,AF,BF,CT

2. 以下代碼用於判斷閏年,由C語言書寫,其對應的控制流圖如圖7-14所示。請按要求回答問題(P207)

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)=4
  2. Path1:1-2-10-11-12 Path2: 1-2-3-8-9-11-12 Path3: 1-2-3-4-6-7-9-11-12 Path4: 1-2-3-4-5-7-9-11-12
  3. 測試用例

    條件

    輸出

    用例1

    輸入1000-2001之間能被4整除的數

    1004,1020

    用例2

    輸入1000-2001之間能被4整除但不能被100整除的數

    1880,1968

    用例3

    輸入1000-2001之間能被400整除的數

    1200,1600

3. 某公司招聘人員,其要求為學歷本科及以上,專業為計算機、通信、通信、自動化,年齡22~30歲。請劃分出各條件的有效等價類和無效等價類

輸入條件

有效等價類

無效等價類

學歷

本科及以上

本科以下(不包括本科)

專業

計算機、通信、自動化

其他專業

年齡

22~30歲

22歲以下/30歲以上

【課後習題篇】