最新消息:

scratch编程教程 – 计算器教程

Scratch 少儿编程 3796浏览 0评论

友情提示:视频教程观看时请手动设置清晰度。

有很多小朋友和大朋友的作品,可惜大部分只是尝试,功能离我们日常使用的计算器还有很大差距。冉爸试着做一个,让小朋友在课堂上学习,主要是学习如何分解问题,并且逐一解决问题的思路。

 

日常使用的计算器有简易版和科学计算器两种。在如今Excel等软件普及的情况下,科学计算器已经失去了存在的价值,而简易计算器因为使用方便,在我们生活中仍然随处可见。今天我们要做的计算器,只包括加减乘除四则运算,以及删除键,小数点,和等于键。

 

(1):显示0~9的数字

这个很容易。有的教程里逐一给每个数字键定位,这样代码冗长,而且不方便改变位置。我们把10个数字作为角色的10个造型,编号分别为1~10。在点击绿旗开始的时候,循环克隆出10个数字,位置直接根据造型编号进行排列,几行代码就可以做好了。

 

 

 

(2):输入数字

计算器等待我们逐一输入数字,在输入过程中我们可能会进行修改,因此,我们需要把每次按下的数字临时存在一个列表里。这里造型编号10是“0”,因此加一个判断语句,如果编号为10,则把“0”添加到列表,否则,把对应的编号添加到列表。

 

(3):输入 – 小数点

如果我们要输入小数点,需要先检查列表是否包含“.”,有的话,说明之前已经输入过小数点了,不接受再次输入。这里和真正的计算器上的设置是相同的。

 

(4):删除上一次输入的数字

通常情况下,当按下删除键,我们只需要把列表里的最后一项删除即可。如果最后一项是“.”,实际上执行了两次删除。这里和真正的计算器上的设置是相同的。

 

(5):连续运算后的输入

对小朋友用Scratch编写计算器来说,连续运算是一道拦路虎,有许多问题需要解决。

当我们输入数字的时候,计算器应该逐一接受并显示输入的数字;可是在连续运算时,当后面输入数字时,应该先清除屏幕上前一步的计算结果,再显示新输入的数字,同时把前一步的计算结果保存起来

 

因此,我们建立两个变量:“运算符1”和“运算符2”。每次按下加减乘除以及等号的时候,把运算符存到“运算符2”。在输入数字的时候,如果“运算符2”为空,则计算器逐一接受并显示输入的数字;如果“运算符2”不为空,则说明之前有运算,当前屏幕显示的是之前的运算结果,因此,应该先清除屏幕上前一步的计算结果,再显示新输入的数字,同时把前一步的计算结果保存起来,把最近一次运算符保存到“运算符1”,便于后面的运算,这里和真正的计算器上的设置也是相同的。

 

(6):计算操作数

每当输入一个数字,或者删除一个数字时,我们求出这个操作数是什么,并且把它赋值给变量“操作数2”。这期间需要检查列表里有没有小数点“.”,如果有小数点,则结果需要移位,才能赋值给“操作数2”。

 

(7):运算

准备了这么多,我们要开始运算了,接下来我们以加法运算为例。还记得吗,我们在第5步把最近一次输入的运算符保存在变量“运算符1”里,在第6步把最近一次输入的操作数保存在变量“操作数2”里,初始设置时,我们把“操作数1”设定为0,现在点击“+”号时,Scratch就会自动计算“操作数1”和“操作数2”的运算结果,并且把运算结果更新到变量“操作数1”。这一步运算完成后,我们把“运算符1”恢复为空,把“运算符2”设置为“+”号,如果再次输入新的数字,则回到第5步,清除屏幕上的数字,并且把“运算符2”保存到“运算符1”。这样我们就实现了连续运算。

 

 

主要的思路就讲解完了,也许有更简洁的思路,欢迎大家补充与指导。

Scratch不能做自动化测试,所以可能有bug。欢迎大家指正。

您必须 登录 才能发表评论!