計算與軟件工程第三次作業


計算與軟件工程第三次作業

作業要求 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM