对于整数加减乘除运算,烦恼出题、练习效果?

本文让你轻松搞定——既可以随机出题,又可以有一定的交互性!

来看看效果吧:

选择加、减、乘、除法——设置——做题。

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(1)

范围、总题数由你定

上图是以减法为例:

当完成相应数量的题目后,再来一次——即开启相同设置的专题训练;又或是返回初始页面,重新选择。

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(2)

“再来”【源文件获取方式请见文末】

在设置上,加、减、乘法都一样,这里不再示范。

我们来看看除法的情形:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(3)

没有余数的除法

需留意的是:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(4)

有余数的除法

出题器是用数学软件GeoGebra制作,必须用GeoGebra打开吗?

非也,还可以导出为网页,再分享链接即可!

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(5)

网页版

以上即为出题器的说明,可以看到出题器极大地方便了口算练习——既可以进行专题针对训练,又可以得到及时反馈。

那么,这个出题器是怎么制作的?如若清楚怎么制作,不就可以制作出更满足自己要求的出题器?

为了方便大家,文末将给出出题器的获取方式

我们先来看制作思路:

“随机”的相关指令有:区间随机数(RandomBetween)、随机元素(RandomElement)

区间随机数( <最小整数>, <最大整数> )

随机元素( <列表> )

区间随机数得到一个在最小整数最大整数之间的整数。

随机元素得到列表中的一个元素。

下面,开始制作!

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(6)

初始页面

希望初始页面如下:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(7)

那么,需先构造文本,指令如下:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(8)

并希望:点击文本加法减法乘法除法,即可选择相应的运算。

于是,操作如下:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(9)

即:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(10)

注:赋值(SetValue)

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(11)

设置页面

目标如下:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(12)

■ 第三、四行的第一个字是由所选运算决定。那么,可以利用如果(if)指令来构造。于是:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(13)

注:公式文本(FormulaText)

而后面的“由……到……”用输入框即可。操作示范如下:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(14)

■ 也就是先输入指令:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(15)

■ 再创建输入框:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(16)

■ 创建复选框big,标题为:$\LARGE后面的数\textcolor{red}{不大于}前面的数$

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(17)

■ 创建输入框,关联对象为n1=3,标题为请输入题目数量:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(18)

现在,所显示对象的显示条件应为?

于是:

■ 在指令栏输入:P=0

■ 文本text7,text8和五个输入框的显示条件为:s!=0&&P==0

■ 文本tex2的显示条件为:P==0

■ 而复选框big的显示条件为:s!=0&&P==0&&s!=4

操作如下:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(19)

■ 当选择除法,即s为4时,无需显示复选框big;而是显示另一复选框——创建复选框Y,标题为$\LARGE\textcolor{red}{有余数}的除法$,显示条件为s== 4 && P==0

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(20)

■ 还需创建两个按钮:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(21)

注:设置标题(SetCaption)

具体操作如下:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(22)

按钮的颜色请自行设置

其中,按钮button1的单击时脚本设置标题(button2,"开始")button2的单击时脚本设置标题(button2,"下一题")怎么理解?

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(23)

做题页面

目标如下:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(24)

假设a、b分别为运算符号前、后的数。那么:

■ 于是:

