軟體工程第三次個人作業

2022-08-20 05:54:14 字數 909 閱讀 7692

使用窮舉法進行設計,分別求出所有連續子陣列的和,將初始和的最大值設為0,然後與現在的和的最大值進行比較,若和的數值大於目前和的最大值,則替換目前和的最大值,以此找出最大的和,輸出。

本次使用eclipse進行設計,有了上次作業的經驗,本次程式的實現並沒有遇到太多問題。

以下為對個子陣列分別求和的函式,完整程式見末尾coding鏈結。

public static int calculate(int n,int a) ;

int b1=new sum.summax().calculate(5, a1);

assertequals(0,b1);

} @test

public void max2() ;

int b1=new sum.summax().calculate(5, a1);

assertequals(15,b1);

} @test

public void max3() ;

int b1=new sum.summax().calculate(5, a1);

assertequals(20,b1);

}}

下圖為編寫的自動測試程式。

測試及其結果

下圖為手動常規執行測試的樣例

以下為執行junit測試的結果

上圖表明測試結果符合預期,結果正確,程式設計成功。

軟體工程(2019)第三次個人作業

問題 給定n個整數 可能為負數 組成的序列a 1 a 2 a 3 a n 求該序列如a i a i 1 a j 的子段和的最大值。當所給的整數均為負數時定義子段和為0,依此定義,所求的最優值為 max,1 i j n 例如,當 a 1 a 2 a 3 a 4 a 5 a 6 2,11,4,13,5,...

軟體工程第三次作業

影印機的工作過程大致如下 未接到影印命令時處於 閒置 狀態,一旦接到 影印命令 則進入 影印 狀態,完成乙個影印命令 規定的工作後又回到閒置狀態,等待下乙個影印命令 如果執行影印命令時 發現沒紙 則進入 缺紙 狀態,發出警告,等待裝紙,裝滿紙 後進入閒置狀態,準備接收影印命令 如果影印時發生 卡紙故...

軟體工程第三次作業

最大連續子陣列和 最大子段和 問題 給定n個整數 可能為負數 組成的序列a 1 a 2 a 3 a n 求該序列如a i a i 1 a j 的子段和的最大值。當所給的整數均為負數時定義子段和為0,依此定義,所求的最優值為 max,1 i j n 例如,當 a 1 a 2 a 3 a 4 a 5 a...