Scratch学语文:曹冲称象

人教版二年级上册《曹冲称象》课文原文:

古时候有个大官,叫曹操。一天,有人送给他一头大象。他很高兴,带着儿子和官员们一同去看。

这头象又高又大,身子像一堵墙,腿像四根柱子。官员们一边看一边议论:“这么大的象,到底有多重呢?”

曹操问:“谁有办法把这头大象称一称?”有的说:“得造一杆大秤,砍一棵大树做秤杆。”有的说:“有了大秤也不成啊,谁有那么大的力气提得起这杆秤呢?”也有的说:“办法倒有一个,就是把大象宰了,割成一块一块的再称。”曹操听了直摇头。

曹操的儿子曹冲才七岁,他站出来,说:“我有个办法。先把大象赶到一艘大船上,看船身下沉多少,就沿着水面在船舷上画一条线。再把大象赶上岸,往船上装石头,直到船下沉到画线的地方为止。然后,再称一称船上的石头,石头有多重,大象就有多重。”

曹操微笑着点点头。他叫人照曹冲说的办法去做,果然称出了大象的重量。

今天我们用Scratch再现一下称象的过程。

作为小学生时,我们觉得短文意在称赞曹冲幼时过人的智慧。智慧不在年龄大小,关键是遇事要善于观察,开动脑筋想办法,小孩也能办大事。

现在细究起来,看似简单的一个举动,利用了漂浮在水面上的物体的重力等于水对物体的浮力这一物理原理,是阿基米德的浮力。

曹冲所用的方法是“等量替换法”。用许多石头代替大象,在船舷上刻划记号,让大象与石头产生等量的效果,再一次一次称出石头的重量,使“大”转化为“小”,分而治之,这一难题就得到圆满解决。


"曹冲称象"是一个很简单的小游戏,我们使用鼠标点击石头,船体会下沉,再根据提示切换大小石头,直到船体下沉到刻划的记号处,就可以称出大像的重量了,如果一直添加大石头,船会下沉哦!

我们来看一下Scratch的具体实现过程:

1.变量

大石块个数:记录添加到船上的大石块的个数;

小石块个数:记录添加到船上的小石块的个数

总重量:船上石块的总重量;

2.背景

背景有两个造型,分别是空白背景、曹冲称象背景。

当点击绿色旗帜时,换成曹冲称象背景,播放曹冲称象音频,等待播完,广播消息“称象”。

当接收到消息“称象”时,切换成空白背景。

脚本如下:

3.角色

把默认的“小猫”角色删除,添加以下4个角色。

第1个角色:船

造型如下:

船角色有6段脚本。

当点击绿色旗帜时,初始化位置并隐藏。

当接收到消息“称重”,显示角色,开始监测水位,用角色船的y坐标值减去角色水的y坐标,如果结果小于-5,船沉没,说“船沉了......”,并广播消息“沉船”。如果结果小于0,水面超过红线标记,发出警告,说:“不能再加石块了,船会沉没。”

当接收到消息“下沉5”,说明添加的是大石块,将船的y坐标增加-5。用角色船的y坐标值减去角色水的y坐标,如果结果大于5,可一直添加大石块,如果结果小于5大于0,预警提示:“接近标记,请更换小石块。”如果结果等于0,说:“到达红线标记,开始称重”,并广播消息:“称重”。

当接收到“下沉1”,说明添加的是小石块,将y坐标增加-1,角色说出当前距离水面的距离,如果用角色船的y坐标值减去角色水的y坐标,结果等于0,说:“到达红线标记,开始称重”,并广播消息:“称重”。

当接收到“称象”,计算大象的重量,假设,大石块重500斤,小石块重100斤。

当接收到“船沉”,重复执行直到角色碰到舞台边缘,在重复体内,角色的y坐标一直增加-2。

第2个角色:大石块

造型如下:

这个角色有4段脚本。

当点击绿色旗帜时,初始化位置并隐藏。

当接收到消息“称象”,显示角色,并将大石块的个数设为0。

当点击角色时,克隆自己。

当作为克隆体启动时,将大石块的个数增加1,在1秒内滑行到船上,广播消息“下沉5”,重复执行,跟随船下沉。

第3个角色:小石块

造型如下:

脚本如下:

第4个角色:水

造型如下:

当点击绿色旗帜时,初始化位置并隐藏。当接收到消息“称象”,将虚像特效设为50,显示角色,并将角色移动最前面。

好了,这个游戏的所有脚本都已经编写完成了,游戏只是人为设计的理想情况,曹冲称象,大象的重量是8690斤,当时曹冲用排水法称出石头重8645斤,加他体重45斤,正好是8690斤,进贡大象的使者带来的礼单上也是这个重量。

小游戏仅供娱乐。

关注公众号“编程小呱”,后台回复“曹冲称象”获取素材。

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(Scratch学语文:曹冲称象)