一.要求:
1、題目避免重複;
2、可定制(數量/列印方式);
3、可以控制下列參數:
是否有乘除法、
是否有括号、
數值範圍、
加減有無負數、
除法有無餘數、
否支援分數 (真分數, 假分數, …)、
是否支援小數 (精确到多少位)、
列印中每行的間隔可調整;
___________________________________________________________________________________________________________________________
二.思路:
1. 基本原理:程式随機生成兩個随機數和一個運算符(+,—,*,/),再加上等号=構成一道四則運算題。
2.再設計程式時将一個大的問題分成幾個子產品,運用不同的函數将這些子產品設計出來,然後用函數調用把這些功能不同的子產品聯系起來。
3.具體:
(1)避免重複:已經成功生成的運算題儲存在記事本中,将新生成的題的=前的部分與記事本中的題進行比較。
(2)可定制:case
(3)是否有乘除法:有乘除法,直接輸出;無乘除法,去除運算題中就産生乘除法
(4)是否有括号:對于三個數的四則運算,規定
(5)數值範圍:用随機數除以不同的數得到0-100,100-1000兩個範圍
(6)加減有無負數:無負數且運算符号為減号時,要判斷第一個運算數是否比第二個大,否則交換兩個數。
(7)除法有無餘數:無餘數,進行除法時,計算結果若有餘數則跳出循環
(8)是否支援分數:支援分數在産生運算數時,分數=分子/分母。
(9)是否支援小數:支援小數,可選精确度。
(10)每行的間隔調整:設定輸出換行符,間隔不同輸出幾行,用循環進行。
(11)其他:例如0/0,0—0,0/X,0*0這類無意義的式子可以避免。