zoukankan      html  css  js  c++  java
  • 软件工程第二次作业

                                                   

     

    博客信息

    沈阳航空航天大学计算机学院2020软件工程作业
    作业要求 https://edu.cnblogs.com/campus/sau/Computer1701-1705/homework/10583
     课程目标 熟悉一个“高质量”软件的开发过程
      作业目标 单元测试练习

     

     

     

     

    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.具体要求

    • (1) 请从上述两个题目中根据个人实力任选一题,要求写出可运行的完整代码提交至GitHub系统中,并将代码地址附到博客内
    • (2) 请从语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖五个覆盖标准中(条件组合覆盖难度较大,鼓励尝试,但请谨慎选择),任选一个标准设计测试用例
    • (3) 请利用自动测试工具对程序进行测试
    • (4) 请将程序运行结果和自动测试分析结果截图附到博客中

    3.思路

      1、定义两个变量,一个用来存储之前的累加值,一个用来存储当前的最大和。遍历数组中的每个元素,假设遍历到第i个数时如果前面的累加值为负数或者等于0,那对累加值清0重新累加,把当前的第i个数的值赋给累加值。如果前面的累加值为正数,那么继续累加,即之前的累加值加上当前第i个数的值作为新的累加值。
      2、判断累加值是否大于最大值,如果大于最大值,则最大和更新;否则,继续保留之前的最大和。

    4.代码

      https://github.com/ld835/https-github.com-lidong/blob/master/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E7%AC%AC%E4%BA%8C%E6%AC%A1%E4%BD%9C%E4%B8%9A

    5.运行结果

      

    6.判定条件覆盖用例

     

    • 测试用例一:{-1,-1},路径ace
    • 测试用例二:{-1,11,-1},路径acd
    • 测试用例三:{2,-1},路径abe
    • 测试用例四:{2,3},路径abd

    7.工作记录

    项目 记录结果
    日期 04-07
    开始时间 14:00
    结束时间 16:40
    编码行数 11
    错误数量 0
  • 相关阅读:
    关于loose.dtd和xhtml1transitional.dtd等文档类型定义模型中CSS失效的解决办法。
    JSON扫盲帖+JSON类教程
    jQuery中Ajax事件
    JQuery绑定事件 时如何传递参数
    xml include 另外一个xml文件
    ubuntu 两张网卡时网络设置
    Letcode 题:pow(x,n)
    Java编程语言中sleep()和yield()的区别
    JProfiler与eclipse集成
    zz 字符串相关
  • 原文地址:https://www.cnblogs.com/Ldblog12/p/12643644.html
Copyright © 2011-2022 走看看