d1 =如果(Y, 扁平列表(序列(条件子列(b1 ≤商式(k, k') ≤ b2 && 余式(k, k') != 0, k, 序列(a1 b1, a2 b2)), k', a1, a2)), 扁平列表(序列(序列(u*v, u, a1, a2), v, b1, b2)))

a = 如果(s == 4, 随机元素(d1), 区间随机数(a1, a2))

d2 = 条件子列(如果(Y, 余式(a, k) != 0, 余式(a, k) == 0) && b1 ≤ 商式(a, k) ≤ b2, k, 序列(a1, a2))

b = 如果(s == 4, 随机元素(d2), 区间随机数(b1, 如果(big, a, b2)))

注:扁平列表(Flatten)、序列(Sequence)、条件子列(KeepIf)、余式(Mod)、商式(Div)

其中,d1d2怎么理解?

● 先看d2怎么理解:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(25)

● 而d1可拆为两大部分:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(26)

当Y为假时:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(27)

当Y为真时:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(28)

■ 而题目的形式为a b=;若b为负数,则形式为a (b)=(运算符号还可以是-,×,÷),于是:

text9 = 公式文本(a 如果(s == 1, " ", s == 2, "-", s == 3, "×", "÷") 如果(b < 0, "(" b ")", "" b "") "=")

至于答案,用输入框即可。

■ 于是,可输入指令:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(29)

请自行将上述对象隐藏

■ 并创建两个输入框

其中一个关联对象为c,标题为请输入答案:

另一个关联对象为c1,标题为……

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(30)

■ 至于已出题目数、答错题数需要计算,则可引入n、m来分别计数:

n = 0

m = 0

■ 于是,在输入框InputBox6单击时脚本输入:

如果(c!=T,赋值(m,m 1))

■ 在InputBox7单击时脚本输入:

如果((c==T) && (c1!=T1), 赋值(m,m 1))

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(31)

■ 至于判断所输入答案正确与否,即为:

text10 = 如果(Y && c == T && c1 == T1, "回答正确!", (!Y) && c == T, "回答正确!", Y && (c != T || c1 != T1), "正确答案:" T "……" T1, (!Y) && c != T, "正确答案:" T)

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(32)

所输答案错误时,则显示正确答案

■ 并且,需要输完答案,才能显示出来。故,text10的显示条件为:

(Y&&c!=""&&c1!="") || (!Y&&c!="")

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(33)

同样分为有没有余数两种情况

■ 还需统计答题情况,于是:

text11 = 公式文本("共\textcolor{red}{" n "}道题,答错\textcolor{red}{" m "}道,正确率:\ \textcolor{red}{" ((n - m) / n * 100) "%}")

■ 另外,需实现点击“下一题”按钮时,即可重新出题。于是,在button2单击时脚本输入:

c=""

c1=""

更新作图()

赋值(n,n 1)

注:更新作图(UpdateConstruction)

■ 而“初始化”按钮要保证单击时,都归于原位。于是,在button1单击时脚本输入:

赋值(n,0)

赋值(m,0)

c=""

c1=""

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(34)

那么,现在所显示对象的显示条件应为?

于是:

text9text11、输入框InputBox5的显示条件为:P == 1 && n != n1 1

■ 输入框InputBox6的显示条件为:Y&&P == 1&& n!= n1 1

■ 按钮button1的显示条件为:s != 0 && n != n1 1

■ 按钮button2的显示条件为:如果(0<n<n1 1,(Y&&c!=""&&c1!="") || (!Y&&c!=""),s != 0 && n != n1 1)

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(35)

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(36)

结束页面

目标如下:

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(37)

■ 结束语即为:

text12 = 公式文本("已完成" n1 "道题,正确率:\ \textcolor{red}{" ((n - 1 - m) / (n - 1) * 100) "%}")

■ 创建按钮button3单击时脚本为:

赋值(n,1)

赋值(m,0)

也就是其他设置不变,而出题目数n为1,即可重新出题;至于答错题数m自然应为0。

■ 而button3的标题中的数字是由n1决定的。于是,在输入框InputBox5单击时脚本输入:

设置标题(button3,"$再来" n1 "道$")

自动生成小数乘除法出题表格(教你制作加减乘除出题器)(38)

因为此输入框是改变n1值的关键

■ 创建按钮button4标题为:$返回主页$单击时脚本为:

运行单击脚本(button1)

也就是点击此按钮,相当于点击“初始化”按钮。

注:运行单击脚本(RunClickScript)

■ 另外,这些对象都是是在n等于n1 1的时候才显示。于是,设置文本text12、按钮button3button4的显示条件:

n==n1 1

大功告成

至此,就完成了出题器的制作!还可以举一反三,制作出其他出题器。

另外,此出题器的获取方式为:转发并评论本文

,