計算與軟件工程第三次作業
作業要求 | 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;
}