软件第三次作业

Posted 武福林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件第三次作业相关的知识,希望对你有一定的参考价值。

实现最大子段和

1.题目描述

题目:最大连续子数组和(最大子段和)

问题: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<=n
例如,当(a[1],a[2],a[3],a[4],a[5],a[6])=(-2,11,-4,13,-5,-2)时,最大子段和为20。
-- 引用自《百度百科

2.算法分析

实现最大子段和有多种方法,其中包括枚举法
分治法在线算法联机算法等方法。本次我选用枚举法。

本次使用c++辅助生成代码,用Eclipse实现代码的编写以及测试。

3.算法的生成

1.求和代码

2.测试代码

3.运行结果

3.覆盖测试

1.覆盖方法

(1)语句覆盖:所有语句被执行一次。

(2)判定覆盖:每个判定都要取所有的可能。

(3)条件覆盖:判断每个条件的所有可能至少满足一次。

(4)判定条件覆盖:同时满足判断覆盖和条件覆盖。

(5)条件组合覆盖:所有组合情况都要覆盖一次。

2.本次所选覆盖测试方法

本次所选覆盖测试方法为条件组合覆盖。

3.条件组合覆盖及其路径

(1)流程图

(2)条件组合覆盖及其路径

(3)测试用例
1.{-1,3,4,-2}

2.{-2,-4,-8,-1}

3.{-3,2,1,-6}

代码链接

传送门

https://git.coding.net/wufulin/ruanjiian3.git

以上是关于软件第三次作业的主要内容,如果未能解决你的问题,请参考以下文章

第三次作业——个人作业——软件产品案例分析

软件测试第三次作业

软件工程——第三次作业

软件工程(2018)第三次个人作业

软件工程-第三次作业

软件第三次作业