1. 程式人生 > >201571030320+小學四則運算練習軟件項目報告

201571030320+小學四則運算練習軟件項目報告

接收 tin 提交 family 項目 耗時 pre 主類 text

源碼在Github的倉庫主頁鏈接地址:https://github.com/mashifang/-.git

1.需求分析:軟件著眼於實際, 能夠自動生成定量的四則運算題目供小學練習,用於輔助訓練小學生熟練掌握整數的四則運算, 既提高學生學習效率也方便老師和學生家長對其學習情況的了解.

2.功能設計:

軟件基本功能要求如下:

  • 程序可接收一個輸入參數n,然後隨機產生n道加減乘除練習題,每個數字在 0 和 100 之間,運算符在3個到5個之間。
  • 為了讓小學生得到充分鍛煉,每個練習題至少要包含2種運算符。同時,由於小學生沒有分數與負數的概念,你所出的練習題在運算過程中不得出現負數與非整數,比如不能出 3/5+2=2.6,2-5+10=7等算式。
  • 練習題生成好後,將你的學號與生成的n道練習題及其對應的正確答案輸出到文件“result.txt中,不要輸出額外信息,文件目錄與程序目錄一致。
  • 當程序接收的參數為4時,以下為輸出文件示例。

技術分享圖片

軟件附加功能要求:
  • 支持有括號的運算式,包括出題與求解正確答案。註意,算式中存在的括號必須大於2個,且不得超過運算符的個數。
  • 擴展程序功能支持真分數的出題與運算,例如:1/6 + 1/8 + 2/3= 23/24。註意在實現本功能時,需支持運算時分數的自動化簡,比如 1/2+1/6=2/3,而非4/6。

3.設計實現:

設計了一個主類(Ma),設計了random函數,使用java.lang.Math的random方法生成隨機數。

4測試運行:

技術分享圖片

5.核心代碼:

 public static void main(String[] args)
     {
         String a,b;
         int k;
         Ma Ma=new Ma();
         for(int n=0;n<30;n++)
         {
             a=Ma.f();
             b=Ma.f();
             int i=(int)(Math.random()*100);
             int j=(int
)(Math.random()*100); switch((int)(Math.random()*4)) { case 0: k=(int)(Math.random()*3); if(k==0) System.out.println(i+"+"+j+"="); else if(k==1) System.out.println(a+"+"+j+"="); else if(k==2) System.out.println(b+"+"+a+"="); break;

6.展示PSP,這個環節重要的是讓自己看到自己的估計和實際消耗時間,哪個環節耗時最多,哪個環節估計和實踐相差巨大?為什麽?

  1. PSP2.1

    任務內容

    計劃完成需要的時間(h)

    實際完成需要的時間(h)

    Planning

    計劃

    3

    4

    · Estimate

    · 估計這個任務需要多少時間,並規劃大致工作步驟

    8

    6

    Development

    開發

    5

    6

    ·· Analysis

    需求分析 (包括學習新技術)

    6

    7

    · Design Spec

    · 生成設計文檔

    3

    4

    · Design Review

    · 設計復審 (和同事審核設計文檔)

    3

    4

    · Coding Standard

    代碼規範 (為目前的開發制定合適的規範)

    5

    7

    · Design

    具體設計

    7

    8

    · Coding

    具體編碼

    8

    10

    · Code Review

    · 代碼復審

    4

    5

    · Test

    · 測試(自我測試,修改代碼,提交修改)

    5

    6

    Reporting

    報告

    3

    4

    ·· Test Report

    · 測試報告

    3

    2

    · Size Measurement

    計算工作量

    2

    1

    · Postmortem & Process Improvement Plan

    · 事後總結 ,並提出過程改進計劃

    3

    3

    2.從PSP展示結果分析來看,我在軟件初期設計和代碼設計階段耗時較多,在做的過程中也感到比較吃力,具體原因可能要歸結於長期未用Java語言編寫設計程序,再加上初學之時,學的不夠紮實,暴露了很多編程短板,也導致了這次作業中許多不可忽視的問題。

7.總結與反思

這次作業總的來說要反思的比總結的要多。老實說,由於Java編程功底很弱,這次作業拖了較長時間,很不應該。在作業完成過程中,我實現了隨機生成四則運算的算式,以及帶()的運算,但沒有自動生成運算結果,也未能設計出參數N,總體而言,完成的極不理想,但相比之下,付出了一定的努力,我也正在努力補救,重新學習Java語言編程,下次作業我會完成的更好一點,出色一點,希望老師包容一點,等待一下,我會盡最大努力補救。

201571030320+小學四則運算練習軟件項目報告