最大子段和

2022-08-31 03:48:05 字數 1393 閱讀 4962

請從語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋五個覆蓋標準中(條件組合覆蓋難度較大,鼓勵嘗試,但請謹慎選擇),任選乙個標準設計測試用例

請利用自動測試工具對程式進行測試

請將程式執行結果和自動測試分析結果截圖附到部落格中

設定乙個sum變數來記錄連續子陣列的和,在設定乙個thissum變數,如果thissum>sum,就令sum=thissum。如果thissum<=sum,那麼就要判斷thissum是否小於0,如果小於0,那麼無論後面再加上什麼數字都會讓子陣列變得更小,所以令thissum=0。然後迴圈執行之前的過程,直到整個陣列結束。當所有數都為負數時則定義子段和為0,因為程式一開始sum=0,只有當前thissum>0時sum值才會改變,所以不必再判斷是否每個值都為負數。

1.語句覆蓋:選擇足夠的測試用例,使得程式中每個語句至少都能被執行一次。

2.判定覆蓋:判定覆蓋又稱為分支覆蓋, 執行足夠的測試用例,使得程式中每個判定至少都獲得一次「真」值和「假」值。

3.條件覆蓋:條件覆蓋要求設計足夠多的測試用例,使得判定中的每個條件獲得各種可能的結果。

4.判定/條件覆蓋:執行足夠的測試用例,使得判定中每個條件取到各種可能的值,並使每個判定取到各種可能的結果。

5.組合覆蓋:執行足夠的例子,使得每個判定中條件的各種可能組合都至少出現一次。

程式**:

根據流程圖的判定與條件,我選擇判定/條件覆蓋。每個判定條件獲得的各種結果:1.thissum>sum,2thissum<=sum,3.thissum<0,4.thissum>=0。

選用的樣例如下:

1.資料為3,-4,1,此迴圈中每種判定和條件都出現。

2.資料為1,2,3,4。

3.資料為-1,-2,-3,-4,-5。

4.資料為-2,6,-3,1,5,此迴圈中每一種判定和條件結果都實現。

程式不是特別的難,由於我在程式設計方面有所欠缺,我還是花費了一些時間。由於不是很熟練,在查詢測試用例時還是下了一定的功夫的,以後還是要繼續加油努力吧。

最大子段和

設a 是n個整數的序列,稱為該序列的子串行,其中1 i j n.子串行的元素之和稱為a的子段和.例如,a 2,11,4,13,5,2 那麼它的子段和是 長度為1的子段和 2,11,4,13,5,2 長度為2的子段和 9,7,9,8,7 長度為3的子段和 5,20,4,6 長度為4的子段和 18,15...

最大子段和

問題表述 n個數 可能是負數 組成的序列a1,a2,an.求該序列 例如 序列 2,11,4,13,5,2 最大子段和 11 4 13 20。1 窮舉演算法 o n3 o n2 2 分治法 將序列a 1 n 從n 2處截成兩段 a 1 n 2 a n 2 1 n 例項 三 最大子段和 問題表述 n個...

最大子段和

再給頂的n個數的陣列中選出連續的若干個數,使得他們的和是最大的,即最大連續自序列和.列如.序列.1 2 3 1 6 5 9 結果 當取子串行 3,1,6,5,9 結果12 我的思路.1.最大連續子串行的開頭是在1.n之中.的最大連續和 2.求出以i,開頭的最大連續和,此時開頭已經確定了,那麼通過列舉...