17074230 第三次作业
第三次作业
一、格式要求
作业要求 | https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10454 |
---|---|
我在这个课程的目标是 | 学会独立完成简单软件的开发,会修复一些简单的漏洞 |
此作业在哪个具体方面帮我实现目标 | 独立编写代码解决遇到的问题 |
其他参考文献 | https://www.jianshu.com/p/ebe52d2d468f |
作业正文 | https://i-beta.cnblogs.com/posts/edit |
二、本次作业
单元测试
数组中最大子数组的和。
- 用类/函数来实现
- 需求:希望返回 3 种信息
- 最大子数组的和
- 最大子数组开始的下标
- 最大子数组结束的下标
- 从文本文件中读输入的数据,熟悉文件操作, 文件有两种数据
- 第一个数字:这次测试中有多少个数据, 数字后面是冒号。
- 后续数字: 每个数据的值,用逗号隔开
- 比如 文件内容:
17: -32, -10, 33, -23, 32, -12, 41, -12, 1, 3, 5, -98, 70, -21, 10, -9, 61
输出
sum = 71
三、博客作业
在三年的学习中,主要学习关于计算机的科目有c++语言,Java语言,数据库,数据结构,操作系统,MATLAB计算等,但是只是掌握了一些最基本的理论知识,对于自己写代码这一块还有很多欠缺,对于修复漏洞也缺少很多经验,我认为学习最重要的是态度和方法,不是件件都会,但事事都要去学,应着重了解市场上的需求分析,要提高行业洞察和项目管理能力,懂得进行自我管理。
关于未来:我希望学习了计算与软件工程这门课程之后,能将之前所学内容与本课程结合起来,在老师的帮助和自身努力之下学好这门课,了解市场需求并能与同学们合作开发一些简单的软件开发,更高效的修复bug,锻炼自己的思维能力。
四、预习
- 代码规范与代码复审
写代码要养成良好的习惯,包括合格的缩进、行宽、括号,分行,命名、下划线和大小写问题,以及注释等,因为随着科技的进步代码也逐渐变得复杂化,要一个团队完成一项大的软件工程必须要其他队员复审,有一个好的写代码习惯,将会提高开发效率。
开发中的复审主要包括:设计复审、代码复审、测试计划复审、文档复审。
复审的目的在于:
(1)找出代码的错误。如:
a. 编码错误,比如一些能碰巧骗过编译器的错误。
b. 不符合项目组的代码规范的地方。
(2)发现逻辑错误,程序可以编译通过,但是代码的逻辑是错的。
(3)发现算法错误,比如使用的算法不够优化。
(4)发现潜在的错误和回归性错误——当前的修改导致以前修复的缺陷又重新出现。
(5)发现可能改进的地方。
(6)教育(互相教育)开发人员,传授经验,让更多的成员熟悉项目各部分的代码,同时熟悉和应用
五、代码
include
include<stdio.h>
include<stdlib.h>
include<limits.h>
include
using namespace std;
int maxsubset(int *a,int length){
int summax=INT_MIN;
int i,j,k;
for(i=0;i<length;i++)
for(j=i;j<length;j++){
int temp=0;
for(k=i;k<=j;k++)
temp+=a[k];
if(temp > summax)
summax=temp;
}
return summax;
}
int main(){
int a[]={-32,-10,33,-23,32,-12,41,-12,1,3,5,-98,70,-21,10,-9,61};
cout<<"最大子数组的和::"<<maxsubset(a,16)<<endl;
system("pause");
return 0;
}