重量和我们的日常生活息息相关。重量不仅是我们在减肥时斤斤计较的数据,而且是自古以来有了物品交换,保证交换公平的依据。
生活中我们时常要考虑一件东西有多重,最初总是和身边熟悉的物品做比较:这台手机足有一本书那么沉;那块石头有两个人重……
可是人凭着感觉比较的重量有时差的老远,我们怎么才能准确定义一件物品的重量呢?
在科学实验中有时候需要精确测量物体的重量就会用到砝码。砝码有很多种不同的克数,同时有严格的使用规则,例如有5g、2g和1g的砝码。当不知道要放哪个时,需要遵循从大到小的规则,即先看大的是否偏大,偏大之后再换较小的,这是比较高效的称重方式。
好啦,我们已经知道砝码是什么了,也已经知道砝码的使用规则,今天的课程我们就来想一想怎么用Scratch来模拟砝码的称重过程呢?
分析问题
本次课涉及到编程知识点包括变量、角色坐标、逻辑运算符、条件语句、克隆。
我们需要两根杆子:一根竖直、一个横向来模拟天平,同时需要5g、2g、1g的砝码,一共需要绘制五个角色。
为了判断:是天平左边的小猫重,还是右边的砝码重。我们需要两个变量来统计,一个是小猫重量,一个事砝码总重。当小猫重时,天平横向的杆子需要往小猫那端倾斜;当砝码那边重时,天平横向的杆子需要往砝码那端倾斜。
为了有趣一些,当点击小绿旗时,小猫重量设为10g-20g的随机数。当小猫重量大于砝码总重时,小猫的y坐标往下移一些;当小猫重量小于砝码总重时,小猫的y坐标往上移一些。
砝码会越垒越高,所以我们需要一个砝码高度的变量来完成这个效果。当砝码被点击时,砝码会克隆一个自己,克隆体会移到天平上,同时砝码总重和砝码高度都要做相应改变。当选择的砝码过大的时,要删除该克隆体。
当小猫重量等于砝码总重时,称重完成,小猫会询问重量,将另一边的砝码重量相加就可以得到答案啦。所以我们设的变量都要隐藏哦!
▲ 程序等待界面 ▲

▲ 砝码总重小于小猫重量时 ▲

▲ 砝码总重大于小猫重量时 ▲

▲ 砝码总重等于小猫总重时 ▲

▲ 输入完成界面 ▲
▲ 小猫的程序 ▲

▲ 5g砝码的程序 ▲

▲ 2g砝码的程序 ▲

▲ 1g砝码的程序 ▲

▲ 天平横杆的程序 ▲