小學生最喜歡的數學作業
阿新 • • 發佈:2018-09-12
需要 創建 是否 系統 作業 調試日誌 == 一個 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. 代碼規範
請給出本次實驗使用的代碼規範:
- 第一條代碼中的命名嚴禁使用拼音與英文混合的方式,更不允許直接使用中文的方式
- 第二條其它變量以小寫字母開頭
並人工檢查代碼是否符合規範
五、測試
測試當輸入負數時,系統報錯,重新輸入。
六、總結
請總結過程中的教訓和經驗,思考
- 是否使用了“軟件開發的基本策略:分而治之”,是否需要重構
- “高質量的設計、規範的編碼以及有效的測試是保證軟件產品質量的三個重要方面”,你是否采用了相關的手段,是否需要重構
小學生最喜歡的數學作業