211606334 吳庭威 211606315 李昕洪
一、預估與實際
PSP2.1 | Personal Software Process Stages | 預估耗時(分鐘) | 實際耗時(分鐘) |
---|---|---|---|
Planning | 計劃 | ||
• Estimate | • 估計這個任務需要多少時間 | 10 | 15 |
Development | 開發 | ||
• Analysis | • 需求分析 (包括學習新技術) | 30 | 200 |
• Design Spec | • 生成設計文檔 | 20 | |
• Design Review | • 設計複審 | 90 | |
• Coding Standard | • 代碼規範 (為目前的開發制定合适的規範) | ||
• Design | • 具體設計 | 40 | |
• Coding | • 具體編碼 | 100 | |
• Code Review | • 代碼複審 | 50 | 80 |
• Test | • 測試(自我測試,修改代碼,送出修改) | ||
Reporting | 報告 | ||
• Test Repor | • 測試報告 | 45 | 55 |
• Size Measurement | • 計算工作量 | 60 | |
• Postmortem & Process Improvement Plan | • 事後總結, 并提出過程改進計劃 | ||
合計 | 700 |
二、需求分析
我通過上網查詢的方式了解到,國小三年級數學有如下的幾個特點:
- 特點1
-
運算符在2~4個
可以加括号
減法運算的結果不能有負數
除法運算除數不能為0,不能有餘數
參與運算數字在0-99以内
- 特點2
- 四則運算應符合優先級
- 注意括号的有效性
三、設計
1. 設計思路
- 這個程式有1個類,3個函數
- 算法的關鍵的關鍵是生成表達式,以及優先級的判斷。以及對出現負數和餘數的處理。通過寫兩個函數實作,。
2. 實作方案
- 準備工作:先在Github上建立倉庫,克隆到本地..
- 技術關鍵點:如何判斷随機數的合理性,以及優先級的使用,還有表達式的生成。
四、編碼
不知道怎麼合理的随機生成運算符以及資料的合理性,還有生成表達式。曾嘗試窮舉法,發現不切實際,打消這個念頭。後采取集合,隊列的方式,但沒有成功實作。
1. 調試日志
嘗試運作
2. 關鍵代碼
請展示一段程式的關鍵代碼,并解釋代碼的作用
3. 代碼規範
第一條:代碼中的參數命名等符合規定。
第二條:保持縮進,良好的代碼規範。
并人工檢查代碼是否符合規範
五、測試
沒有實作功能,無結果
六、總結
基礎知識薄弱,在資料結構這門課,沒有深入學習,更沒有實踐。運用時,不會靈活的解決問題。在編碼的過程中遇到了大的阻力,不能很好的解決問題。