1. 程式人生 > >小學生最喜歡的數學作業

小學生最喜歡的數學作業

需要 創建 是否 系統 作業 調試日誌 == 一個 ade

---恢復內容開始---

今天又是充滿希望的一天嘛?

一、預估與實際

PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 600 900
? Estimate ? 估計這個任務需要多少時間 600 900
Development 開發 300 500
? Analysis ? 需求分析 (包括學習新技術) 100 200
? Design Spec ? 生成設計文檔 30 30
? Design Review ? 設計復審 20 20
? Coding Standard ? 代碼規範 (為目前的開發制定合適的規範) 10 20
? Design ? 具體設計 60 100
? Coding ? 具體編碼 150 300
? Code Review ? 代碼復審 10 30
? Test ? 測試(自我測試,修改代碼,提交修改) 40 60
Reporting 報告 50 60
? Test Repor ? 測試報告 20 30
? Size Measurement ? 計算工作量 10 15
? Postmortem & Process Improvement Plan ? 事後總結, 並提出過程改進計劃 20 30

---恢復內容結束---

## 一、預估與實際

二、需求分析

我通過網頁查詢的方式了解到,小學一年級數學有如下的幾個特點:

  • 特點1計算以20以內的數字為主
  • 特點2運算符只有加減

經過分析,我認為,這個程序應當:

  • 使用的數字小於二十
  • 運算符為加減法
    -不會出現負數
    -只出現兩個數相加或相減

三、設計

1. 設計思路

說明你如何設計這個程序

  • 首先,讓用戶選擇多少題目,然後讓用戶是否查看答案,
  • 算法的關鍵的是怎麽實現加減隨機還有問題和答案分開。

2. 實現方案

寫出具體實現的步驟

比如:

  • 準備工作:先在Github上創建倉庫,克隆到本地
  • 技術關鍵點:隨機生成的符號。

四、編碼

第一個是怎麽取隨機數,主要是百度
第二個是加法減法怎麽隨機,我就令兩個數字代替加和減法,然後令他們隨機後輸出
第三個是問題怎麽和答案分開,我就創建了三個數組來存放之前的兩個隨機數和隨機加減,在利用循環把他們釋放出來。

1. 調試日誌

記錄編碼調試的日誌,請記錄下開發過程中的 debug 歷程

比如:

  • 有可肯出現小a-大b的情況,得到負數。

2. 關鍵代碼

for (int i = 0; i < number; i++) {
   int a=(int)(0+Math.random()*20);
   int b=(int)(0+Math.random()*20);
   int c=(int)(1+Math.random()*2); 
   d[i] =a;
   e[i]=b;
   f[i]=c;
 
    if(c==1) {
       System.out.println("("+(i+1)+") "+a+" + "+b+"= " );
  }else {
       System.out.println("("+(i+1)+") "+a+" - "+b+"= " );
  }   
 }

3. 代碼規範

請給出本次實驗使用的代碼規範:

  • 第一條代碼中的命名嚴禁使用拼音與英文混合的方式,更不允許直接使用中文的方式
  • 第二條其它變量以小寫字母開頭

並人工檢查代碼是否符合規範

五、測試

測試當輸入負數時,系統報錯,重新輸入。

六、總結

請總結過程中的教訓和經驗,思考

  • 是否使用了“軟件開發的基本策略:分而治之”,是否需要重構
  • “高質量的設計、規範的編碼以及有效的測試是保證軟件產品質量的三個重要方面”,你是否采用了相關的手段,是否需要重構

小學生最喜歡的數學作業