MathExam6378

個人第一個程序

1、預估與實際

PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 15 10
• Estimate • 估計這個任務須要多少時間 500 500
Development 開發 300 500
• Analysis • 需求分析 (包括學習新技術) 20 35
• Design Spec • 生成設計文檔 20 40
• Design Review • 設計複審 20 50
• Coding Standard • 代碼規範 (爲目前的開發制定合適的規範) 60 60
• Design • 具體設計 120 150
• Coding • 具體編碼 180 200
• Code Review • 代碼複審 60 120
• Test • 測試(自我測試,修改代碼,提交修改) 60 60
Reporting 報告 45 60
• Test Repor • 測試報告 45 30
• Size Measurement • 計算工做量 15 15
• Postmortem & Process Improvement Plan • 過後總結, 並提出過程改進計劃 15 20
合計 700

2、需求分析

我經過網絡調查方式瞭解到,小學1、二年級數學有以下的幾個特色:算法

  • 特色1:主要是加減法爲基礎,後引入乘除法。
  • 特色2: 範圍在100之內。
  • 特色3: 較爲簡單,易於理解。

通過分析,我認爲,這個程序應當:編程

  • 使用計算的數字小於20
  • 易於操做

3、設計

1. 設計思路

說明你如何設計這個程序數組

  • 輸入兩個參數。第一個參數爲出題數量,第二個參數爲適用於學生年級。
  • 數組。我設置多個數組用於存儲數字、符號、結果、餘數等。

2. 實現方案

寫出具體實現的步驟網絡

  • 準備工做:先在Github上建立倉庫,克隆到本地
  • 設計大綱:設置算法分類、屢次判斷、分類輸出
  • 技術關鍵:年級的選擇、分類輸出

4、編碼

請說明你如何按照設計思路進行編碼,並記錄你在開發中遇到的問題,與解決過程學習

1. 調試日誌

記錄編碼調試的日誌,請記錄下開發過程當中的 debug 歷程測試

  • 除法餘數的判斷
    解決方案:都作餘數判斷,分爲兩類輸出,有餘數按模版輸出,無餘數省略餘數輸出。
  • 參數(年級的選擇)
    解決方案:在總體前作判斷。因爲我先寫的算法,後進行年級選擇致使。

2. 關鍵代碼

for (int i = 0; i < n; i++) {//加減法輸出

                if (e[i] == 0) {//作加法運算
                    result = w[i] + h[i];
                    System.out.println("(" + j + ") " + w[i] + " + " + h[i] + " = " + result);
                    b[i] = result;
                } else {//作減法運算
                    result = w[i] - h[i];
                    System.out.println("(" + j + ") " + w[i] + " - " + h[i] + " = " + result);
                    b[i] = result;
                }
                j++;
            }
for (int i = 0; i < n; i++) {//乘除法輸出
                
                if (e[i] == 0) {
                    result = w[i] * h[i];
                    System.out.println("(" + j + ") " + w[i] + " * " + h[i] + " = " + result);
                    b[i] = result;
                } else {int y;
                    result = w[i] / h[i];
                    y=w[i] % h[i];
                    k[i] = y;
                    if(y==0) {//餘數判斷
                        System.out.println("(" + j + ") " + w[i] + " / " + h[i] + " = " + result);
                    }
                    else {
                    System.out.println("(" + j + ") " + w[i] + " / " + h[i] + " = " + result+"..."+k[i]);
                    }
                    b[i] = result;
                }
                j++;
            }

5、測試

加減法測試編碼

乘除法測試debug

越界測試設計

[]3d

6、總結

一、小白成長。以前落下了不少編程基礎,致使前期進行的很是困難,在一步步的惡補,感受追遇上了一些,能夠寫出大部分的內容了。
二、堅持。我會繼續努力,堅持下去,不拋棄,不放棄。
三、鼓勵。我以爲在出現困難、bug的時候同窗or室友之間互相幫助、互相鼓勵、給予支持,共同進步。

本站公眾號
   歡迎關注本站公眾號,獲取更多信息