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

一 题目

问题: 给定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。--引用自《百度百科

二 思路分析

  • 求解最大子段和有好几种方法,如暴力法,分治法,可以参考老师提供的这篇博文
    我的设计思路是定义一个初始变量Max为0和变量CurMax, 在最大子段和函数中,利用for循环求前 i 项和,记为CurMax。最大子段和记为Max,初
    值为0.在每次循环中Max与CurMax对比。如果CurMax>Max,那么Max的值更新为CurMAX,最后返回Max值。

  • 流程图

三 程序代码

  • .程序代码部分截图

  • .程序代码及测试代码点我

四 程序测试

白盒测试:按照程序内部逻辑设计测试用例,检测程序中的主要执行通路是否能按照预定要求正确工作。即考察用测试数据运行被测程序是对程序
逻辑的覆盖程度,主要的覆盖标准有:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合条件覆盖和路径覆盖。在这里我使用的条件覆盖。

测试结果截图

五 总结

这次作业和前两次相比算真正的实战演练了吧,在完成过程中遇到了一些问题,都在室友的帮助下解决了,这次作业让我对Eclipse的使用变得顺利
点了,也让我更加认识到了自己能力的不足。

posted @ 2018-04-01 16:06  illli  阅读(191)  评论(0编辑  收藏  举报