咨询热线
来源:洛阳少儿编程培训学校 时间:2024/3/23 14:40:36
例1:大数的认识
【概述】实现能够进行任意两个非负数的加减乘除运算的计算器。
【要点】利用舞台上的数字按键输入任意两个非负数和运算符号,按等号后显示运算结果。
【命令】变量、广播、条件判断、逻辑非、显示/隐藏
【思路】
1、上传角色
上传数字0~9、运算符号加减乘除等号、清除符号,并将这些角色按照计算器的布局排行;另外上传一个运算符号角色,造型1~4依次为加减乘除号(为了在竖式上体现出运算符号,默认隐藏)。
2、建立变量
建立四个变量:数据1、数据2、结果、运算种类;
数据默认为空,使用检测运算种类是否为0来判断按下相应数字键后是输入数据2还是输入数据1的高位数字;之所以设定为空,是为了利用连接命令实现多位数由低到高逐渐显示,若设定为0则输出结果均为0XXX,不符合书写习惯。
运算种类对应0~4五个值,默认为0,为0时表示未曾按下运算按键,此时按下数字键则表示输入数据1的高位数;若不为0则表示按下了运算按键,此时按下数字键则表示输入数据2;1~4分别对应加、减、乘、除四种运算。
为了增强可视性,在计算器面板右侧,用竖式显示数据1、数据2、结果三个变量,运算种类用运算符号角色造型切换加以体现(竖式的横线可直接绘制在背景上,也可以上传角色)。
3、初始化
点击绿旗,将数据1、数据2、结果设定为空,将运算种类设定为0。
4、实现功能
(1)数字键
①以数字“1”为例:
可以将初始化代码(将数据1、数据2设定为空,将运算种类设定为0)写在角色数字“1”中(理论上可以写到任意角色代码中);
为了增强互动性,每个按键角色均设置2个造型,默认为造型1普通状态,造型2为按下后的状态,所以在点击绿旗后,要增加代码“将造型切换为造型1”;
使用“当角色被点击时”来实现检测数字“1”是否被按下,利用条件判断语句检测运算种类是否为0来说实现区分是输入数据2还是输入数据1的高位数字:
如果运算种类=0,则将数据1设定为“连接数据1和‘1’”,否则则将数据2设定为“连接数据2和‘1’”,实现多位数的输入;
较后在条件判断框外增加代码“下一个造型”切换到造型2,实现按键按下的动态效果;等待0.5秒后,再利用“下一个造型”切换到造型1,表示按键结束,恢复初始状态。
②数字“2”~“9”同理,只需把“连接数据1和‘1’”改为“连接数据1和‘a’”即可,a表示对应的数字。
③数字“0”:0比较特殊,为了避免出现0XXX的数字,需要去掉高位上无意义的0,由于该脚本中是通过连接数据和输入的数字来实现输入高位,因为该脚本不涉及负数,可以在每个数字后增加“将数据1设定为‘值:数据1’”和“将数据2设定为‘值:数据2’”,这样在输入的时候系统会自动去掉无意义的高位0。
注:由于该脚本不涉及小数,也可以借助向下取整或向上取整命令实现。
(2)运算键
①以“加号”为例:
首先点击绿旗,造型切换为造型1;
使用“当角色被点击时”来实现检测“加号”是否被按下,利用条件判断语句检测数据1是否为空来判断是否进行加法运算,这里可以用“非(不成立)”命令来实现:
如果数据1=空不成立,则说明输入过数据1,将运算种类设定为1并放送广播1,运算种类1对应加法运算,后续在“等号”脚本中利用条件检测并进行计算,广播1用来提示竖式中的运算符号角色切换到造型1:加号并显示;
类似数字键,较后在条件判断框外增加代码“下一个造型”切换到造型2,实现按键按下的动态效果;等待0.5秒后,再利用“下一个造型”切换到造型1,表示按键结束,恢复初始状态。
②“减号”“乘号”“除号”同理,只需把“运算种类设定为1”和“广播1”改为“运算种类设定为a”和“广播a”即可,a表示对应的数字。
(3)等号键
首先点击绿旗,造型切换为造型1,并将结果设定为空;
使用“当角色被点击时”来实现检测“等号”是否被按下,利用条件判断语句检测运算种类的值并进行相应的运算:
①加法:如果运算种类=1,那么将结果设定为数据1+数据2,实现求和;
②减法:如果运算种类=2,那么将结果设定为数据1-数据2,实现求差;
③乘法:如果运算种类=3,那么将结果设定为数据1×数据2,实现求积;
④除法:如果运算种类=4,需要判断除数是否为0;如果数据2=0那么说“除数不能为0”并将数据2设定为0,可以重新输入数据2;否则将结果设定为数据1÷数据2,实现求商;
类似数字键,较后在条件判断框外增加代码“下一个造型”切换到造型2,实现按键按下的动态效果;等待0.5秒后,再利用“下一个造型”切换到造型1,表示按键结束,恢复初始状态。
(4)清除键
首先点击绿旗,造型切换为造型1;
使用“当角色被点击时”来实现检测“清除”是否被按下,若按下则将数据1、数据2、结果设定为空,运算种类设定为0(初始化),并放送广播5(用于隐藏竖式中的运算符号角色);
类似数字键,较后在条件判断框外增加代码“下一个造型”切换到造型2,实现按键按下的动态效果;等待0.5秒后,再利用“下一个造型”切换到造型1,表示按键结束,恢复初始状态。
(5)竖式运算符号角色
首先点击绿旗,隐藏角色;
当接收到广播1~4,显示角色并将造型切换为造型1~4,对应加减乘除号;
当接收到广播5,隐藏角色(清除)。
没有想要的答案?马上提问