一.要求:
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这类无意义的式子可以避免。