題目概要 : 四則運算題目生成 http://www.cnblogs.com/jiel/p/4810756.html github 地址 : https://github.com/YooRarely/object oriented.git 程式結構 : get_int 類 輸出整型答案(強制整型)
題目概要 : 四則運算題目生成
http://www.cnblogs.com/jiel/p/4810756.html
github 地址 : https://github.com/YooRarely/object-oriented.git
程式結構 :
get_int 類 輸出整型答案(強制整型)
get_fraction 類 輸出分數答案
fraction 類 分數類 ,將所有數作為分數儲存
make_problem 類 題目生成類
答案輸出類 :
屬性 : 運算符棧 oper ; 運算符重要性棧 important ; 運算數棧 count
運算符重要性 : '+' 與 '-' 重要性最低為0 , '*' 與 '/' 重要性為1 , '(' 與 ')' 間的運算符重要性皆+2
具體操作 : 若當前將要入棧的運算符重要性不大於棧頂運算符,則運行棧頂運算符並出棧,直到棧頂運算符重要性小於當前重要性時入棧
get_int 與 get_fraction 的區別為 運算數棧 count 的類型為 int 與 fraction
分數類 :
屬性 : 分子 x 與 分母 y , 若為負數則 x 為 負 , y 強製為正
重載運算符 : += ; -= ; *= ; /= ; == 調用 gcd 方法 實現分數的運算
轉換整數方法 : x/1 ; 將分數轉換為字元串方法
題目生成類 :
屬性 : 生成整數數量 n ; 整數大小範圍 m ;括弧層次 k
具體方法 : 運算數與運算符數量相同時 , 隨機取得運算數 ; 運算數大於時 隨機取得運算符 ; 嚴格保證運算符數量不超過運算數
生成問題 : 可能會出現 除0 運算,運算後返回 error input ,出現括弧內無運算符情況 (式子正確,但是有點多餘)
尚未完善 : 尚未照顧小學生 ,尚未判斷相同式子,不過 n=5,m=10,k=1 時 生成 1萬 條暫時沒發現重覆
運行效率 : n=5,m=10,k=1 時 生成 100 萬 條在28秒內完成 。 編譯器 xcode 環境 mac OS X EI capitan
使用方法 :
i 迴圈處可更改迴圈次數
make_problem 構造方法中 放入 n,m,k
若要主動輸入式子可以解開上方註釋
暫時還有許多沒有完善好的地方,畢竟比較弱