1. 程式人生 > >三年級計算

三年級計算

http 重點 bug 設計 你在 思考 ron epo 如何

三年級計算題

211606390 張晉誌 211606329 王浩

一、預估與實際

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

二、需求分析

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

  • 沒有進行負數的運算
  • 除法運算除數不能為0,不能產生余數,被除數可以為0,一位數和兩位數的除法。
  • 乘法運算一個乘數為一位數,另一個乘數一般不超過三位數或者一個乘數為二位數,另一個乘數一般不超過三位數
  • 是復合四則運算

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

  • 每道題目占一行
  • 參與運算的數值和產生的答案都不能出現負數
  • 運算結果一般不超過四位數
  • 題目是起碼有兩個不同符號的復合運算

三、設計

1. 設計思路

說明你如何設計這個程序

比如:

  • 這個程序有x個類,x個函數,函數之間的調用關系是怎樣的?

  • 關鍵函數的流程圖

技術分享圖片

  • 算法的關鍵是通過逆波蘭實現題目的運算

2. 實現方案

寫出具體實現的步驟

比如:

  • 準備工作:先在Github上創建倉庫,克隆到本地,通過git命令進行操作
  • 技術關鍵點:逆波蘭的實現

四、編碼

請說明你如何按照設計思路進行編碼,並記錄你在開發中遇到的問題,與解決過程

1. 調試日誌

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

無法運行

2. 關鍵代碼

if(flag[i]==0) 
            {
                flag[i]=random.nextInt(4)+1;
                fg++;
                L.append(fg+1,")");
            }
            if(flag[i]==1) 
            {
                 L.append("+");
                 fg++;
            }
            else if(flag[i]==2) 
            {
                L.append("-");
                fg++;
            }
            else if(flag[i]==3)
            {
                L.append("*");
                fg++;
            }
            else if(flag[i]==4)
            {
                L.append("÷");
                fg++;
            }

通過產生隨機數生成不同的運算符號。

3. 代碼規範

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

  • 第一條:方法簡短抓住重點
  • 第二條:同一個變量不在不同目的中使用
  • 第三條:變量和方法的名稱能體現實現功能
  • 第四條:合理分配運用空間

五、測試

  • 命令行輸入參數: -n 0 -grade 3
  • 命令行輸入參數: -n -5 -grade 3
  • 命令行輸入參數: -n 10 -grade 10
  • 命令行輸入參數: -n 10 -grade -3
  • 命令行輸入參數: -n 5
  • 命令行輸入參數: -grade 3

六、總結

請總結過程中的教訓和經驗,思考
很多東西都還不會,寫出的代碼無法運行,不能熟練使用git,需要多加學習和練習。

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

三年級計算