三年級計算
阿新 • • 發佈:2018-09-19
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,需要多加學習和練習。
- 是否使用了“軟件開發的基本策略:分而治之”,是否需要重構
- “高質量的設計、規範的編碼以及有效的測試是保證軟件產品質量的三個重要方面”,你是否采用了相關的手段,是否需要重構
三年級計算