20172319 結對編程練習_四則運算第二周階段性總結
阿新 • • 發佈:2018-05-09
參考 單獨 html 整數和 表達 sdn while 擴展 生成
20172319 2018.04.23-05.02
結對編程練習_四則運算
第一周階段性總結
目錄
- 結對對象
- 需求分析
- 設計思路
- 結對評價
- PSP
- 參考資料
結對對象:
- 20172316趙乾宸(駕駛,領航員)
- 20172319唐才銘(駕駛,領航員)
- 20172319王文彬(駕駛,領航員)
返回目錄
需求分析:
1.項目內容
以結對小組形式編寫代碼,實現以下功能:
1.自動生成題目
可獨立使用(能實現自己編寫測試類單獨生成題目的功能)
可生成不同等級題目,類似於:
1級題目:2 + 5 =
10 - 5 =
之類的兩個數,一個運算符的題目
2.題目運算(判題)
可獨立使用
實現中綴表達式轉為後綴表達式並計算
判斷用戶答題正誤,並輸出正確結果
3.支持真分數
可獨立使用
實現分數算式的計算
4.題目去重(擴展需求,加分項)
可獨立使用
實現對自動生成表達式的去重:如下
若生成:2 + 5 =
5 + 2 =
為同一題目
2.理解:
- 能隨機生成n道四則運算題目,n由用戶輸入
- 支持整數和分數
- 支持多運算符,運算符個數n可由用戶輸入
- 能夠判斷正誤,錯誤時能提醒並輸出正確答案
- 可以計算正確率
返回目錄
設計思路:
- 由於分工的不同,個人獨立完成項目的各個部分,我負責的是支持真分數部分;
- 兩個分數進行運算,題目還得是隨機的,必須考慮每一個的分子分母都是隨機的,因此設置了四個變量每一個變量相應的從(-50)——(50)之間取隨機數
- 聲明一個String類變量用以判斷並輸出運算符
switch (e) // 運算符號 { case 0: s1 = " + "; break; case 1: s1 = " - "; break; case 2: s1 = " × "; break; case 3: s1 = " ÷ "; break; }
??然後toString輸出等式
s2 = numerator1/denominator1 + s1 + numerator2/denominator2 + " = ";
??然而遇到了問題,輸出的東西雖然是分數,但並不滿足
??真分數,為了保證分數運算是真分數
while (true) {
numerator1 = generactor.nextInt(51) - 50;
denominator1 = generactor.nextInt(51) - 50;
numerator2 = generactor.nextInt(51) - 50;
denominator2 = generactor.nextInt(51) - 50;
e = (int)(Math.random()*4);
a = numerator1;
b = denominator1;
c = numerator2;
d = denominator2;
if (numerator1 >= denominator1 || numerator2 >= denominator2||denominator1==0||denominator2==0||numerator2==0) // 保證真分數(分子分母不為0,分子小於分母)
continue;
else {
do {
h = a % b;
i = c % d;
a = b;
c = d;
b = h;
d = i;
} while (h != 0 && i != 0);
}
??運用了輾轉相除法,保證分子與分母互質,從而保證
??真分數
- 類圖:
返回目錄
結對評價:
- 雖然彼此都有駕駛與領航,但只是某些方面的合作,個人的編碼風格以及代碼沒有註釋,導致有時候並不能看懂夥伴寫的是什麽,各個目的都可以單獨實現,但暫時還沒有連成一個整體。
返回目錄
PSP:
PSP2.1 | Personal Software Process Stages | 預估耗時(分鐘) | 實際耗時(分鐘) |
---|---|---|---|
Planning | 計劃 | 60 | 60 |
Estimate | 估計這個任務需要多少時間 | 100 | 100 |
Development | 開發 | 800 | |
Analysis | 需求分析 (包括學習新技術) | 100 | 60 |
Coding Standard | 代碼規範 (為目前的開發制定合適的規範) | 30 | 20 |
Design UML | 設計項目UML類圖 | 50 | 30 |
Coding | 具體編碼 | 30 | |
Code Review | 代碼復審 | 50 | |
Test | 測試(自我測試,修改代碼,提交修改) | 30 | |
Size Measurement | 計算工作量(實際時間 | 30 | |
Postmortem & Process Improvement Plan | 事後總結, 並提出過程改進計劃 | 30 | |
合計 | 1240 |
返回目錄
參考資料:
結對編程練習_四則運算
判斷互質
返回目錄
20172319 結對編程練習_四則運算第二周階段性總結