跟数学老师学Scratch | 11 口算训练器
口算出题器,很多老师都写过教程,更有很多人做过这个项目。我看过几篇教程,感觉有些程序还不够优化(主要体现在减法、除法运算上),执行效率比较低(使用者不一定能感觉到)。我发现算法优化后,程序更简单,还降低了编程的难度。 这个编程思路,也可以用在Micro:bit、掌控板等主控上制作相同主题的项目上。 在制作项目前,我们必须明确一点:这个口算训练器给谁用?我想,使用对象应该是小学中低年级学生。那么,我们需要注意数的范围,在编写减法时需要遵循“减数不能大于被减数”的规则,在编写除法时要保证能整除等;而且应以一步计算为主(编写两步计算的考虑的因素将更多)。11.1 项目演示https://v.qq.com/x/page/i09521ue6bt.html 本项目中,加法以加数为两位数以内为例,减法以被减数为两位数以内为例,乘法以表内乘法为例,除法以表内除法为例;需要提高难度的,可以自行修改范围。
11.2 数学小课堂 以上是数学四则运算的关系式,是数学计算的基础。下面列举的乘法和除法各部分间的关系,就是本案例中编写除法计算部分的算法。
11.3 编程名词:变量
变量,来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。变量是与常量相对的概念,比如我们学过的圆周率π,它是一个固定不变的数值,称为常量;而像关系式a+b=100中的a和b就是一个变量。在计算机编程中,变量不局限于存储数值型结果,它还可以用来存储字符型、布尔型等数据。变量在编程中使用非常广泛,几乎存在于每一个程序中。 本项目程序中,使用了3个变量(a,b,c)来存储各个算式中的各个部分的数值。
11.4 制作项目11.4.1 打开编程软件Mind+1.6.2,切换为【实时模式】11.4.2 导入背景“剧场”并适当加工在背景图库中【室内】类下找到“剧场”,并选择导入。(自己选择你喜欢的背景亦可)在【背景】编辑界面,使用【文字】工具,添加需要的文字。11.4.3 导入角色“球”并进行加工、调整在角色图库中【所有】类下找到“球”,并选择导入。在【造型】编辑界面,可以看到该角色共有5种造型,删除1个。利用【文字】工具,分别在4个造型上添加不同的运算符号。复制出三个副本,分选择不同的造型,调整其大小及位置。11.4.4 导入角色“艾弗里”并调整在角色图库中【人物】类下找到“艾弗里”,并选择导入。(可自行选择其他人物)调整角色的大小和在舞台上的位置11.4.5 编写选择运算程序 分别为4个角色“球”编写程序:当角色被点击时,发送一个广播给主程序(角色“艾弗里”的程序)。
11.4.6 编写主程序 主程序完成出题及反馈任务,在角色“艾弗里”下编写。
(1)对角色“艾弗里”的大小和位置进行初始化
(2)编写加法出题及反馈程序
(3)编写减法出题及反馈程序 *为了保证减数不大于被减数,在为变量b设值时,将随机数取值范围设为0至变量a的值。
(4)编写乘法出题及反馈程序
(5)编写除法出题及反馈程序 *为了保证每次出的除法计算题都能整除,这里采用了逆向思维,先产生一道乘法计算题,但是不显示出来;再将积和其中的一个因数作为被除数和除数进行出题;最后判断用户输入的答案和另一因数是否相等。 *注意变量a的取值,因为其后面要作为除数,所以应排除0。
11.5 试一试
[*]增加难度选择功能,并完善各个难度下的出题及反馈程序。
[*]增加音效或者使用语音朗读功能增强交互体验。
欢迎关注我的公众号
页:
[1]