计算与软件工程第三次作业

萝らか妹 提交于 2020-04-06 17:28:14

计算与软件工程第三次作业

作业要求 https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10454
我在这个课程的目标是 学会较为简单的软件开发,了解漏洞与bug
此作业在哪个具体方面帮我实现目标 测试代码,运行代码可以让我更加了解这门课的内容
参考文献 https://www.cnblogs.com/yinianzs/p/9774375.html https://blog.csdn.net/weixin_43864336/article/details/94735078 https://blog.csdn.net/shaoyou223/article/details/84944062
作业正文 https://www.cnblogs.com/yjh1128/p/12451503.html

作业需求

用类/函数来实现
需求:希望返回 3 种信息
最大子数组的和
最大子数组开始的下标
最大子数组结束的下标
从文本文件中读输入的数据,熟悉文件操作, 文件有两种数据
第一个数字:这次测试中有多少个数据, 数字后面是冒号。





[结果]

单元测试

单元测试简介

单元测试是代码正确性验证的最重要的工具,也是系统测试当中最重要的环节。也是唯一需要编写代码才能进行测试的一种测试方法。在标准的开发过程中,单元测试的代码与实际程序的代码具有同等的重要性。每一个单元测试,都是用来定向测试其所对应的一个单元的数据是否正确。
单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。

单元测试的好处:

能够协助程序员尽快找到BUG的具体位置
能够让程序员对自己的程序更有自信
能够让程序员在提交项目之前就将代码变的更加健壮
能够协助程序员更好的进行开发
能够向其他程序员展现你的程序该如何调用
能够让项目主管更了解系统的当前状况




博客作业

回顾:

大一简单接触MS Office和C++语言,学习其中知识。较为熟练使用msoffic,有二级msoffic。
大二学习了Java语言,数据结构课程,了解了图形界面,能够进行类似c++的简单程序;讷讷够实现简单需求,在大二暑假还学习了asp的网页制作。
大三学习了操作系统数据库,ASP,MATLAB,数学建模实训等课程,了解了避免死锁的银行家算法,Hash等经典的计算机算法。

未来的想法考虑:

希望在这学期的计算与软件工程课程的学习中了解软件开发的过程,联系自学过的计算机软件知识,得到进一步的锻炼。

预习

代码风格的原则是:简明,易读,无二义性。
缩进,空格,行宽,等都要有严格相对统一的标准

学会代码复审

名 称 形 式 目 的
自我复审 自己 vs. 自己 用同伴复审的标准来要求自己。不一定最有效,因为开发者对自己总是过于自信。如果能持之以恒,则对个人有很大好处
同伴复审 复审者 vs. 开发者 简便易行
团队复审 团队 vs. 开发者 有比较严格的规定和流程,用于关键的代码,以及复审后不再更新的代码。覆盖率高——有很多双眼睛盯着程序。但是有可能效率不高(全体人员都要到会)

代码

 #include<iostream>
 #include<cstdlib>
 using namespace std;
 int main()
 { 
  int n,star=0,end=0;
  //实现整型数组的输入
  cout<<"输入整型数组的长度";
  cin>>n;
  int *p=new int[n];
  cout<<"输入一个整型数组";
  for(int i=0;i<n;i++)
  { 
      cin>>p[i];
  }
  int sum=p[0];
  int max_sum=p[0];
  for(int i=1;i<n;i++)
  {   
      if(sum>0)    //从第二个数开始判断是否为正数
      { 
          sum=sum+p[i];  //是正数,将和值(初始值为p【0】)和第i+1个数做和。
         if(sum>max_sum) // 并判断是否为最大,是让其赋值给max_sum,并将子数组末位置改变。
           { 
               max_sum=sum;
               end=i;
           }
      }
      else 
      { 
          sum=p[i];  //是负数,将第i+1个数的值赋值给和值sum
             if(sum>max_sum)//并判断是否为最大,是让其赋值给max_sum,并将子数组初、末位置改变。
             {    
                max_sum=sum;
                star=i;
                end=i;
             }
      }
  }
  cout<<"最大子数组位置为第"<<star+1<<"个到第"<<end+1<<"个"<<endl;
  cout<<"最大子数组和为"<<max_sum<<endl;
  system("pause");
  return 0;
 }

码云链接
https://gitee.com/yuan_jia_hao/learngit.git

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!