小學三年級四則混合運算


腦殼疼的二次作業

211606319-林志強 211606321-劉傑

一、預估與實際

PSP2.1 Personal Software Process Stages 預估耗時(分鍾) 實際耗時(分鍾)
Planning 計划
• Estimate • 估計這個任務需要多少時間 20 30
Development 開發
• Analysis • 需求分析 (包括學習新技術) 600 679
• Design Spec • 生成設計文檔 90 130
• Design Review • 設計復審 30 50
• Coding Standard • 代碼規范 (為目前的開發制定合適的規范) 55 75
• Design • 具體設計 25 35
• Coding • 具體編碼 44 60
• Code Review • 代碼復審 20 30
• Test • 測試(自我測試,修改代碼,提交修改) 15 30
Reporting 報告
• Test Repor • 測試報告 30 44
• Size Measurement • 計算工作量 15 20
• Postmortem & Process Improvement Plan • 事后總結, 並提出過程改進計划 30 45
合計 974 1228

二、需求分析

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

  • 特點1:會筆算一位數除多位數的除法、兩位數乘兩位數的乘法,會進行相應的乘、除法估算和驗算。
  • 特點2:會口算一位數除商是整十、整百、整千的數,整十、整百數乘整十數,兩位數乘整十、整百數(每位乘積不滿十)。
  • 特點3:初步認識簡單的小數(小數部分不超過兩位),初步知道小數的含義,會讀、寫小數,初步認識小數的大小,會計算一位小數的加減法。
  • 特點4:學會混合運算,學會使用小括號。

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

  • 使用的數字小於100。
  • 不能出現倆位小數。
  • 可以出現小括號

三、設計

1. 設計思路

  • 這次作業要求為三年級學生設計一個出題器,首先數字要求小於100,有加減乘除和小括號多種運算符
  • 由於添加了小括號,所以需要考慮運算優先級的問題,需要用到逆波蘭算法
  • 逆波蘭算法的核心步驟就2個:1,將中綴表達式轉換為后綴表達式,例如輸入的原始表達式是 3 X(5+7) ,轉換得到 3 5 7 + X 2、根據后綴表達式,按照特定的計算規則得到最終結算結果

  • 流程圖

2. 實現方案

  • 准備工作:先在Github上創建倉庫,克隆到本地
  • 先實現判斷用戶的年級,在獲取需要生成的題目的數量
  • 實現四則運算,尤其注意運算符的優先級
  • 將題目和答案輸出

1. 調試日志

  • 無法出現括號。未解決。
  • 出現負數。未解決。
  • 小數。未解決。

2. 關鍵代碼

public class Operation {
    private static int ADDITION=1;
    private static int SUBTRACTION=1;
    private static int MULTIPLICATION=2;
    private static int DIVISION=2;
    public static int getValue(String operation){
        int result;
        switch (operation){
            case "+":
                result=ADDITION;
                break;
            case "-":
                result=SUBTRACTION;
                break;
            case "*":
                result=MULTIPLICATION;
                break;
            case "/":
                result=DIVISION;
                break;
            default:
                result=0;
        }
        return result;
    }
}

實現符號的優先級運算。

3. 代碼規范

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

  • 第一條:方法名、參數名、成員變量、局部變量都統一使用 lowerCamelCase 風格,必須遵循駝峰形式。
  • 第二條:類名使用UpperCamelCase風格。
  • 第三條:避免變量的定義與上一層作用域的變量同名。

五、測試

測試序號 輸入參數grade n 測試結果
1 1 10 符合預期結果
2 2 20 符合預期結果
3 3 20 符合預期結果
4 3 30 符合預期結果

六、總結

  • 結對作業需要倆人分配好工作,在實驗中才能事半功倍。
  • 隨着作業難度的增加,在前期的准備工作就要做足。在需求分析,具體審計,思路上就要清晰明確。
  • 倆個人在編程過程中盡量要保證一致節奏,否則會使雙方在測試上出現分歧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM